Fix Certificate Exception when using BasicAuthRestClientService 85/119685/1
authorClaudio D. Gasparini <claudio.gasparini@intl.att.com>
Tue, 23 Mar 2021 17:39:35 +0000 (18:39 +0100)
committerClaudio David Gasparini <claudio.gasparini@intl.att.com>
Wed, 24 Mar 2021 06:57:28 +0000 (06:57 +0000)
by using TrustAllStrategy

Issue-ID: CCSDK-3234
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@intl.att.com>
Change-Id: I7ee63739b4f1d7a4ddbc618ba660704aa058752a
(cherry picked from commit f13c7c4cb1fd32d5f0d36a909285cab2c4337cf9)

ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BasicAuthRestClientService.kt

index be9b849..5ab8488 100644 (file)
 
 package org.onap.ccsdk.cds.blueprintsprocessor.rest.service
 
+import org.apache.http.conn.ssl.NoopHostnameVerifier
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory
+import org.apache.http.conn.ssl.TrustAllStrategy
+import org.apache.http.impl.client.CloseableHttpClient
+import org.apache.http.impl.client.HttpClients
 import org.apache.http.message.BasicHeader
+import org.apache.http.ssl.SSLContextBuilder
 import org.onap.ccsdk.cds.blueprintsprocessor.rest.BasicAuthRestClientProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.utils.WebClientUtils
 import org.springframework.http.HttpHeaders
 import org.springframework.http.MediaType
 import java.net.URI
@@ -48,6 +55,17 @@ class BasicAuthRestClientService(
         return uri.resolve(uri).toString()
     }
 
+    override fun httpClient(): CloseableHttpClient {
+        val sslContext = SSLContextBuilder.create()
+
+        sslContext.loadTrustMaterial(TrustAllStrategy.INSTANCE)
+        val csf = SSLConnectionSocketFactory(sslContext.build(), NoopHostnameVerifier())
+        return HttpClients.custom()
+            .addInterceptorFirst(WebClientUtils.logRequest())
+            .addInterceptorLast(WebClientUtils.logResponse())
+            .setSSLSocketFactory(csf).build()
+    }
+
     override fun convertToBasicHeaders(headers: Map<String, String>):
         Array<BasicHeader> {
             val customHeaders: MutableMap<String, String> = headers.toMutableMap()