p.multipartFormData = valueOf(parseParam(paramMap, "multipartFormData", false, "false"));
p.multipartFile = parseParam(paramMap, "multipartFile", false, null);
p.targetEntity = parseParam(paramMap, "targetEntity", false, null);
+ p.disableHostVerification = valueOf(parseParam(paramMap, "disableHostVerification", false, "true"));
return p;
}
protected SSLContext createSSLContext(Parameters p) {
try (FileInputStream in = new FileInputStream(p.keyStoreFileName)) {
- HttpsURLConnection.setDefaultHostnameVerifier(new AcceptIpAddressHostNameVerifier());
+ HttpsURLConnection.setDefaultHostnameVerifier(new AcceptIpAddressHostNameVerifier(p.disableHostVerification));
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
KeyStore ks = KeyStore.getInstance("PKCS12");
char[] pwd = p.keyStorePassword.toCharArray();
import org.glassfish.jersey.media.sse.SseFeature;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.utils.common.AcceptIpAddressHostNameVerifier;
import org.onap.ccsdk.sli.plugins.restapicall.Parameters;
import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;
import org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode;
try {
RestapiCallNode restapi = restconfApiCallNode.getRestapiCallNode();
p = RestapiCallNode.getParameters(paramMap, new Parameters());
- Client client = ignoreSslClient().register(SseFeature.class);
+ Client client = ignoreSslClient(p.disableHostVerification).register(SseFeature.class);
target = restapi.addAuthType(client, p).target(url);
} catch (SvcLogicException e) {
log.error("Exception occured!", e);
// Note: Sonar complains about host name verification being
// disabled here. This is necessary to handle devices using self-signed
// certificates (where CA would be unknown) - so we are leaving this code as is.
- private Client ignoreSslClient() {
+ private Client ignoreSslClient(boolean disableHostVerification) {
SSLContext sslcontext = null;
try {
throw new IllegalStateException(e);
}
- return ClientBuilder.newBuilder().sslContext(sslcontext).hostnameVerifier((s1, s2) -> true).build();
+ return ClientBuilder.newBuilder().sslContext(sslcontext).hostnameVerifier(new AcceptIpAddressHostNameVerifier(disableHostVerification)).build();
}
}