Enable ssl-disable option for xNF simulator 39/65539/3
authorFilip Krzywka <filip.krzywka@nokia.com>
Mon, 10 Sep 2018 09:35:13 +0000 (11:35 +0200)
committerFilip Krzywka <filip.krzywka@nokia.com>
Tue, 11 Sep 2018 07:42:40 +0000 (07:42 +0000)
Change-Id: I8d4459c4b612e6066ae0da9521333fc3083952d3
Issue-ID: DCAEGEN2-760
Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/adapters/VesHvClient.kt

index 22e47d7..d1a5296 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.onap.dcae.collectors.veshv.simulators.xnf.impl.adapters
 
+import arrow.core.Option
 import io.netty.handler.ssl.ClientAuth
 import io.netty.handler.ssl.SslContext
 import io.netty.handler.ssl.SslContextBuilder
@@ -48,7 +49,7 @@ class VesHvClient(private val configuration: SimulatorConfiguration) {
             .options { opts ->
                 opts.host(configuration.vesHost)
                         .port(configuration.vesPort)
-                        .sslContext(createSslContext(configuration.security))
+                        .sslContext(createSslContext(configuration.security).orNull())
             }
             .build()
 
@@ -92,13 +93,19 @@ class VesHvClient(private val configuration: SimulatorConfiguration) {
                 .then()
     }
 
-    private fun createSslContext(config: SecurityConfiguration): SslContext =
-            SslContextBuilder.forClient()
-                    .keyManager(config.cert.toFile(), config.privateKey.toFile())
-                    .trustManager(config.trustedCert.toFile())
-                    .sslProvider(SslProvider.OPENSSL)
-                    .clientAuth(ClientAuth.REQUIRE)
-                    .build()
+    private fun createSslContext(config: SecurityConfiguration): Option<SslContext> =
+            if (config.sslDisable) {
+                Option.empty()
+            } else {
+                Option.just(
+                        SslContextBuilder.forClient()
+                                .keyManager(config.cert.toFile(), config.privateKey.toFile())
+                                .trustManager(config.trustedCert.toFile())
+                                .sslProvider(SslProvider.OPENSSL)
+                                .clientAuth(ClientAuth.REQUIRE)
+                                .build()
+                )
+            }
 
     private fun NettyOutbound.logConnectionClosed(): NettyOutbound {
         context().onClose {