X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=sdnc-a1-controller%2Fnorthbound%2Fnonrt-ric-api%2Fprovider%2Fsrc%2Fmain%2Fjava%2Forg%2Fo_ran_sc%2Fnonrtric%2Fsdnc_a1%2Fnorthbound%2Frestadapter%2FRestAdapterImpl.java;h=d2e602ffbe4017e6a812d2faa02c91d6d9b0a271;hb=ef04b3c0530ddcdcd089ba6aa9a52f4f854761dc;hp=928b65fea3f5a095f15fbf65ff00211e6f04fa9e;hpb=53cbab9c2d4b2c3fcf63d9da774844cf7917d087;p=nonrtric.git diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/restadapter/RestAdapterImpl.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/restadapter/RestAdapterImpl.java index 928b65fe..d2e602ff 100644 --- a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/restadapter/RestAdapterImpl.java +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/restadapter/RestAdapterImpl.java @@ -20,7 +20,7 @@ package org.o_ran_sc.nonrtric.sdnc_a1.northbound.restadapter; -import java.io.FileNotFoundException; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; @@ -36,6 +36,7 @@ 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.HttpClients; +import org.apache.http.ssl.SSLContextBuilder; import org.apache.http.ssl.SSLContexts; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,7 +59,6 @@ import org.springframework.web.client.RestTemplate; public class RestAdapterImpl implements RestAdapter { - private static final String PROPERTIES_FILE = "nonrt-ric-api-provider.properties"; private final Logger log = LoggerFactory.getLogger(RestAdapterImpl.class); private RestTemplate restTemplateHttp; @@ -76,24 +76,26 @@ public class RestAdapterImpl implements RestAdapter { private RestTemplate createRestTemplateForHttps() throws IOException, UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException { - InputStream inputStream = RestAdapterImpl.class.getClassLoader().getResourceAsStream(PROPERTIES_FILE); - if (inputStream == null) { - throw new FileNotFoundException("properties file not found in classpath"); - } else { + try (InputStream inputStream = new FileInputStream(ResourceUtils.getFile("/opt/onap/sdnc/data/properties/https-props.properties"))) { Properties properties = new Properties(); properties.load(inputStream); - final String keystorePassword = properties.getProperty("key-store-password"); - SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory( - SSLContexts.custom() - .loadKeyMaterial(ResourceUtils.getFile(properties.getProperty("key-store")), - keystorePassword.toCharArray(), keystorePassword.toCharArray()) - .loadTrustMaterial(null, new TrustAllStrategy()) - .build(), - NoopHostnameVerifier.INSTANCE); + final String keyPassword = properties.getProperty("key-password"); + final String keystorePassword = properties.getProperty("keystore-password"); + final String truststorePassword = properties.getProperty("truststore-password"); + final boolean isTrustStoreUsed = Boolean.parseBoolean(properties.getProperty("isTrustStoreUsed")); + SSLContextBuilder builder = SSLContexts.custom() + .loadKeyMaterial(ResourceUtils.getFile(properties.getProperty("key-store")), + keystorePassword.toCharArray(), keyPassword.toCharArray()); + if (isTrustStoreUsed) { + builder.loadTrustMaterial(ResourceUtils.getFile(properties.getProperty("trust-store")), + truststorePassword.toCharArray()); + } else { + builder.loadTrustMaterial(null, new TrustAllStrategy()); + } + SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory(builder.build(), NoopHostnameVerifier.INSTANCE); HttpClient client = HttpClients.custom().setSSLSocketFactory(scsf).build(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(client); - inputStream.close(); return new RestTemplate(requestFactory); } }