Fix AAI connection issues 88/122988/2
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>
Wed, 7 Jul 2021 12:28:17 +0000 (14:28 +0200)
committerJoanna Jeremicz <joanna.jeremicz@nokia.com>
Mon, 2 Aug 2021 06:21:21 +0000 (08:21 +0200)
Remove "ECOMP" from http headers
Add loading of AAF TrustStore for SslContext

Issue-ID: DCAEGEN2-2831
Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com>
Change-Id: I54dbae61f92361f1a7ecdae5f9dc8f7ab7fee46c

15 files changed:
dcae-analytics/dcae-analytics-model/pom.xml
dcae-analytics/dcae-analytics-model/src/main/java/org/onap/dcae/analytics/model/AnalyticsHttpConstants.java
dcae-analytics/dcae-analytics-tca-core/pom.xml
dcae-analytics/dcae-analytics-tca-model/pom.xml
dcae-analytics/dcae-analytics-tca-web/pom.xml
dcae-analytics/dcae-analytics-test/pom.xml
dcae-analytics/dcae-analytics-web/pom.xml
dcae-analytics/dcae-analytics-web/src/main/java/org/onap/dcae/analytics/web/http/HttpClientPreferencesCustomizer.java
dcae-analytics/pom.xml
eelf-logger/eelf-logger-api/pom.xml
eelf-logger/eelf-logger-logback-impl/pom.xml
eelf-logger/eelf-logger-model/pom.xml
eelf-logger/pom.xml
pom.xml
version.properties

index 28d2180..669e29a 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>dcae-analytics</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>dcae-analytics-model</artifactId>
index 421e158..17b8cb8 100644 (file)
@@ -26,9 +26,9 @@ package org.onap.dcae.analytics.model;
  */
 public abstract class AnalyticsHttpConstants {
 
-    public static final String REQUEST_ID_HEADER_KEY = "X-ECOMP-RequestID";
-    public static final String REQUEST_TRANSACTION_ID_HEADER_KEY = "X-ECOMP-TransactionID";
-    public static final String REQUEST_APP_NAME_HEADER_KEY = "X-ECOMP-FromAppID";
+    public static final String REQUEST_ID_HEADER_KEY = "X-RequestID";
+    public static final String REQUEST_TRANSACTION_ID_HEADER_KEY = "X-TransactionID";
+    public static final String REQUEST_APP_NAME_HEADER_KEY = "X-FromAppID";
     public static final String REQUEST_BEGIN_TS_HEADER_KEY = "X-Begin-Timestamp";
     public static final String REQUEST_END_TS_HEADER_KEY = "X-End-Timestamp";
 
index 9c2b308..09d90e1 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>dcae-analytics</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>dcae-analytics-tca-core</artifactId>
index b9c820a..a24c3fd 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>dcae-analytics</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>dcae-analytics-tca-model</artifactId>
index 1d9a89a..fdee04e 100644 (file)
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>dcae-analytics</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>dcae-analytics-tca-web</artifactId>
index 6530e5c..c705e15 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>dcae-analytics</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>dcae-analytics-test</artifactId>
index e6f7237..c0a20ce 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>dcae-analytics</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>dcae-analytics-web</artifactId>
index c5f66be..73a9539 100644 (file)
@@ -20,6 +20,7 @@
 package org.onap.dcae.analytics.web.http;
 
 
+import java.io.File;
 import java.io.IOException;
 import java.net.URL;
 import java.security.KeyManagementException;
@@ -46,6 +47,8 @@ import org.apache.http.ssl.SSLContextBuilder;
 import org.onap.dcae.analytics.model.AnalyticsHttpConstants;
 import org.onap.dcae.analytics.model.util.function.StringToURLFunction;
 import org.onap.dcae.analytics.web.util.AnalyticsWebUtils;
+import org.onap.dcaegen2.services.sdk.security.ssl.Password;
+import org.onap.dcaegen2.services.sdk.security.ssl.Passwords;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.web.client.RestTemplateCustomizer;
@@ -221,6 +224,7 @@ public class HttpClientPreferencesCustomizer<T extends HttpClientPreferences> im
 
         if (!ignoreSSLValidation) {
             logger.info("SSL Validation will be enforced for Http Client Id: {}", httpClientId);
+            setSslContextFromEnvironment(httpClientBuilder);
             return;
         }
 
@@ -236,6 +240,30 @@ public class HttpClientPreferencesCustomizer<T extends HttpClientPreferences> im
 
     }
 
+    private void setSslContextFromEnvironment(HttpClientBuilder httpClientBuilder) {
+        final String caCertPath = System.getenv("DCAE_CA_CERTPATH");
+        if (!StringUtils.hasText(caCertPath)) {
+            return;
+        }
+        final SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
+        final String truststoreFilename = "trust.jks";
+        final String truststorePassFilename = "trust.pass";
+        final String certDirPath = caCertPath.substring(0, caCertPath.lastIndexOf("/"));
+        final File truststoreFile = new File(certDirPath, truststoreFilename);
+        final File truststorePassFile = new File(certDirPath, truststorePassFilename);
+        final Password password = Passwords.fromFile(truststorePassFile);
+        password.use(chars -> {
+            try {
+                sslContextBuilder.loadTrustMaterial(truststoreFile, chars);
+                httpClientBuilder.setSSLContext(sslContextBuilder.build());
+            } catch (NoSuchAlgorithmException | KeyStoreException | CertificateException | IOException |
+                KeyManagementException e) {
+                logger.warn("Could not load trusted certificates from environment");
+            }
+            return null;
+        });
+    }
+
 
     /**
      * Header Request Interceptor adds defaults headers if not set explicitly
index 5a6311e..4b49e2a 100644 (file)
@@ -27,7 +27,7 @@
        <parent>
                <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
                <artifactId>tca-gen2-parent</artifactId>
-               <version>1.2.1-SNAPSHOT</version>
+               <version>1.2.2-SNAPSHOT</version>
        </parent>
 
     <artifactId>dcae-analytics</artifactId>
index d5a9987..c827e98 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>eelf-logger</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>eelf-logger-api</artifactId>
index cc6e89d..3e1e43b 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
                <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>eelf-logger</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>eelf-logger-logback-impl</artifactId>
index 75038f8..45fd2c2 100644 (file)
@@ -27,7 +27,7 @@
     <parent>
                <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
         <artifactId>eelf-logger</artifactId>
-        <version>1.2.1-SNAPSHOT</version>
+        <version>1.2.2-SNAPSHOT</version>
     </parent>
 
     <artifactId>eelf-logger-model</artifactId>
index b68d308..c8ab5fd 100644 (file)
@@ -26,7 +26,7 @@
        <parent>
                <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
                <artifactId>tca-gen2-parent</artifactId>
-               <version>1.2.1-SNAPSHOT</version>
+               <version>1.2.2-SNAPSHOT</version>
        </parent>
 
     <artifactId>eelf-logger</artifactId>
diff --git a/pom.xml b/pom.xml
index e187db9..581c587 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
 
     <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
     <artifactId>tca-gen2-parent</artifactId>
-    <version>1.2.1-SNAPSHOT</version>
+    <version>1.2.2-SNAPSHOT</version>
 
     <name>dcaegen2-analytics-tca-gen2</name>
     <packaging>pom</packaging>
index 755adf7..152260f 100644 (file)
@@ -1,6 +1,6 @@
 major=1
 minor=2
-patch=1
+patch=2
 base_version=${major}.${minor}.${patch}
 release_version=${base_version}
 snapshot_version=${base_version}-SNAPSHOT