summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java')
-rw-r--r--src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java56
1 files changed, 48 insertions, 8 deletions
diff --git a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java
index df7c8a8..2bec9ad 100644
--- a/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java
+++ b/src/main/java/org/onap/pomba/contextbuilder/networkdiscovery/JerseyConfiguration.java
@@ -17,12 +17,25 @@
*/
package org.onap.pomba.contextbuilder.networkdiscovery;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
import java.util.logging.Logger;
-
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
-
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.logging.LoggingFeature;
import org.glassfish.jersey.server.ResourceConfig;
@@ -33,12 +46,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.MapperFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-
@Component
@ApplicationPath("/")
public class JerseyConfiguration extends ResourceConfig {
@@ -66,4 +73,37 @@ public class JerseyConfiguration extends ResourceConfig {
public Client jerseyClient() {
return ClientBuilder.newClient(new ClientConfig());
}
+
+ @Bean
+ public Client jerseySslClient() throws NoSuchAlgorithmException, KeyManagementException {
+
+ ClientConfig clientConfig = new ClientConfig();
+ TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+
+ public void checkClientTrusted(X509Certificate[] certs, String authType) {
+ }
+
+ public void checkServerTrusted(X509Certificate[] certs, String authType) {
+ }
+ } };
+
+ SSLContext sc = SSLContext.getInstance("TLS");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+
+ ClientBuilder.newClient(clientConfig);
+
+ return ClientBuilder.newBuilder()
+ .sslContext(sc)
+ .hostnameVerifier(new HostnameVerifier() {
+ public boolean verify(String s, SSLSession sslSession) {
+ return true;
+ }
+ })
+ .withConfig(clientConfig).build();
+ }
+
}