Improve readability of logs for positive path
authormharazin <mateusz.harazin@nokia.com>
Wed, 18 Mar 2020 09:06:22 +0000 (10:06 +0100)
committermharazin <mateusz.harazin@nokia.com>
Mon, 23 Mar 2020 08:30:07 +0000 (09:30 +0100)
Issue-ID: AAF-1107
Signed-off-by: Mateusz Harazin <mateusz.harazin@nokia.com>
Change-Id: If6501ad59955cac6611bc233d3fcd4ef95829b66

certServiceClient/README.md
certServiceClient/src/main/java/org/onap/aaf/certservice/client/certification/CsrFactory.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/certification/KeyPairFactory.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/certification/PrivateKeyToPemEncoder.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/certification/conversion/PKCS12FilesCreator.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/certification/conversion/PemToPKCS12Converter.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/factory/ClientConfigurationFactory.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/factory/CsrConfigurationFactory.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/model/ClientConfiguration.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/model/CsrConfiguration.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/httpclient/HttpClient.java

index 111db8f..1252021 100644 (file)
@@ -76,4 +76,3 @@ docker logs aaf-certservice-client
 6      Internal HTTP Client connection problem
 7      Fail in PKCS12 conversion
 8      Fail in Private Key to PEM Encoding
-```
index b536127..a7fb3f3 100644 (file)
@@ -54,7 +54,7 @@ import static org.onap.aaf.certservice.client.certification.EncryptionAlgorithmC
 
 public class CsrFactory {
 
-    private final Logger LOGGER = LoggerFactory.getLogger(CsrFactory.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(CsrFactory.class);
     private static final String SANS_DELIMITER = ":";
     private final CsrConfiguration configuration;
 
@@ -65,13 +65,14 @@ public class CsrFactory {
 
 
     public String createCsrInPem(KeyPair keyPair) throws CsrGenerationException {
-        PKCS10CertificationRequest request;
+        LOGGER.info("Creation of CSR has been started with following parameters: {}", configuration.toString());
         String csrParameters = getMandatoryParameters().append(getOptionalParameters()).toString();
         X500Principal subject = new X500Principal(csrParameters);
-        request = createPKCS10Csr(subject, keyPair);
-        return convertPKC10CsrToPem(request);
-    }
+        PKCS10CertificationRequest request = createPKCS10Csr(subject, keyPair);
 
+        LOGGER.info("Creation of CSR has been completed successfully");
+        return convertPKCS10CsrToPem(request);
+    }
 
     private StringBuilder getMandatoryParameters() {
         return new StringBuilder(String.format("%s=%s, %s=%s, %s=%s, %s=%s",
@@ -114,9 +115,10 @@ public class CsrFactory {
         return contentSigner;
     }
 
-    private String convertPKC10CsrToPem(PKCS10CertificationRequest request) throws CsrGenerationException {
+    private String convertPKCS10CsrToPem(PKCS10CertificationRequest request) throws CsrGenerationException {
         final StringWriter stringWriter = new StringWriter();
         try (JcaPEMWriter pemWriter = new JcaPEMWriter(stringWriter)) {
+            LOGGER.info("Conversion of CSR to PEM has been started");
             pemWriter.writeObject(request);
         } catch (IOException e) {
             LOGGER.error("Conversion to PEM failed, exception message: {}", e.getMessage());
index 5d56f08..988d37d 100644 (file)
@@ -39,6 +39,7 @@ public class KeyPairFactory {
 
     public KeyPair create() throws KeyPairGenerationException {
         try {
+            LOGGER.info("KeyPair generation started with algorithm: {} and key size: {}", encryptionAlgorithm, keySize);
             return createKeyPairGenerator().generateKeyPair();
         } catch (NoSuchAlgorithmException e) {
             LOGGER.error("Generation of KeyPair failed, exception message: {}" , e.getMessage());
index 4e88a80..7391b11 100644 (file)
@@ -34,11 +34,11 @@ import org.slf4j.LoggerFactory;
 
 public class PrivateKeyToPemEncoder {
 
-    public static final String PEM_OBJECT_TYPE = "RSA PRIVATE KEY";
-    private final Logger LOGGER = LoggerFactory.getLogger(PrivateKeyToPemEncoder.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(PrivateKeyToPemEncoder.class);
+    private static final String PEM_OBJECT_TYPE = "RSA PRIVATE KEY";
 
     public String encodePrivateKeyToPem(PrivateKey pk) throws PkEncodingException {
-        LOGGER.info("Encoding PrivateKey to PEM");
+        LOGGER.info("Attempt to encode private key to PEM");
         StringWriter stringWriter = new StringWriter();
         try (JcaPEMWriter pemWriter = new JcaPEMWriter(stringWriter)) {
             pemWriter.writeObject(new PemObject(PEM_OBJECT_TYPE, pk.getEncoded()));
index 8e6fb89..9b0cfb7 100644 (file)
@@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory;
 
 class PKCS12FilesCreator {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(PKCS12FilesCreator.class);
     private static final String KEYSTORE_JKS = "keystore.jks";
     private static final String KEYSTORE_PASS = "keystore.pass";
     private static final String TRUSTSTORE_JKS = "truststore.jks";
@@ -37,7 +38,6 @@ class PKCS12FilesCreator {
     private final String keystorePassPath;
     private final String truststoreJksPath;
     private final String truststorePassPath;
-    private final Logger LOGGER = LoggerFactory.getLogger(PKCS12FilesCreator.class);
 
 
     PKCS12FilesCreator(String path) {
@@ -48,7 +48,7 @@ class PKCS12FilesCreator {
     }
 
     void saveKeystoreData(byte[] keystoreData, String keystorePassword) throws PemToPKCS12ConverterException {
-        LOGGER.debug("Creating PKCS12 keystore files and saving data. Keystore path: {}", keystoreJksPath);
+        LOGGER.debug("Attempt to create PKCS12 keystore files and saving data. Keystore path: {}", keystoreJksPath);
 
         saveDataToLocation(keystoreData, keystoreJksPath);
         saveDataToLocation(keystorePassword.getBytes(), keystorePassPath);
@@ -56,7 +56,7 @@ class PKCS12FilesCreator {
 
     void saveTruststoreData(byte[] truststoreData, String truststorePassword)
         throws PemToPKCS12ConverterException {
-        LOGGER.debug("Creating PKCS12 truststore files and saving data. Truststore path: {}", truststoreJksPath);
+        LOGGER.debug("Attempt to create PKCS12 truststore files and saving data. Truststore path: {}", truststoreJksPath);
 
         saveDataToLocation(truststoreData, truststoreJksPath);
         saveDataToLocation(truststorePassword.getBytes(), truststorePassPath);
index 8c794e7..ef1666d 100644 (file)
@@ -41,20 +41,20 @@ import org.slf4j.LoggerFactory;
 
 class PemToPKCS12Converter {
 
-    private final static String PKCS12 = "PKCS12";
-    private final static String PASSWORD_ERROR_MSG = "Password should be min. 16 chars long and should contain only alphanumeric characters and special characters like Underscore (_), Dollar ($) and Pound (#)";
+    private static final Logger LOGGER = LoggerFactory.getLogger(PemToPKCS12Converter.class);
+    private static final String PKCS12 = "PKCS12";
+    private static final String PASSWORD_ERROR_MSG = "Password should be min. 16 chars long and should contain only alphanumeric characters and special characters like Underscore (_), Dollar ($) and Pound (#)";
     private final LoadStoreParameter EMPTY_KEYSTORE_CONFIGURATION = null;
-    private final Logger LOGGER = LoggerFactory.getLogger(PemToPKCS12Converter.class);
 
     byte[] convertKeystore(List<String> certificateChain, Password password, String alias, PrivateKey privateKey)
         throws PemToPKCS12ConverterException {
-        LOGGER.debug("Converting PEM certificates to PKCS12 keystore.");
+        LOGGER.info("Conversion of PEM certificates to PKCS12 keystore");
         return convert(certificateChain, password, certs -> getKeyStore(alias, password, certs, privateKey));
     }
 
     byte[] convertTruststore(List<String> trustAnchors, Password password, String alias)
         throws PemToPKCS12ConverterException {
-        LOGGER.debug("Converting PEM certificates to PKCS12 truststore.");
+        LOGGER.info("Conversion of PEM certificates to PKCS12 truststore");
         return convert(trustAnchors, password, certs -> getTrustStore(alias, certs));
     }
 
index 26a2b1b..a03ded6 100644 (file)
@@ -24,9 +24,12 @@ import org.onap.aaf.certservice.client.configuration.ClientConfigurationEnvs;
 import org.onap.aaf.certservice.client.configuration.EnvsForClient;
 import org.onap.aaf.certservice.client.configuration.exception.ClientConfigurationException;
 import org.onap.aaf.certservice.client.configuration.model.ClientConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ClientConfigurationFactory extends AbstractConfigurationFactory<ClientConfiguration> {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(ClientConfigurationFactory.class);
     private final EnvsForClient envsForClient;
 
     public ClientConfigurationFactory(EnvsForClient envsForClient) {
@@ -54,6 +57,8 @@ public class ClientConfigurationFactory extends AbstractConfigurationFactory<Cli
                 .map(configuration::setCaName)
                 .orElseThrow(() -> new ClientConfigurationException(ClientConfigurationEnvs.CA_NAME + " is invalid."));
 
+        LOGGER.info("Successful validation of Client configuration. Configuration data: {}", configuration.toString());
+
         return configuration;
     }
 }
index a6e8618..a94c906 100644 (file)
@@ -24,9 +24,12 @@ import org.onap.aaf.certservice.client.configuration.CsrConfigurationEnvs;
 import org.onap.aaf.certservice.client.configuration.EnvsForCsr;
 import org.onap.aaf.certservice.client.configuration.exception.CsrConfigurationException;
 import org.onap.aaf.certservice.client.configuration.model.CsrConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class CsrConfigurationFactory extends AbstractConfigurationFactory<CsrConfiguration> {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(CsrConfigurationFactory.class);
     private final EnvsForCsr envsForCsr;
 
 
@@ -67,6 +70,8 @@ public class CsrConfigurationFactory extends AbstractConfigurationFactory<CsrCon
         envsForCsr.getSubjectAlternativesName()
                 .map(configuration::setSubjectAlternativeNames);
 
+        LOGGER.info("Successful validation of CSR configuration. Configuration data: {}", configuration.toString());
+
         return configuration;
     }
 }
index d1c1c68..ff2db83 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.onap.aaf.certservice.client.configuration.model;
 
+import org.onap.aaf.certservice.client.configuration.ClientConfigurationEnvs;
+
 public class ClientConfiguration implements ConfigurationModel {
 
     private static final Integer DEFAULT_TIMEOUT_MS = 30000;
@@ -72,4 +74,13 @@ public class ClientConfiguration implements ConfigurationModel {
         this.caName = caName;
         return this;
     }
+
+    @Override
+    public String toString() {
+        return String.format("%s: %s, %s: %s, %s: %s, %s: %s",
+                ClientConfigurationEnvs.REQUEST_URL, urlToCertService,
+                ClientConfigurationEnvs.REQUEST_TIMEOUT, requestTimeout,
+                ClientConfigurationEnvs.OUTPUT_PATH, certsOutputPath,
+                ClientConfigurationEnvs.CA_NAME, caName);
+    }
 }
index aaaf10f..55f33c9 100644 (file)
@@ -21,6 +21,8 @@
 package org.onap.aaf.certservice.client.configuration.model;
 
 
+import org.onap.aaf.certservice.client.configuration.CsrConfigurationEnvs;
+
 public class CsrConfiguration implements ConfigurationModel {
 
     private String commonName;
@@ -94,4 +96,16 @@ public class CsrConfiguration implements ConfigurationModel {
         this.sans = subjectAlternativeNames;
         return this;
     }
+
+    @Override
+    public String toString() {
+        return String.format("%s: %s, %s: %s, %s: %s, %s: %s, %s: %s, %s: %s, %s: %s",
+                CsrConfigurationEnvs.COMMON_NAME, commonName,
+                CsrConfigurationEnvs.COUNTRY, country,
+                CsrConfigurationEnvs.STATE, state,
+                CsrConfigurationEnvs.ORGANIZATION, organization,
+                CsrConfigurationEnvs.ORGANIZATION_UNIT, organizationUnit,
+                CsrConfigurationEnvs.LOCATION, location,
+                CsrConfigurationEnvs.SANS, sans);
+    }
 }
index 0cb8805..7512830 100644 (file)
@@ -38,12 +38,11 @@ import java.io.IOException;
 
 public class HttpClient {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(HttpClient.class);
     private static final String CSR_HEADER_NAME = "CSR";
     private static final String PK_HEADER_NAME = "PK";
     private static final String CHARSET_UTF_8 = "UTF-8";
 
-    private final Logger LOGGER = LoggerFactory.getLogger(HttpClient.class);
-
     private final Gson gson = new Gson();
     private final CloseableHttpClientProvider httpClientProvider;
     private final String certServiceAddress;
@@ -57,7 +56,7 @@ public class HttpClient {
             throws CertServiceApiResponseException, HttpClientException {
 
         try (CloseableHttpClient httpClient = httpClientProvider.getClient()) {
-            LOGGER.info("Sending request to API. Url: {}{} ", certServiceAddress, caName);
+            LOGGER.info("Attempt to send request to API, on url: {}{} ", certServiceAddress, caName);
             HttpResponse httpResponse = httpClient.execute(createHttpRequest(caName, csr, encodedPk));
             LOGGER.info("Received response from API");
             return extractCertServiceResponse(httpResponse);