From e01af69c31f9a9dfebb591af0b35f420c247c8e7 Mon Sep 17 00:00:00 2001 From: RehanRaza Date: Thu, 30 Apr 2020 14:04:57 +0200 Subject: [PATCH] Add https support in A1 controller Add self-signed cert for NBI and SBI Remove ONAP signed certs Change-Id: I733cb48bf37cb124a330f9a2734920fda010de57 Issue-ID: NONRTRIC-196 Signed-off-by: RehanRaza --- .../northbound/nonrt-ric-api/provider/pom.xml | 4 + .../northbound/restadapter/RestAdapterImpl.java | 77 +++++++- .../resources/nonrt-ric-api-provider.properties | 20 ++ .../oam/installation/sdnc-a1/pom.xml | 26 +-- .../sdnc-a1/src/main/docker/standalone.Dockerfile | 20 +- .../sdnc-a1/src/main/resources/keystore.jks | Bin 0 -> 2581 bytes .../src/main/resources/truststoreONAPall.jks | Bin 117990 -> 0 bytes .../sdnc-a1/src/main/scripts/addSdncKeyStore.sh | 11 -- .../sdnc-a1/src/main/scripts/healthcheck.py | 68 +++++++ .../sdnc-a1/src/main/scripts/installCerts.py | 202 --------------------- .../sdnc-a1/src/main/scripts/startODL.sh | 6 +- .../src/main/properties/org.onap.sdnc.cred.props | 17 -- .../src/main/properties/org.onap.sdnc.props | 15 -- .../installation/src/main/stores/keystore.sdnc.p12 | Bin 2605 -> 0 bytes .../src/main/stores/org.onap.sdnc.keyfile | 27 --- .../installation/src/main/stores/org.onap.sdnc.p12 | Bin 4311 -> 0 bytes .../src/main/stores/org.onap.sdnc.trust.jks | Bin 1413 -> 0 bytes .../src/main/stores/truststore.onap.client.jks | Bin 117990 -> 0 bytes .../main/stores/truststore.openecomp.client.jks | Bin 3168 -> 0 bytes .../installation/src/main/yaml/docker-compose.yml | 1 + 20 files changed, 176 insertions(+), 318 deletions(-) create mode 100644 sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/nonrt-ric-api-provider.properties create mode 100644 sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources/keystore.jks delete mode 100755 sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources/truststoreONAPall.jks delete mode 100755 sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/addSdncKeyStore.sh create mode 100644 sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/healthcheck.py delete mode 100644 sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/installCerts.py delete mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.cred.props delete mode 100644 sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.props delete mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/keystore.sdnc.p12 delete mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.keyfile delete mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.p12 delete mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.trust.jks delete mode 100755 sdnc-a1-controller/oam/installation/src/main/stores/truststore.onap.client.jks delete mode 100644 sdnc-a1-controller/oam/installation/src/main/stores/truststore.openecomp.client.jks diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml index da53f920..02e32e70 100644 --- a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml @@ -115,6 +115,10 @@ org.apache.commons commons-lang3 + + org.apache.httpcomponents + httpclient + org.onap.ccsdk.sli.core sli-common 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 65809836..d317e56a 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,11 +20,33 @@ package org.o_ran_sc.nonrtric.sdnc_a1.northbound.restadapter; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.security.KeyManagementException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; +import java.util.Properties; +import org.apache.http.client.HttpClient; +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.conn.ssl.TrustSelfSignedStrategy; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.ssl.SSLContexts; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.util.ResourceUtils; import org.springframework.web.client.RestTemplate; /** @@ -36,10 +58,44 @@ import org.springframework.web.client.RestTemplate; public class RestAdapterImpl implements RestAdapter { - private RestTemplate restTemplate; + private static final String PROPERTIES_FILE = "nonrt-ric-api-provider.properties"; + private final Logger log = LoggerFactory.getLogger(RestAdapterImpl.class); + + private RestTemplate restTemplateHttp; + private RestTemplate restTemplateHttps; public RestAdapterImpl() { - restTemplate = new RestTemplate(); + restTemplateHttp = new RestTemplate(); + try { + restTemplateHttps = createRestTemplateForHttps(); + } catch (IOException | UnrecoverableKeyException | KeyManagementException | CertificateException + | NoSuchAlgorithmException | KeyStoreException ex) { + log.error("Caught exception when trying to create restTemplateHttps: {}", ex.getMessage()); + } + } + + 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 { + 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 TrustSelfSignedStrategy()) + .build(), + NoopHostnameVerifier.INSTANCE); + HttpClient client = HttpClients.custom().setSSLSocketFactory(scsf).build(); + HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); + requestFactory.setHttpClient(client); + inputStream.close(); + return new RestTemplate(requestFactory); + } } private HttpEntity getHttpEntity(final Object object) { @@ -69,6 +125,19 @@ public class RestAdapterImpl implements RestAdapter { @SuppressWarnings("unchecked") private ResponseEntity invokeHttpRequest(String uri, HttpMethod httpMethod, Class clazz, HttpEntity entity) { - return (ResponseEntity) restTemplate.exchange(uri, httpMethod, entity, clazz); + try { + URL url = new URL(uri); + if (url.getProtocol().equals("https")) { + return (ResponseEntity) restTemplateHttps.exchange(uri, httpMethod, entity, clazz); + } else if (url.getProtocol().equals("http")) { + return (ResponseEntity) restTemplateHttp.exchange(uri, httpMethod, entity, clazz); + } else { + log.error("Invalid protocol in URL"); + return new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } + } catch (MalformedURLException ex) { + log.error("URL is not valid, exception: {}", ex.getMessage()); + return new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } } -} +} \ No newline at end of file diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/nonrt-ric-api-provider.properties b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/nonrt-ric-api-provider.properties new file mode 100644 index 00000000..6a066a6d --- /dev/null +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/resources/nonrt-ric-api-provider.properties @@ -0,0 +1,20 @@ +# ========================LICENSE_START================================= +# O-RAN-SC +# %% +# Copyright (C) 2020 Nordix Foundation +# %% +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ========================LICENSE_END=================================== + +key-store-password = sdnc-a1-controller +key-store = /etc/ssl/certs/java/keystore.jks \ No newline at end of file diff --git a/sdnc-a1-controller/oam/installation/sdnc-a1/pom.xml b/sdnc-a1-controller/oam/installation/sdnc-a1/pom.xml index bf8bfe31..3e0b4680 100644 --- a/sdnc-a1-controller/oam/installation/sdnc-a1/pom.xml +++ b/sdnc-a1-controller/oam/installation/sdnc-a1/pom.xml @@ -42,9 +42,6 @@ ${maven.build.timestamp} 1.7.3-SNAPSHOT 0.6.3 - org.onap.sdnc.p12 - - 8443 deploy @@ -194,7 +191,7 @@ src/main/resources idmlight.db.mv.db - truststoreONAPall.jks + keystore.jks aaa-app-config.xml false @@ -242,27 +239,6 @@ - - copy-keystores - - copy-resources - - validate - - ${basedir}/target/docker-stage/opt/onap/sdnc/data/stores - - - ../src/main/stores - - *.jks - *.keyfile - *.p12 - - false - - - - diff --git a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/docker/standalone.Dockerfile b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/docker/standalone.Dockerfile index 3077ee5a..80262ff3 100755 --- a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/docker/standalone.Dockerfile +++ b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/docker/standalone.Dockerfile @@ -25,13 +25,11 @@ MAINTAINER O-RAN-SC NONRTRIC Team ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk ENV ODL_HOME /opt/opendaylight ENV SDNC_CONFIG_DIR /opt/onap/sdnc/data/properties -ENV SDNC_STORE_DIR /opt/onap/sdnc/data/stores -ENV SSL_CERTS_DIR /etc/ssl/certs -ENV JAVA_SECURITY_DIR $SSL_CERTS_DIR/java +ENV JAVA_SECURITY_DIR /etc/ssl/certs/java ENV SDNC_NORTHBOUND_REPO mvn:org.o-ran-sc.nonrtric.sdnc-a1.northbound/sdnc-a1-northbound-all/${sdnc.northbound.version}/xml/features -ENV SDNC_KEYSTORE ${sdnc.keystore} -ENV SDNC_KEYPASS ${sdnc.keypass} -ENV SDNC_SECUREPORT ${sdnc.secureport} +ENV SDNC_KEYSTORE keystore.jks +ENV SDNC_KEYPASS sdnc-a1-controller +ENV SDNC_SECUREPORT 8443 USER root @@ -43,15 +41,13 @@ RUN sed -i -e "\|featuresRepositories|s|$|,${SDNC_NORTHBOUND_REPO}|" $ODL_HOME/ RUN sed -i -e "\|featuresBoot[^a-zA-Z]|s|$|,sdnc-a1-northbound-all|" $ODL_HOME/etc/org.apache.karaf.features.cfg RUN sed -i "s/odl-restconf-all/odl-restconf-all,odl-netconf-topology/g" $ODL_HOME/etc/org.apache.karaf.features.cfg -# Install ssl and java certificates -COPY truststoreONAPall.jks $JAVA_SECURITY_DIR -COPY truststoreONAPall.jks $SDNC_STORE_DIR -RUN keytool -importkeystore -srckeystore $JAVA_SECURITY_DIR/truststoreONAPall.jks -srcstorepass changeit -destkeystore $JAVA_SECURITY_DIR/cacerts -deststorepass changeit +# Install java certificate +COPY $SDNC_KEYSTORE $JAVA_SECURITY_DIR # Secure with TLS RUN echo org.osgi.service.http.secure.enabled=true >> $ODL_HOME/etc/custom.properties RUN echo org.osgi.service.http.secure.port=$SDNC_SECUREPORT >> $ODL_HOME/etc/custom.properties -RUN echo org.ops4j.pax.web.ssl.keystore=$SDNC_STORE_DIR/$SDNC_KEYSTORE >> $ODL_HOME/etc/custom.properties +RUN echo org.ops4j.pax.web.ssl.keystore=$JAVA_SECURITY_DIR/$SDNC_KEYSTORE >> $ODL_HOME/etc/custom.properties RUN echo org.ops4j.pax.web.ssl.password=$SDNC_KEYPASS >> $ODL_HOME/etc/custom.properties RUN echo org.ops4j.pax.web.ssl.keypassword=$SDNC_KEYPASS >> $ODL_HOME/etc/custom.properties @@ -60,4 +56,4 @@ RUN chown -R odl:odl /opt USER odl ENTRYPOINT /opt/onap/sdnc/bin/startODL.sh -EXPOSE 8181 +EXPOSE 8181 $SDNC_SECUREPORT diff --git a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources/keystore.jks b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources/keystore.jks new file mode 100644 index 0000000000000000000000000000000000000000..705b28457a4fb5b0668accd595c956ae854fb711 GIT binary patch literal 2581 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 literal 0 HcmV?d00001 diff --git a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources/truststoreONAPall.jks b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/resources/truststoreONAPall.jks deleted file mode 100755 index ff844b109d97cf4c452c1a275c50ca5e8acd59af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117990 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%0AYaa!x7y2Y^_tn<>Az=|4 zLmm=!xOQkMC31ojFAQWf!!lR3COx-CK^aIDfn;iES1K)%=hI>DJyxnKZwl4jrWNsp zE3u4j8T<@O;>b<&^=Jyk%>+#xHU9Lp5|`@;6O|+q4L;10 zPW_AHr&*kIH%?QHVl0)3=oaDjH(0n@j-53YkZqpj0g&cCQ6gE1_$}1hCm+uOphCP+ zQ3se2v}J`+1vmW+R;i|Y7SNdBD+JYNqV`3C;HA@0kb7l>d^T%Nd!x+42#Y_wB+Y?9 zK)|E-*Jjm`3}-?QPII1=I35))_bf7J3a&_@SZrbFOh4GuEAYRzL4e70?lVY!Z!-V| z(x0P~`J(TB16~f`43hzn5v&(}0}-P8^~m~|4`u&VhjAX3lw5Hb|IaA4E*l)sSft+q zm`my~;7$G&V;DOS!GKekOUAJCLy+J9uDA2IxR81Ek!8L#SBd9X(_dSv2_m>f@E<5k zZQy0lg+_B)!?7_-8ScrzH2H{gl{@q`Xdya{O$Ld7jnkl>*X4?~AJTRZBbl7q)*e14 zYT&EtEzRi@&qpo0jwAHK^KQJ$MD8`7FoN)!`@>6YcIxSIh80hX&Jzir3Y5cLnLo^NPiEW*Cw#$$(Os}i4B)3rA`e5lXHUPX;{Wn{G23=TFaEx$cz<>4wD z&v#jU8Yrfd5RYOBKX;QPnPR-8g>yP5llrS;l`F}d%{rqgqjKP&M0`K-$_hKl3@}8N zQ{;a$m78T|Hq&^0b+)1G#5jnAKffDpF7T_>niU~`dv>MhaRj2E9)fbGVcRIILsOga z@n&7px0@6_~ITnY{QM8`}3bBR_TH;^@MBchRZE@|ZVq!XZz#XR#-dVdl zr?X#VM#MBT)s1=t1XeiJ@2sQskoPg%N}xl(aIF52mOvlJ^pAa>T5q2Pdf>lDET#3qi~01o)FdQ$QzAVhRWl{gk+H&-5upn`)luK1@_ZaRP7e^ zvkMSkY;N4~?%>>+!C&7oTX|Y1v4A+&BaZ$G56vx3!joN3?;)dkM2l2Ra+*N%X7B!( ze|#Y4P$L(Qx+CjdDW)R4TqC6oB*;?VO_xW#S!6rD*UDck8~d7#Q__E`<<&`EyPm(; zARtQUoNE8n+*(mbX5i~Fn$9Yt)Ehs(I}lY)Rz~EXStSs7(LUMV6Smh98nhBEbQYjx zfwFONe1I4wZPd|0sS%%`%h?iji1dXq!;tuMsrPIiD`|Ck=e;1Bqg>0XDI?I(b^>>W zDT@#6mv=R{k`pp8iBXA>EXmG2jDCDluTEdc5 z!Dy|cyA{y~-esNMw4#tP1$l_GNz2Fltmw2*kUq(4`OmVAA9)-|@8T5pt#*lT2)U>1 zdN~O4?UBUfNQdeB)mi^1QuKyXg`4+H~Lgb>XLRhUPDaDMd!v z z6=rOMx@dN^F!=$K(yHJg7P?&w65F!2b{gf=_)iH?mi4Q_W0jSsT`#?@bQwCuY!UXM ztPY1C)iD(lA>{KmAQ@`*%|9n^hb%o`(?5e20g;}cGor>H!oV;jK)sd#sHQ+dVHnu= z%0%iVOVGW0mN%(**Ynrq{NFXK3*ZuY|9xEIUk>ZCk^lR{y60sVUS4pQ=R10l{U^f6 z|6je?zbn){MM8Zw#yD;Ef@vl3#_W^Eg=caxl?Lkk>K3=#@mu1&kjJnf((1Qcr3EGR$%E*}VyjT)(nP}6hC^I9_7ha_*~*$kJM3O$Tm2pr}5N^z(C5L3TE55{Mg@H4fj z0eYKktzg)>)A(h%pW~T0XmI$OqvXV7NE+6!$GxX&PHJc9|1KLZT&t1)BogX1amYi`U7b@F=<8cXzs#!Y~hdrTVPk zrdrk+F70d424~y*(>KKP`^9xeiDHvcNktROAsAr>opYdIDU6I>2UH!m*ce(_xSZ

lab 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 TIMEOUT: + print ("TIME OUT: Healthcheck not passed in %d seconds... Could cause problems for testing activities..." %TIMEOUT) + return connected + + +def timeIncrement(timePassed): + time.sleep(INTERVAL) + timePassed = timePassed + INTERVAL + return timePassed + +makeHealthcheckCall(headers, timePassed) diff --git a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/installCerts.py b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/installCerts.py deleted file mode 100644 index 17ada4c1..00000000 --- a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/installCerts.py +++ /dev/null @@ -1,202 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -# - - -# coding=utf-8 -import os -import httplib -import base64 -import time -import zipfile -import shutil - -Path = "/tmp" - -zipFileList = [] - -username = os.environ['ODL_ADMIN_USERNAME'] -password = os.environ['ODL_ADMIN_PASSWORD'] -TIMEOUT=1000 -INTERVAL=30 -timePassed=0 - -postKeystore= "/restconf/operations/netconf-keystore:add-keystore-entry" -postPrivateKey= "/restconf/operations/netconf-keystore:add-private-key" -postTrustedCertificate= "/restconf/operations/netconf-keystore:add-trusted-certificate" - - -headers = {'Authorization':'Basic %s' % base64.b64encode(username + ":" + password), - 'X-FromAppId': 'csit-sdnc', - 'X-TransactionId': 'csit-sdnc', - 'Accept':"application/json", - 'Content-type':"application/json"} - -def readFile(folder, file): - key = open(Path + "/" + folder + "/" + file, "r") - fileRead = key.read() - key.close() - fileRead = "\n".join(fileRead.splitlines()[1:-1]) - return fileRead - -def readTrustedCertificate(folder, file): - listCert = list() - caPem = "" - startCa = False - key = open(Path + "/" + folder + "/" + file, "r") - lines = key.readlines() - for line in lines: - if not "BEGIN CERTIFICATE" in line and not "END CERTIFICATE" in line and startCa: - caPem += line - elif "BEGIN CERTIFICATE" in line: - startCa = True - elif "END CERTIFICATE" in line: - startCa = False - listCert.append(caPem) - caPem = "" - return listCert - -def makeKeystoreKey(clientKey, count): - odl_private_key="ODL_private_key_%d" %count - - json_keystore_key='{{\"input\": {{ \"key-credential\": {{\"key-id\": \"{odl_private_key}\", \"private-key\" : ' \ - '\"{clientKey}\",\"passphrase\" : \"\"}}}}}}'.format( - odl_private_key=odl_private_key, - clientKey=clientKey) - - return json_keystore_key - - - -def makePrivateKey(clientKey, clientCrt, certList, count): - caPem = "" - for cert in certList: - caPem += '\"%s\",' % cert - - caPem = caPem.rsplit(',', 1)[0] - odl_private_key="ODL_private_key_%d" %count - - json_private_key='{{\"input\": {{ \"private-key\":{{\"name\": \"{odl_private_key}\", \"data\" : ' \ - '\"{clientKey}\",\"certificate-chain\":[\"{clientCrt}\",{caPem}]}}}}}}'.format( - odl_private_key=odl_private_key, - clientKey=clientKey, - clientCrt=clientCrt, - caPem=caPem) - - return json_private_key - -def makeTrustedCertificate(certList, count): - number = 0 - json_cert_format = "" - for cert in certList: - cert_name = "xNF_CA_certificate_%d_%d" %(count, number) - json_cert_format += '{{\"name\": \"{trusted_name}\",\"certificate\":\"{cert}\"}},\n'.format( - trusted_name=cert_name, - cert=cert.strip()) - number += 1 - - json_cert_format = json_cert_format.rsplit(',', 1)[0] - json_trusted_cert='{{\"input\": {{ \"trusted-certificate\": [{certificates}]}}}}'.format( - certificates=json_cert_format) - return json_trusted_cert - - -def makeRestconfPost(conn, json_file, apiCall): - req = conn.request("POST", apiCall, json_file, headers=headers) - res = conn.getresponse() - res.read() - if res.status != 200: - print "Error here, response back wasnt 200: Response was : %d , %s" % (res.status, res.reason) - else: - print res.status, res.reason - -def extractZipFiles(zipFileList, count): - for zipFolder in zipFileList: - with zipfile.ZipFile(Path + "/" + zipFolder.strip(),"r") as zip_ref: - zip_ref.extractall(Path) - folder = zipFolder.rsplit(".")[0] - processFiles(folder, count) - -def processFiles(folder, count): - conn = httplib.HTTPConnection("localhost",8181) - for file in os.listdir(Path + "/" + folder): - if os.path.isfile(Path + "/" + folder + "/" + file.strip()): - if ".key" in file: - clientKey = readFile(folder, file.strip()) - elif "trustedCertificate" in file: - certList = readTrustedCertificate(folder, file.strip()) - elif ".crt" in file: - clientCrt = readFile(folder, file.strip()) - else: - print "Could not find file %s" % file.strip() - shutil.rmtree(Path + "/" + folder) - json_keystore_key = makeKeystoreKey(clientKey, count) - json_private_key = makePrivateKey(clientKey, clientCrt, certList, count) - json_trusted_cert = makeTrustedCertificate(certList, count) - - makeRestconfPost(conn, json_keystore_key, postKeystore) - makeRestconfPost(conn, json_private_key, postPrivateKey) - makeRestconfPost(conn, json_trusted_cert, postTrustedCertificate) - -def makeHealthcheckCall(headers, timePassed): - connected = False - # WAIT 10 minutes maximum and test every 30 seconds if HealthCheck API is returning 200 - while timePassed < TIMEOUT: - try: - conn = httplib.HTTPConnection("localhost",8181) - req = conn.request("POST", "/restconf/operations/SLI-API:healthcheck",headers=headers) - res = conn.getresponse() - res.read() - if res.status == 200: - print ("Healthcheck Passed in %d seconds." %timePassed) - connected = True - break - else: - print ("Sleep: %d seconds before testing if Healthcheck worked. Total wait time up now is: %d seconds. Timeout is: %d seconds" %(INTERVAL, timePassed, TIMEOUT)) - except: - print ("Cannot execute REST call. Sleep: %d seconds before testing if Healthcheck worked. Total wait time up now is: %d seconds. Timeout is: %d seconds" %(INTERVAL, timePassed, TIMEOUT)) - timePassed = timeIncrement(timePassed) - - if timePassed > TIMEOUT: - print ("TIME OUT: Healthcheck not passed in %d seconds... Could cause problems for testing activities..." %TIMEOUT) - return connected - - -def timeIncrement(timePassed): - time.sleep(INTERVAL) - timePassed = timePassed + INTERVAL - return timePassed - -def readCertProperties(): - connected = makeHealthcheckCall(headers, timePassed) - - if connected: - count = 0 - if os.path.isfile(Path + "/certs.properties"): - with open(Path + "/certs.properties", "r") as f: - for line in f: - if not "*****" in line: - zipFileList.append(line) - else: - extractZipFiles(zipFileList, count) - count += 1 - del zipFileList[:] - else: - print "Error: File not found in path entered" - -readCertProperties() diff --git a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/startODL.sh b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/startODL.sh index 1b8f5192..78d3ea3d 100755 --- a/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/startODL.sh +++ b/sdnc-a1-controller/oam/installation/sdnc-a1/src/main/scripts/startODL.sh @@ -53,8 +53,6 @@ if [ ! -f ${INSTALLED_DIR}/.installed ] then echo "Installing SDNC-A1 database" ${SDNC_HOME}/bin/installSdncDb.sh - echo "Installing SDNC-A1 keyStore" - ${SDNC_HOME}/bin/addSdncKeyStore.sh if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ] then @@ -63,8 +61,6 @@ then fi fi -cp /opt/opendaylight/current/certs/* /tmp - -nohup python ${SDNC_BIN}/installCerts.py & +nohup python ${SDNC_BIN}/healthcheck.py & exec ${ODL_HOME}/bin/karaf server diff --git a/sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.cred.props b/sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.cred.props deleted file mode 100644 index 88983837..00000000 --- a/sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.cred.props +++ /dev/null @@ -1,17 +0,0 @@ -############################################################ -# Properties Generated by AT&T Certificate Manager -# by ubuntu -# on 2019-04-26T17:48:02.614+0000 -# @copyright 2019, AT&T -############################################################ -Challenge=enc:YLFZL0xwmf-22zzHjNwMDus4xQhhjOO_HERh0LisPjGFMODJtM77jjh7EctH-Pme -cadi_alias=sdnc@sdnc.onap.org -cadi_key_password=enc:fbgVR_kMh7wuaEfm16VlW84HJR_yiob_CUf3oDXSE0K2yPlp0t55xT335GMh8ZSv -cadi_keyfile=/opt/sdnc/data/stores/org.onap.sdnc.keyfile -cadi_keystore=/opt/sdnc/data/stores/org.onap.sdnc.p12 -cadi_keystore_password=enc:xAl_o-JBdI86B4pDUNyrY9IauP54ecsXLUZYl_9p9R4Roybcnppqwwkdp_wJq1Ir -cadi_keystore_password_jks=enc:Qf5-2ZRKRMYBwvO14qENypmu4A1HNjkdu_KkM0N5i7v7QjC_GmshNrYmmeWLQWIr -cadi_keystore_password_p12=enc:xAl_o-JBdI86B4pDUNyrY9IauP54ecsXLUZYl_9p9R4Roybcnppqwwkdp_wJq1Ir -cadi_truststore=/opt/sdnc/data/stores/org.onap.sdnc.trust.jks -cadi_truststore_password=enc:U-tuJC67-g5WkC4o8aYf-zqxfB-u2ep3NcB9CZt3VfGCP_NhTWFYVx8mCL3S-jhU -cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US diff --git a/sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.props b/sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.props deleted file mode 100644 index 5b96b907..00000000 --- a/sdnc-a1-controller/oam/installation/src/main/properties/org.onap.sdnc.props +++ /dev/null @@ -1,15 +0,0 @@ -############################################################ -# Properties Generated by AT&T Certificate Manager -# by root -# on 2019-02-15T20:08:07.125+0000 -# @copyright 2016, AT&T -############################################################ -aaf_id=sdnc@sdnc.onap.org -aaf_locate_url=https://aaf-onap-test.osaaf.org:8095 -aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1 -cadi_etc_dir=/opt/sdnc/data/stores -cadi_latitude=38.432899 -cadi_longitude=-90.43248 -cadi_prop_files=/opt/sdnc/data/properties/org.onap.sdnc.cred.props -cm_url=https://AAF_LOCATE_URL/AAF_NS.cm:2.1 -cadi_bath_convert=/opt/sdnc/data/properties/bath_config.csv diff --git a/sdnc-a1-controller/oam/installation/src/main/stores/keystore.sdnc.p12 b/sdnc-a1-controller/oam/installation/src/main/stores/keystore.sdnc.p12 deleted file mode 100644 index 8fb4e2cdaba8c84ada003e50c57611f5f2dc9428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2605 zcmY+EcQhN07RQr_O|2-cy~T`Cf|5#WrW&JyDk(K3QFzWB%V23lk7jhzC<)c<><%O2_nneEysd41u*7 zN`D>vcFgIY0$}W!Dd4!w-~plmw3~wQ;GXx_reH2_m#X(M`y?J#D=pR2Br0hH+M~I! za)H2xvW<;4^sG^HuJhs}%9~*kzZ~5)ln80j6SDG+gA*PUWxU43X#zG6+*kQ&BrD+a zs%tQtG$%Ttmwk-}UY^?~C&``JQv1khtZ{hXD1?y4%#LZc-!MQG=hSX$ucX>bAVPc( znEYxfaM9-<+u_aV(|loyS@?mQZ>}qcsBtKGOcmkhZ73dP zTsG8(e{SBgCi^?HIU>7&BZPRcAxuJ8_ih|Wh--*zS=c*JDuiZAsc_49boJxra*9DTisLvCgBNo4yGw1ki(aDSvH{|!xTGa)o*3vGB@> zpJb}*v%M^Cw)~%8-^Uf0KvqAsKeFQ0n<@8a=Wl2T4<9Dn7pIUs{%Z6y5|!Q&-_w>fUa;!VOhyKch|F5Oq7hK&xBl2OU;=Qe2K6I8WG?#p{XtM{xkVV=!slli5C4L4$ZIZ7iaDN zWlLc8gi)-7Gx>E+Y++XmQoyE7x`u{1QE~ao0Ji%bZIq0hU{KVXFZV&D+)^^zaUQ!H`Fd;I+r%%f$kNs0J6nFX_Dwt&G$X}Wi!P(iEaS9r`J`q zkN;3-N^t#rkfZW^=&sHjVuL(ujc)2p9ex2N(-k77=&*YLubHeM{r<03OVztoWD~DV zl?;kclZjP$Kw1_hTedUtkLQ!eOFMpiY9)eyNZ--?Qs$V#&l%1;IrAj<}T|V9wj_Ue3ZwS5#rj8X6kvYHBczb9LVRYl)uj z+@>by$Or@koDbyR3Gg3&rTdRxy`I(gJ!DUYUTa@UKMOi^xp`@Z<-dN7#Df{6)_Zr= z^gPpMYEG94MbWYnb*MH{^vR5d7K}~StyHjiKnsLp!3N|dYe<-amZn3CY(+PZFODjx zmOGFxJ=OzRKB7{F*Ve_2NrVT%cN3k=+}(H<6z~1=xRJ=Y_Jqr@PO|^{nf^p)Fz8~2 zc&Y_gm=ufm#6p-G(|(_$*m04N{klSx&cUPnN!iPay4BIJ7D6B8ggs1k04w}>` z+N@{^t+s6|0o_}zuWhPQa|{P6pBBx7bn9DTJOWgq(E1ngjTx$mj{9N(tojB{)~gAL zY=wvY%_=_-%#XfvG+w?x_`KtF{VT+(Ot%%`-e(kLUN0hVzzHo?d!#61A;s>l{C4~P zhVtANb8N~|A~!?NOw^2>@Ee8A5n#fKsJ9|bfmXewy=Ec2Aikk`E0|2ZlJZ8sWra9> zYu2Y&)x`B%_qhM*$w%FH=AC#isZIH*Uj@}exQU|6Dtxz3ZVY!kU)38-Oif0pM{`(y z;_5i#6>~?I-F|!VlAf35aaiWM0E6-~7uGU&8FIw9c_^7=V19vl=L~(MI_qFTWphy5 zW7V%Cwm;A?by22uULGrm){@4R3SzJYhI2;VJ}L8w*Tv(++N-QzhW_?lk~k^JT|vgT z*$sQwYa+KCDkVmzerfljJbC$>jA7e;{wAGl(V4j#pHSIZr)^Hy>nngPJ5=C>E8U;E z(ld&=wE3r3SW=ynmyk0Y&Nf9cb+trBh5!_pY9xJmIE%< z_b#f;JfYx5kw(8iTsOV80GoGx*I*zlE9a+|@z_3){BVN#;E>iJoGdZ0E=iRGwB(?x_D zSX^%}ezuRj;VScvK6zZixnD}^rr&su9v?*H62zwonI&X+FWQ1Jhdm6UD=&OCStt52 zyVv-uP7Bdg??d9Pvxp)b`4(z(k-g9lF7FKVM9%Bw3}FZnft8eeJBP*(X6XUylJM2A z?js@%tjcTHe~!`UY3ja*)fe?5VL=RRb09pJByx_yL7oQDjiH0 z^VD+J?Pua$gAw$Ct+t@UBm>vm5Aep^q9T1LdE|<>X*mmlAEpBnficq2%3h!WU8V(q zAxbZK6B56S6xLYtS3o*De3H#^*T4|=qn8|w|t AX#fBK diff --git a/sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.keyfile b/sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.keyfile deleted file mode 100644 index 4bbb0abc..00000000 --- a/sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.keyfile +++ /dev/null @@ -1,27 +0,0 @@ -ssTXV3XxGHmaZ_tDK60bUUwJMidA6-cMQbn8EVO1HWhwTS3vhftirZkfE-Ymv0xkhB82LT05cTjv -MnM6E_OU8ZzQtNCb0XTTsOU-xTExWuIJzgfTKDanH14OB83r-pM0Q1z3iOjgIZyKNn7Qtl-7FyJu -Fr6bmPKFMMSDROwH347eYBpunVPIa1X0NNqJcHDQsWFhW0bgsfRMnP3XZNltqbuAFZocYsY3Tk5N -Iz52WXz6-nSWYBO0sPuBUZmkck1zKZ9PMn2SAPYx1V3i1-kOBLE6AHj-ad7e_dnJjdSTrjhG5z81 -QtmwAevh2ROCdNXTeyurrGXaLrMluE9csSVIp0YCCuhUCX02oDQBqIY5IDIQtAIXS8_i2bJWwmMv -tZOTavGZH1_nwyQQ60lWF8w0GtL1m-s1SVH5v8VunYrjdnwFsrwUkKWfmz70OWFy6RwRis4IL434 -ln0RY48K-E_93jw3pbV4vZFTo8-RO59DGr_0pZf7ZhDSNrdy8sMpaSeHjjrVMfD5TI-JWDdzaKhi -edKGZN_MZLfgPKwXTfXLDQKxowLUoDpEKfAj_KSOAdTCB2piala6Ht3FM5zfXFY7PnYgDho1fe2j -nSWQhN6BqMr4LVKCLVonIiiAgyEetseUnW5_FCcFJALhfEKG4CHI0TvbRZ9IG7SwEFBovrk3RkBv --UHxqqUAi9W3Zdm6wmYtSsUaT-lmMomJxHigWn9vCJ6fO0r_KSoGo-u8idP8P989hNdLqKx6sVWa -en-Kyf0YUvYUk6TblucGVG0UYpjqMAr64tA2_a595QWriVRsxFWTZXBiXWUrOtbXxYZ6vn4jLomF -KWAOu7ot-SQa9zAAAgIme5VB3I2h9s0mUOsQd-T1fJq_CdAGzyqXmBwt8TO4G8iQCMUtOptxJ220 -dq_unPUWJylDuU_9fTY95PLSIGfTCwOedOJb5A9IvyN_mahSPZqYH3a0P6gOgHPxQfTrUid31u7a -BqsQdKKMoWCT7ZdX-ja95f3Z3PzHxhlI2dr1nCRBkN89GLyIK70dVN2QTVVWV5B4hLoyrON6QVwy -1csZ1X6UGO-4YOX3_GUacJSnCenZzJFbn3moCkZ-QfpwU7Cqq2I7DEa8bDKz1sdeNtycOxiQnmnA -AnVdXfOavctGcpA6tWyj-WAkZvV6yedt6Kb4BPL5_qDsCNa0r1wYNaQqzH1bYQnJu0aVjspTzlj4 -2ik_2i9t36Avoqj_g3e8fvwmF0r__yPpF2oULa4LcIQ8Cs3U9Oq3BmxlNXlEj7dyNOTIlJLcvrzX -Js_5iv5rA_rIWY7YpOc-UCVrZw3yb8Ih-XI4tNuUn3qE7tHHQclWrrYRVM2Jt_u-73WYqL-iCvwQ -BU5soWkSK5TwgR1BHfDs5-yNh1MRnr9RbNd8x_p3ohQrFtepgBHodTl98er9XANCy-HycLZhDP3D -TUQdWVKxAwDFVBB-p6itYB9oVvkQtSosLQUYcAjbMTrFz4zqOj0CHMvquE-Wbznkayo5ZdvKoPXk -loNtiG4qPx3UXpvfHElps-vPi8y1TlcmwqWEOn2vxKd5IIk2fglHXM9tv2m86XRgvTjppSs1V7NS -Uoz_C_bW8zH5D-Twmq2DGHxuKbpUpqe0FDFXxoQezGCVhN6bzp-44CBkz9I9QeNVkm3XFu8s2fDn -PeP2B_hGxkLhJHAJ28_3zZex818zqvFW-flWY43w6Cke8qWns3gxdyvXLUTluoidkFdTEvMBPIos -itOB1MsLxsZNdAZtn3vxANPm7dTf8YIAJdMYH6yL9G83PxgKZ8uhoIZIsbrV2UWOJMLH8agctEZI -pFqCipM8RZwuZwq7JmTYPyIjUDVTvAmiLJbG127T9eAfrZa2TYDWaE469v9f-7MdTD4_PK2JSogD -8dg30EruD1VwQq03M98hL9EQsRNwAZ4MAshE2Kp3jQje2A-ZxGtMKNiw6DV0j3BM42FBitpV-Ley -UaqWwELwDh7-BFmUeCu_RSP4XwrTUcOV725yIYcGkk06wLahMf2UvFzYS3PAmZLrs4fvLMK5 \ No newline at end of file diff --git a/sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.p12 b/sdnc-a1-controller/oam/installation/src/main/stores/org.onap.sdnc.p12 deleted file mode 100644 index 079ee67a6e5f65de31e57e8574fd6531cb9138a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4311 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 R|0Wu8HW`BVT(kbd{Rg`?VPXIP diff --git a/sdnc-a1-controller/oam/installation/src/main/stores/truststore.onap.client.jks b/sdnc-a1-controller/oam/installation/src/main/stores/truststore.onap.client.jks deleted file mode 100755 index 28afd8fa74c18826ecf9555db1c5a52c250ba6d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117990 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 diff --git a/sdnc-a1-controller/oam/installation/src/main/yaml/docker-compose.yml b/sdnc-a1-controller/oam/installation/src/main/yaml/docker-compose.yml index acf15a13..70513515 100644 --- a/sdnc-a1-controller/oam/installation/src/main/yaml/docker-compose.yml +++ b/sdnc-a1-controller/oam/installation/src/main/yaml/docker-compose.yml @@ -47,6 +47,7 @@ services: entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"] ports: - "8282:8181" + - "8383:8443" links: - db:dbhost - db:sdnctldb01 -- 2.16.6