From 1ccd9c36ba12849148f9eb73e8ff2ffe4ade5870 Mon Sep 17 00:00:00 2001 From: efiacor Date: Tue, 8 Oct 2019 16:24:28 +0100 Subject: [PATCH] Update AAF loading procedure Signed-off-by: efiacor Issue-ID: DMAAP-1318 Change-Id: I8dc75bdbcd05e5316b5c05cbc258010068fb63e8 --- .../node_data/aaf_certs/org.onap.dmaap-dr.jks | Bin 3647 -> 0 bytes .../node_data/aaf_certs/org.onap.dmaap-dr.keyfile | 27 --- .../aaf_certs/org.onap.dmaap-dr.trust.jks | Bin 1413 -> 0 bytes .../src/main/resources/node_data/node.properties | 24 +-- .../prov_data/aaf_certs/org.onap.dmaap-dr.jks | Bin 3647 -> 0 bytes .../prov_data/aaf_certs/org.onap.dmaap-dr.keyfile | 27 --- .../main/resources/prov_data/provserver.properties | 12 +- datarouter-node/aaf_certs/org.onap.dmaap-dr.jks | Bin 3647 -> 0 bytes .../aaf_certs/org.onap.dmaap-dr.keyfile | 27 --- datarouter-node/pom.xml | 86 +++----- .../dmaap/datarouter/node/DRNodeCadiFilter.java | 2 +- .../org/onap/dmaap/datarouter/node/Delivery.java | 4 +- .../dmaap/datarouter/node/NodeAafPropsUtils.java | 58 ++++++ .../dmaap/datarouter/node/NodeConfigManager.java | 27 ++- .../org/onap/dmaap/datarouter/node/NodeMain.java | 44 +--- .../resources/aaf/org.onap.dmaap-dr.cred.props | 17 ++ .../main/resources/aaf/org.onap.dmaap-dr.keyfile | 27 +++ .../resources/aaf/org.onap.dmaap-dr.location.props | 8 + .../src/main/resources/aaf/org.onap.dmaap-dr.p12 | Bin 0 -> 4233 bytes .../src/main/resources/aaf/org.onap.dmaap-dr.props | 21 ++ .../resources/aaf}/org.onap.dmaap-dr.trust.jks | Bin 1413 -> 1413 bytes .../src/main/resources/docker/Dockerfile | 6 +- .../src/main/resources/docker/startup.sh | 3 +- .../src/main/resources/drNodeCadi.properties | 23 --- datarouter-node/src/main/resources/node.properties | 24 +-- .../datarouter/node/NodeAafPropsUtilsTest.java | 39 ++++ .../datarouter/node/NodeConfigManagerTest.java | 6 +- .../resources/aaf/org.onap.dmaap-dr.cred.props | 17 ++ .../test/resources/aaf/org.onap.dmaap-dr.keyfile | 27 +++ .../src/test/resources/aaf/org.onap.dmaap-dr.p12 | Bin 0 -> 4233 bytes .../src/test/resources/aaf/org.onap.dmaap-dr.props | 21 ++ .../src/test/resources/logback-test.xml | 225 +++++++++++++++++++++ .../src/test/resources/node_test.properties | 23 +-- datarouter-prov/aaf_certs/org.onap.dmaap-dr.jks | Bin 3647 -> 0 bytes .../aaf_certs/org.onap.dmaap-dr.keyfile | 27 --- .../aaf_certs/org.onap.dmaap-dr.trust.jks | Bin 1413 -> 0 bytes datarouter-prov/pom.xml | 101 ++++----- .../onap/dmaap/datarouter/provisioning/Main.java | 91 ++++----- .../datarouter/provisioning/ProxyServlet.java | 19 +- .../datarouter/provisioning/SynchronizerTask.java | 26 +-- .../provisioning/utils/AafPropsUtils.java | 102 ++++++++++ .../dmaap/datarouter/provisioning/utils/DB.java | 3 +- .../datarouter/provisioning/utils/DRRouteCLI.java | 34 ++-- .../resources/aaf/org.onap.dmaap-dr.cred.props | 17 ++ .../main/resources/aaf/org.onap.dmaap-dr.keyfile | 27 +++ .../resources/aaf/org.onap.dmaap-dr.location.props | 8 + .../src/main/resources/aaf/org.onap.dmaap-dr.p12 | Bin 0 -> 4233 bytes .../src/main/resources/aaf/org.onap.dmaap-dr.props | 21 ++ .../resources/aaf}/org.onap.dmaap-dr.trust.jks | Bin 1413 -> 1413 bytes .../src/main/resources/docker/Dockerfile | 6 +- .../src/main/resources/docker/startup.sh | 3 +- .../src/main/resources/drProvCadi.properties | 23 --- .../src/main/resources/provserver.properties | 12 +- .../provisioning/utils/AafPropsUtilsTest.java | 64 ++++++ .../resources/aaf/org.onap.dmaap-dr.cred.props | 17 ++ .../test/resources/aaf/org.onap.dmaap-dr.keyfile | 27 +++ .../src/test/resources/aaf/org.onap.dmaap-dr.props | 21 ++ .../src/test/resources/h2Database.properties | 9 +- datarouter-subscriber/pom.xml | 36 +--- pom.xml | 7 +- version.properties | 2 +- 61 files changed, 978 insertions(+), 550 deletions(-) delete mode 100644 datarouter-docker-compose/src/main/resources/node_data/aaf_certs/org.onap.dmaap-dr.jks delete mode 100644 datarouter-docker-compose/src/main/resources/node_data/aaf_certs/org.onap.dmaap-dr.keyfile delete mode 100644 datarouter-docker-compose/src/main/resources/node_data/aaf_certs/org.onap.dmaap-dr.trust.jks delete mode 100644 datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.jks delete mode 100644 datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.keyfile delete mode 100644 datarouter-node/aaf_certs/org.onap.dmaap-dr.jks delete mode 100644 datarouter-node/aaf_certs/org.onap.dmaap-dr.keyfile create mode 100644 datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtils.java create mode 100644 datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.cred.props create mode 100644 datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.keyfile create mode 100644 datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.location.props create mode 100644 datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.p12 create mode 100644 datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.props rename {datarouter-docker-compose/src/main/resources/prov_data/aaf_certs => datarouter-node/src/main/resources/aaf}/org.onap.dmaap-dr.trust.jks (92%) delete mode 100644 datarouter-node/src/main/resources/drNodeCadi.properties create mode 100644 datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java create mode 100644 datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props create mode 100644 datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.keyfile create mode 100644 datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.p12 create mode 100644 datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.props create mode 100644 datarouter-node/src/test/resources/logback-test.xml delete mode 100644 datarouter-prov/aaf_certs/org.onap.dmaap-dr.jks delete mode 100644 datarouter-prov/aaf_certs/org.onap.dmaap-dr.keyfile delete mode 100644 datarouter-prov/aaf_certs/org.onap.dmaap-dr.trust.jks create mode 100644 datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtils.java create mode 100644 datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.cred.props create mode 100644 datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.keyfile create mode 100644 datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.location.props create mode 100644 datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.p12 create mode 100644 datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.props rename {datarouter-node/aaf_certs => datarouter-prov/src/main/resources/aaf}/org.onap.dmaap-dr.trust.jks (92%) delete mode 100644 datarouter-prov/src/main/resources/drProvCadi.properties create mode 100644 datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtilsTest.java create mode 100644 datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.cred.props create mode 100644 datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.keyfile create mode 100644 datarouter-prov/src/test/resources/aaf/org.onap.dmaap-dr.props diff --git a/datarouter-docker-compose/src/main/resources/node_data/aaf_certs/org.onap.dmaap-dr.jks b/datarouter-docker-compose/src/main/resources/node_data/aaf_certs/org.onap.dmaap-dr.jks deleted file mode 100644 index 2320dc9fe6b64cfcf7e3a9476ef868ed6198f059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3647 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 S9C5Jvw)=EX<9m2vtM)${`(ud! diff --git a/datarouter-docker-compose/src/main/resources/node_data/node.properties b/datarouter-docker-compose/src/main/resources/node_data/node.properties index c692b906..ddd4ebc8 100644 --- a/datarouter-docker-compose/src/main/resources/node_data/node.properties +++ b/datarouter-docker-compose/src/main/resources/node_data/node.properties @@ -57,26 +57,11 @@ SpoolDir = /opt/app/datartr/spool RedirectionFile = etc/redirections.dat # # The type of keystore for https -KeyStoreType = jks -# -# The path to the keystore for https -KeyStoreFile = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks -# -# The password for the https keystore -KeyStorePassword=WGxd2P6MDo*Bi4+UdzWs{?$8 -# -# The password for the private key in the https keystore -KeyPassword=WGxd2P6MDo*Bi4+UdzWs{?$8 +KeyStoreType = PKCS12 # # The type of truststore for https TrustStoreType = jks # -# The path to the truststore for https -TrustStoreFile = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks -# -# The password for the https truststore -TrustStorePassword=)OBvCd{e{aWq.^mJJdX:S:1& -# # The path to the file used to trigger an orderly shutdown QuiesceFile = etc/SHUTDOWN # @@ -95,9 +80,8 @@ AAFInstance = legacy # AAF action to generate permission string - default should be publish AAFAction = publish # -# AAF URL to connect to AAF server -AafUrl = https://aaf-onap-test.osaaf.org:8095 -# # AAF CADI enabled flag CadiEnabled = false - +# +# AAF Props file path +AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props \ No newline at end of file diff --git a/datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.jks b/datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.jks deleted file mode 100644 index 17027970e4560d4ab6fe9c59439eb2aa7bbd9831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3647 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 diff --git a/datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.keyfile b/datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.keyfile deleted file mode 100644 index 59f161f9..00000000 --- a/datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.keyfile +++ /dev/null @@ -1,27 +0,0 @@ -XzAbZ4lSt3j0vgqonk1lGgt_2IvBzet-MDbt7nlxdj5vrQbUBET9eqIfjRBMlen0E815nYm6nRBi -RR2fUKzqO8JIn2s19e3fmYrp9wTbIkY9GXOzsnuSeyRxVxxW-82VrAD-gSBmqUEJvPjqjVWinadL -LVy1h9lE35EErQkBpK_GmqVp2RajjXv8N_5LcKkkc4vYJQ8WclOHwN_BnQpNS1NLBWJVXSPeVwjM -zIkQ10Q6GGEGCurBPLef9UiXD73oVnQsVyZY3E87X7RbDfCiVbfmHN1hyVkR3DX6gDfrfjTnqkqE -Hv7kw43qXx9-aRCHrqnmaGYBTscU5JgxTNpqe5hvxLJHnDwLTtHDx-vES0PljekcofQVT5pWJvRK -ltZtPQwuGlapONa_rDuMq3sSDx8gXKE01rjK0bNDurIPvFzyef0RoDYIc3m4M-KdsBMlnE7oyBAz -OXCPt42HLJX55F9boRIWwSy-8o3AsPXwQTwEKoD7ZUL4pZ2Zf45npfQLlhhs5x_ERcPTrOXrF7Uu -40HxQnMbwO_Ofz7CrlKe78UImSJbsQp0heyBbr6irHrMq6_E1DqbjWafs_a4kKNbtfN4fHHvxkA0 -9J_plrqVOoBqFaeUc9MJt_6WBYq2vDFbHSvBf9QZKnaVZ3aKU2MzV2Y5xjw7V6rgDQHwmXXeAmfV --Z3JT5ocQhyG4SqyKhSrzh4nGOMt51yy68hPPHMrYnpW8VF99qTLqSmQfLAeNqog413Efj75oQDW -JLw1BR56ABvCPdcR5wZruo2Egwak1UyiRL0Mjd8txrjc4uojiiqddqalEQrORvn4BgP0OKQOOdUx -dArQ4HqjBGwvurQUM0XjBvyqki1h1pxhSNeuyOY3mofVB2NNi-ZvSHHUpwqIgQ4kVLombpsKw2W9 -AW-3h4cLYl3LgP_LRH5mS8Mo_BEKZqivM9v9YYVZCgB2Djqyn3MQXpcFSxaB1AK9wG4TmMneFP7W -_dHqJnx26njAtff1y2ud8cmW_UGgzMb33QGIjIrYo3AVX8_G8iEQ-838fDpGE7BdqLSam-BMoeo3 -WPht7-O8gx7utuYx1ceCetunKRmh3Tfga_0srBNDWMyzuiPvbLX3oUJO_F5p5734Qwm5CeqCAaJv -sU_yfzTgUPqS6jC9cuKi54h3HrzV-k7DcSdGrpsAgzYZdHwi7XFfAzFOhkpBeNUNzDCX8B7yTHjU -dKdGDezdgs7lMWbJwnSNFDyTwbZdk4XTnSrtdhmOZp4oVizEQgha0Un0ISKQ519kajTFj1rZV6ue -h8SzN4QXOw6BHYB5rsy8YEvWbkfyneQ74HeyeWRRq3p4UdBTTUn2JbGM0neErRrxnYvmKIdFlSsU -NlEgNf7dh_kqdWUBkXfud32ftazttjmiO4zkqBupsJTlxj9Tjam9aZqNhunPNI9znf4luKAiRa3v -26giSwRUX8mjlK5FvBNUbLeFM-G3Pk2jQej13q1lZ3PZMesLjUwvvMIdlu9qmDx_TCYSy72-6O2A -qmPlUeYCKgI8eVaZV79aM6YtomaopHiPCcyJGWl114Ke4j8H3-Lg3EkjfVROwQw_fKn2z4Eci7io -LetFQnibRw2ow-Z0F-Db3kuEuRTgmb6U0pMUO3njou6Sq7oa_gaND0XYHy6MKGu1uJ9aKVLZ9uy4 -m9KRxZvq71LRJkD84y9bMv14lxzUsosuzbXV7Q_uz8kceWSq_1BLXQXam9j5rxN6SKEk_Rn0jgnX -h4A4e7q6loMXUq4nPSVII9K6pHAqfi1sDLhVZ239XcLBwKY9R5f0jgYy76AI1dN-_oEMdXJf_L6w -KuRJ4jy0XSfyV_QvS6at77san2UIOkdY_tuI03Ps3fTzSaztsy5yX22t-6TnkFSoYxGkuMw9R-Rn -ZwJIanS3v_wQbgNdUB6JIlE_9kkHYCokheldHkKndV8eEc6Z6bgasNWKB3PreI1m6UrfZI3agd-n -zhsQppGFk8j7Tkq4S_9SP1OFVCgCT3-mU0UhPhDhCFPM1bladfj8RptCbPKO66evW1c_ooU2 \ No newline at end of file diff --git a/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties b/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties index 46a1f55a..07060a84 100755 --- a/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties +++ b/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties @@ -27,12 +27,7 @@ org.onap.dmaap.datarouter.provserver.http.port = 8080 org.onap.dmaap.datarouter.provserver.https.port = 8443 org.onap.dmaap.datarouter.provserver.https.relaxation = true -org.onap.dmaap.datarouter.provserver.keystore.type = jks -org.onap.dmaap.datarouter.provserver.keymanager.password = FZNkU,B%NJzcT1v7;^v]M#ZX -org.onap.dmaap.datarouter.provserver.keystore.path = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks -org.onap.dmaap.datarouter.provserver.keystore.password = FZNkU,B%NJzcT1v7;^v]M#ZX -org.onap.dmaap.datarouter.provserver.truststore.path = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks -org.onap.dmaap.datarouter.provserver.truststore.password = +mzf@J.D^;3!![*Xr.z$c#?b +org.onap.dmaap.datarouter.provserver.aafprops.path = /opt/app/osaaf/local/org.onap.dmaap-dr.props org.onap.dmaap.datarouter.provserver.accesslog.dir = /opt/app/datartr/logs org.onap.dmaap.datarouter.provserver.spooldir = /opt/app/datartr/spool @@ -63,7 +58,4 @@ org.onap.dmaap.datarouter.provserver.aaf.feed.type = org.onap.dmaap-dr.fe org.onap.dmaap.datarouter.provserver.aaf.sub.type = org.onap.dmaap-dr.sub org.onap.dmaap.datarouter.provserver.aaf.instance = legacy org.onap.dmaap.datarouter.provserver.aaf.action.publish = publish -org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe - -# AAF URL to connect to AAF server -org.onap.dmaap.datarouter.provserver.cadi.aaf.url = https://aaf-onap-test.osaaf.org:8095 \ No newline at end of file +org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe \ No newline at end of file diff --git a/datarouter-node/aaf_certs/org.onap.dmaap-dr.jks b/datarouter-node/aaf_certs/org.onap.dmaap-dr.jks deleted file mode 100644 index 2320dc9fe6b64cfcf7e3a9476ef868ed6198f059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3647 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 u+iMKT3AsAjR^x}C>Kf0=1qu?I=b0#_r! - org.hamcrest - hamcrest-library + org.apache.commons + commons-lang3 org.slf4j @@ -57,10 +57,6 @@ commons-io commons-io - - junit - junit - org.json json @@ -77,10 +73,6 @@ ch.qos.logback logback-core - - com.intellij - annotations - javax.servlet javax.servlet-api @@ -105,38 +97,55 @@ org.onap.aaf.authz aaf-cadi-core + + com.intellij + annotations + + + org.hamcrest + hamcrest-library + test + + + junit + junit + test + org.sonatype.http-testing-harness junit-runner + test org.mockito mockito-core + test org.powermock powermock-module-junit4 + test org.powermock powermock-api-mockito + test org.powermock powermock-api-support + test org.powermock powermock-core - - - org.apache.commons - commons-lang3 + test org.awaitility awaitility 3.1.6 + test @@ -205,7 +214,7 @@ src/main/resources true - **/EelfMessages.properties + **/logback.xml @@ -260,7 +269,7 @@ ${basedir}/src/main/resources/docker true - **/* + Dockerfile @@ -287,7 +296,7 @@ - copy-resources-2 + copy-resources-etc validate copy-resources @@ -301,61 +310,32 @@ misc/** **/** + + aaf/** + docker/** + - copy-resources-3 + copy-aaf-props validate copy-resources - ${basedir}/target/docker-stage/opt/app/datartr + ${basedir}/target/docker-stage/opt/app/osaaf/local - ${basedir}/data + ${basedir}/src/main/resources/aaf - misc/** **/** - - copy-resources-4 - validate - - copy-resources - - - ${basedir}/target/docker-stage/opt/app/datartr/aaf_certs - - - ${basedir}/aaf_certs - - misc/** - **/** - - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - ${project.build.directory}/docker-stage/opt/app/datartr/lib - - diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DRNodeCadiFilter.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DRNodeCadiFilter.java index 245dbccd..9cdaeecd 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DRNodeCadiFilter.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DRNodeCadiFilter.java @@ -35,7 +35,7 @@ import org.onap.aaf.cadi.filter.CadiFilter; public class DRNodeCadiFilter extends CadiFilter { - private static EELFLogger logger = EELFManager.getInstance().getLogger(NodeServlet.class); + private static EELFLogger logger = EELFManager.getInstance().getLogger(DRNodeCadiFilter.class); DRNodeCadiFilter(boolean init, PropAccess access) throws ServletException { super(init, access); diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/Delivery.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/Delivery.java index 46750812..83d5186a 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/Delivery.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/Delivery.java @@ -168,7 +168,9 @@ public class Delivery { } } try { - Files.delete(sxf.toPath()); // won't if anything still in it + if (sxf.list().length == 0) { + Files.delete(sxf.toPath()); // won't if anything still in it + } } catch (IOException e) { logger.error("Failed to delete file: " + sxf.getPath(), e); } diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtils.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtils.java new file mode 100644 index 00000000..542dfd08 --- /dev/null +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtils.java @@ -0,0 +1,58 @@ +/* + * ============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========================================================= + */ + +package org.onap.dmaap.datarouter.node; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import org.onap.aaf.cadi.PropAccess; + +class NodeAafPropsUtils { + + private static EELFLogger eelfLogger = EELFManager.getInstance().getLogger(NodeAafPropsUtils.class); + private PropAccess propAccess; + + NodeAafPropsUtils(File propsFile) throws IOException { + propAccess = new PropAccess(); + try { + propAccess.load(new FileInputStream(propsFile.getPath())); + } catch (IOException e) { + eelfLogger.error("Failed to load props file: " + propsFile + "\n" + e.getMessage(), e); + throw e; + } + } + + String getDecryptedPass(String password) { + String decryptedPass = ""; + try { + decryptedPass = getPropAccess().decrypt(getPropAccess().getProperty(password), false); + } catch (IOException e) { + eelfLogger.error("Failed to decrypt " + password + " : " + e.getMessage(), e); + } + return decryptedPass; + } + + PropAccess getPropAccess() { + return propAccess; + } +} diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeConfigManager.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeConfigManager.java index 0283f5cb..aeddc729 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeConfigManager.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeConfigManager.java @@ -105,6 +105,7 @@ public class NodeConfigManager implements DeliveryQueueHelper { private String aafAction; private String aafURL; private boolean cadiEnabled; + private NodeAafPropsUtils nodeAafPropsUtils; /** @@ -124,6 +125,14 @@ public class NodeConfigManager implements DeliveryQueueHelper { "/opt/app/datartr/etc/node.properties")); } provurl = drNodeProperties.getProperty("ProvisioningURL", "https://dmaap-dr-prov:8443/internal/prov"); + String aafPropsFilePath = drNodeProperties + .getProperty("AAFPropsFilePath", "/opt/app/osaaf/local/org.onap.dmaap-dr.props"); + try { + nodeAafPropsUtils = new NodeAafPropsUtils(new File(aafPropsFilePath)); + } catch (IOException e) { + eelfLogger.error("NODE0314 Failed to load AAF props. Exiting", e); + exit(1); + } /* * START - AAF changes: TDP EPIC US# 307413 * Pull AAF settings from node.properties @@ -131,8 +140,8 @@ public class NodeConfigManager implements DeliveryQueueHelper { aafType = drNodeProperties.getProperty("AAFType", "org.onap.dmaap-dr.feed"); aafInstance = drNodeProperties.getProperty("AAFInstance", "legacy"); aafAction = drNodeProperties.getProperty("AAFAction", "publish"); - aafURL = drNodeProperties.getProperty("AafUrl", "https://aaf-onap-test.osaaf.org:8095"); cadiEnabled = Boolean.parseBoolean(drNodeProperties.getProperty("CadiEnabled", "false")); + aafURL = nodeAafPropsUtils.getPropAccess().getProperty("aaf_locate_url", "https://aaf-locate:8095"); /* * END - AAF changes: TDP EPIC US# 307413 * Pull AAF settings from node.properties @@ -168,13 +177,13 @@ public class NodeConfigManager implements DeliveryQueueHelper { eventlogprefix = logdir + "/events"; eventlogsuffix = ".log"; redirfile = drNodeProperties.getProperty("RedirectionFile", "etc/redirections.dat"); - kstype = drNodeProperties.getProperty("KeyStoreType", "jks"); - ksfile = drNodeProperties.getProperty("KeyStoreFile", "etc/keystore"); - kspass = drNodeProperties.getProperty("KeyStorePassword", CHANGE_ME); - kpass = drNodeProperties.getProperty("KeyPassword", CHANGE_ME); + kstype = drNodeProperties.getProperty("KeyStoreType", "PKCS12"); + ksfile = nodeAafPropsUtils.getPropAccess().getProperty("cadi_keystore"); + kspass = nodeAafPropsUtils.getDecryptedPass("cadi_keystore_password"); + kpass = nodeAafPropsUtils.getDecryptedPass("cadi_keystore_password"); tstype = drNodeProperties.getProperty("TrustStoreType", "jks"); - tsfile = drNodeProperties.getProperty("TrustStoreFile"); - tspass = drNodeProperties.getProperty("TrustStorePassword", CHANGE_ME); + tsfile = nodeAafPropsUtils.getPropAccess().getProperty("cadi_truststore"); + tspass = nodeAafPropsUtils.getDecryptedPass("cadi_truststore_password"); if (tsfile != null && tsfile.length() > 0) { System.setProperty("javax.net.ssl.trustStoreType", tstype); System.setProperty("javax.net.ssl.trustStore", tsfile); @@ -802,6 +811,10 @@ public class NodeConfigManager implements DeliveryQueueHelper { return cadiEnabled; } + public NodeAafPropsUtils getNodeAafPropsUtils() { + return nodeAafPropsUtils; + } + /** * Builds the permissions string to be verified. * diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java index fcc3f897..56086301 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeMain.java @@ -25,12 +25,8 @@ package org.onap.dmaap.datarouter.node; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; -import java.io.IOException; -import java.io.InputStream; import java.util.EnumSet; -import java.util.Properties; import javax.servlet.DispatcherType; -import javax.servlet.ServletException; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.HttpConfiguration; @@ -43,7 +39,6 @@ import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.onap.aaf.cadi.PropAccess; /** * The main starting point for the Data Router node. @@ -144,7 +139,8 @@ public class NodeMain { //CADI Filter activation check if (nodeConfigManager.getCadiEnabled()) { - enableCadi(servletContextHandler); + servletContextHandler.addFilter(new FilterHolder(new DRNodeCadiFilter(true, + nodeConfigManager.getNodeAafPropsUtils().getPropAccess())), "/*", EnumSet.of(DispatcherType.REQUEST)); } server.setHandler(servletContextHandler); @@ -163,24 +159,6 @@ public class NodeMain { nodeMainLogger.debug("NODE00007 Node Server joined - " + server.getState()); } - private static void enableCadi(ServletContextHandler servletContextHandler) throws ServletException { - Properties cadiProperties = new Properties(); - try { - Inner obj = new NodeMain().new Inner(); - InputStream in = obj.getCadiProps(); - cadiProperties.load(in); - } catch (IOException e1) { - nodeMainLogger - .error("NODE00005 Exception in NodeMain.Main() loading CADI properties " + e1.getMessage(), e1); - } - cadiProperties.setProperty("aaf_locate_url", nodeConfigManager.getAafURL()); - nodeMainLogger.debug("NODE00005 aaf_url set to - " + cadiProperties.getProperty("aaf_url")); - - PropAccess access = new PropAccess(cadiProperties); - servletContextHandler.addFilter(new FilterHolder(new DRNodeCadiFilter(true, access)), "/*", EnumSet - .of(DispatcherType.REQUEST)); - } - private static class WaitForConfig implements Runnable { private NodeConfigManager localNodeConfigManager; @@ -200,26 +178,12 @@ public class NodeMain { try { wait(); } catch (Exception exception) { - nodeMainLogger - .error("NodeMain: waitForConfig exception. Exception Message:- " + exception.toString(), - exception); + nodeMainLogger.error("NodeMain: waitForConfig exception. Exception Message:- " + + exception.toString(), exception); } } localNodeConfigManager.deregisterConfigTask(this); nodeMainLogger.debug("NODE0004 Node Configuration Data Received"); } } - - class Inner { - - InputStream getCadiProps() { - InputStream in = null; - try { - in = getClass().getClassLoader().getResourceAsStream("drNodeCadi.properties"); - } catch (Exception e) { - nodeMainLogger.error("Exception in Inner.getCadiProps() method ", e); - } - return in; - } - } } diff --git a/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.cred.props b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.cred.props new file mode 100644 index 00000000..173d2fd1 --- /dev/null +++ b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.cred.props @@ -0,0 +1,17 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:25:19.002+0000 +# @copyright 2019, AT&T +############################################################ +Challenge=enc:wQM4uZbepQQWfJd9uhcfPZJc7TAOnfTnj5xv9uCRteQOTuc7mSXAWjg9heC7lXod +cadi_alias=dmaap-dr-node@dmaap-dr.onap.org +cadi_key_password=enc:YhS5u9Fqt-ssUs-1wWrv7xkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF +cadi_keyfile=/opt/app/osaaf/local/org.onap.dmaap-dr.keyfile +cadi_keystore=/opt/app/osaaf/local/org.onap.dmaap-dr.p12 +cadi_keystore_password=enc:NwhywpJzc4rlcpwkPRs4GWkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF +cadi_keystore_password_jks=enc:McsNbnuHb5tgoa_UMgdTdHqWEG4bt6VcPsc_NTzS277aDcrNRutDSBDYyyLD5no2 +cadi_keystore_password_p12=enc:NwhywpJzc4rlcpwkPRs4GWkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF +cadi_truststore=/opt/app/osaaf/local/org.onap.dmaap-dr.trust.jks +cadi_truststore_password=enc:xWbQBg4WdbHbQgvKGrol0ns16g9jgFYteR3nQkwTl65BtvtWf_ZKhSVP8w_Z0VHU +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/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.keyfile b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.keyfile new file mode 100644 index 00000000..cbed0407 --- /dev/null +++ b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.keyfile @@ -0,0 +1,27 @@ +hPUFfq-4kxkPy1LmRi50b_bhcRn9BKecnkq0u-Uec6JnRIsMgqUiEYJMbxGCGEZquBLszBBPj2Ux +udBAZ5FPIp5IkQFX6NpXJTCqPW9lb4k6KVhRSqSocascKnbYdZxrdThqOaw26kDiw04NFzA7jwxF +G9m2IVWF9AaKx7jQAqaoy4SSK5g1OaI4fGqWQn4HW3HuVJ7cc52JUmrcIGIV-I_6pR0ZAPezHxGn +5k-0rErQEZBHfj0S1M74Lx-eOa7gRlj0b3O8Zq-yfOllRLBZiMLuTmWlVz4ikbmL_eNC2RmjuEyy +v-wFva0Y4dqXEVEj9FoBUAQy7vE-I6VxGRffQRAi4Mnz0v4ISkHPmiOJsYmIzjT2bWyLKloJENfQ +LhV180qF-7UrjWGI2DhlVV_r4AY32-KLU7HLECpKRSjeqhWva_nZAj7ELGvBBTftGDu3HKts_MqU +hb14f5482rHZGPDYv3dCsere31ShIF6WF_YNhO494RgdSMugvWDZwxQYngNjGTgxS8hKezD5erp_ +BoqMuI3xotgaKZluV8yrxsc-M-0F97hJGxn7k1y37jKQugGUNDEwsX5MiHFd9OYY5jY9Pdr2tEXk +PqEmZQXBeCXJOku7KQFwEl4nqkw-52JJS1PAks4v_dlkrJIL95q6zAQOrgSgc597_-0x90k22Zd8 +FowwHQ42R-bo9oRyO0Qbypzd1Ftzu7kCalYH35qcLyAiIOO9NYAwSi5tYldzHgUhVq4wb1aoomeP +HISpNJfT2rK-AGMZw3d3nXWK1b3ztkF-74nD2s-WuTLeomBni1eMiLED850GyRD4uB4j4zF_4dZF +OmT6iShH7RR-gTolGZSAG7sBbwNs3lks9usVWI0qSulQvHBs14QvOY7EmO4SMRueUMo6ZIaOJIkB +uxNzoM_yQ2mMb24AZm_tT1xqMbGf76oYcx8Mu4zcXFkoe-4xDA1D-HXiPtyOzj6K0ByR86aytY2J +SI8mltJwtPx_t5t1fb0nFMQYCM5DzODKXgd-QhEJ8Q64uw6kSFFkv09ZCP0fvWy5Q7AEOAw_Y1YJ +lYyG7Bzu4E8PAQrihKhyYnFsp7WmMak_DGB2oskfHjffsb9Yh4FSM9EyB8x40ryQ6c8SAoP9LmYh +87-NvfQfuinLlHl7BcqCWmA7jwHo44r_L8guXWQ0wSRdCnfphc4_FthK2VQrURzFXTPnb3UvNE4I +U93lmmbwSlCoBjI2SwJAQvBpztlmbaFxgDA2Tbk6Mh6_cKiza2EcXCJzVXghFIqXtPQpAXPwHBZv +NrmKRamZBlMSkWPzPuIbfH6XYqCw3bodTEktzJZYzABFVkyIZ4JtstvoDGxaQDy6Ob2POLhuq0YY +ZW9eVhfvGWNyBK5sWSzEuCrd-nPN-XuDZjt8kWN4GTmokXnV_j20GDHyqwczikrCnlfReA1u2-O8 +VXmHvKMSHI3ckLdGP8QIOWoC4FfFi0QG62McYZO83ZA2wjRZVnS3bAz04uhLryqafm-aJ7tg1XBg +BNTIuJSrWA1WIU-UngRV0TheiNIGtmhBeNdZfWg5MHXaVzSYj0w6A7A7Kwf4cXt2dJosX_8fCLzY +2Q8XA8NjG9_gkE7hwav8UdmUAw86HQW6mTpjOIdSsQ0NauwNbREq4tec-9kuzZGkW4JwlJsxl_xn +yOP1eMHDoV_Xmiz8UxTiWjHHeh3AQcV7G6J0uyjcRTHESAR-jxptepD_iZr-cptrUb43H_spNtSY +dGZ3OvZIl2W-sFbO78ioCaLqYA0Uq35vwMIUpdjFIYb9vUA4JFTXNk3J5oCYX3vibIpACqYODFQ3 +CSqWg_Xg0Eci7VshNXZ9S69hX2KZFnf-qpnvOnRvrOCPJ2HqnZ8RaAkRygT5Nk0VRgLT8BM_1ao5 +MNCgoVw3C_tJlq66i7ve3TY2jamg6_jPxcb_7aKnbTWvKaP0p3dqlnrj3Irc35SD1k_cq1Nh8CYP +Fd06LzCFxS4Ws_ueZ9GJpREYnh6rleFVj-qI6F73rfHiGhFta-4Q_XJeZuplJkrRbHmo5GRb \ No newline at end of file diff --git a/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.location.props b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.location.props new file mode 100644 index 00000000..3bb069c6 --- /dev/null +++ b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.location.props @@ -0,0 +1,8 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:24:02.091+0000 +# @copyright 2019, AT&T +############################################################ +cadi_latitude=0.00 +cadi_longitude=0.00 diff --git a/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.p12 b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.p12 new file mode 100644 index 0000000000000000000000000000000000000000..b5c304796966eb6a59476cab4d3630a240aed291 GIT binary patch literal 4233 zcmZWpWmFUZ)+L4^rG{=q!a-n22|+@-Ly(Zpp`@e*Mi`K;p<4tg=@MzA8yt}C?g0kL z&)xIw?%A{Fo%h~7_ult@UI>gd3=0z*0wa|I;)CHzaP%WgT+BQeDIWkv%Kew-gurkz z|4YJ&2EcG4{?eg;I~Yj#|5ro=m{@r*zzqZjKtrAa3I0X@eNGRc=$cw9D0!-J$i2M3 z@kpcsgo$^fh=q;Otp$Jq`dcoM^6>GQNQpIwlBXi~VU3@viuC*Ub4}Aw5mKd>`C9ek z161iz;mTx=b!CH>M=2}@moy^zZMW@0%}6OmaKc5$J5n(FmdfVOq)s4LV>))vG?jl5 zLe3;bA|x=C*^r1)F)wu;UvYs$t0Z#L`Z@+Ksn*y+-?48`VLkxh?@GI$_6i&P%xsyV zgL0Yz9SQ*ww4_#FUEa`oaB@DXk}1f-I?{P2n(8psvo06BqbD8uP-j0;DNPw}s>JS2 z9Q>vCBfl_GQo51tM9@2xV>+&kChy08V+|64aD3+N$z`{s;;adQRS^a?yrx=d7(&H~FOQ2)A(qxKvX2;-7!&$)nqT zE-7sbLp;=)b`*T(Lj)j&!f@?dfXv>R+L+P0x*^@X5pFi2#QMG(^E$CqCNhdk=?Gz^;Z{E6SlK4`dg+&uY|Mt@70!RN^at&z(BsQ8s~JYC zf;ekTS%(0)X*E~FAztL%5BWngi#C#DY|WBMjWZI zr0+B|PEZ92E*r1RmXM{eMC9D2-O`M-xwT8E76a%O`qmlU1#sMY(V!E5i=XC>jTIQ!nWocm3)>)>9W4{Q=tQiUJMVxM| z{BaT!bd1wpu=>OZJ{+SrGi*Fw*1zET3IhAubEJ|}qqrA6Il}_lWjgqyCJ~NM@dq|n zxcL^eRLi%iBJmVlRTS|G6+YQAv53Hz$_n`(=SqHxmn!h4_-K{X;w`qTny+9|2st

RdUb*WB-c_xCu?l|Zp$TDCI6o$&_Ft(v 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 literal 0 HcmV?d00001 diff --git a/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.props b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.props new file mode 100644 index 00000000..c379da51 --- /dev/null +++ b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.props @@ -0,0 +1,21 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:24:02.090+0000 +# @copyright 2019, AT&T +############################################################ +aaf_env=DEV +aaf_id=dmaap-dr-node@dmaap-dr.onap.org +aaf_locate_url=https://aaf-locate:8095 +aaf_locator_container=oom +aaf_locator_container_ns=onap +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.introspect:2.1/introspect +aaf_oauth2_token_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.token:2.1/token +aaf_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.service:2.1 +aaf_url_cm=https://AAF_LOCATE_URL/%CNS.%AAF_NS.cm:2.1 +aaf_url_fs=https://AAF_LOCATE_URL/%CNS.%AAF_NS.fs:2.1 +aaf_url_gui=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.1 +aaf_url_hello=https://aaf-locate:8095/locate/onap.org.osaaf.aaf.hello:2.1 +aaf_url_oauth=https://AAF_LOCATE_URL/%CNS.%AAF_NS.oauth:2.1 +cadi_prop_files=/opt/app/osaaf/local/org.onap.dmaap-dr.location.props:/opt/app/osaaf/local/org.onap.dmaap-dr.cred.props +cadi_protocols=TLSv1.1,TLSv1.2 \ No newline at end of file diff --git a/datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.trust.jks b/datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.trust.jks similarity index 92% rename from datarouter-docker-compose/src/main/resources/prov_data/aaf_certs/org.onap.dmaap-dr.trust.jks rename to datarouter-node/src/main/resources/aaf/org.onap.dmaap-dr.trust.jks index 2fe06cd216fb21c2882dde477f0c1fc327beefc3..c837fa05c612e4d064025aa15ed1ea4858f3a452 100644 GIT binary patch delta 37 tcmZqWZsndJ&zjqFCuj0T6<<~nAH@rWLNAh^=I*_-fz2c*NA63p7XT4q4{HDb delta 37 vcmV+=0NVeB3xx}i9|dXHP28WcBuxbrceo_aTJJ}~@#g6l)z>)=G`rvlEO`+x diff --git a/datarouter-node/src/main/resources/docker/Dockerfile b/datarouter-node/src/main/resources/docker/Dockerfile index 01880bbb..c6f6c61f 100644 --- a/datarouter-node/src/main/resources/docker/Dockerfile +++ b/datarouter-node/src/main/resources/docker/Dockerfile @@ -34,7 +34,7 @@ RUN chmod 0700 startup.sh ENTRYPOINT ["sh", "startup.sh"] RUN addgroup -S -g 1001 onap \ - && adduser -S -u 1000 datarouter -G onap \ - && chown -R datarouter:onap /opt/ /var/ + && adduser -S -u 1000 dradmin -G onap \ + && chown -R dradmin:onap /opt/ /var/ -USER datarouter \ No newline at end of file +USER dradmin \ No newline at end of file diff --git a/datarouter-node/src/main/resources/docker/startup.sh b/datarouter-node/src/main/resources/docker/startup.sh index c4a655fb..8843b221 100644 --- a/datarouter-node/src/main/resources/docker/startup.sh +++ b/datarouter-node/src/main/resources/docker/startup.sh @@ -16,4 +16,5 @@ java -classpath $CLASSPATH org.onap.dmaap.datarouter.node.NodeMain runner_file="$LIB/datarouter-node-jar-with-dependencies.jar" echo "Starting using" $runner_file -java -Dcom.att.eelf.logging.file=/opt/app/datartr/etc/logback.xml -Dcom.att.eelf.logging.path=/root -Dorg.onap.dmaap.datarouter.node.properties=/opt/app/datartr/etc/node.properties -jar $runner_file \ No newline at end of file +java -Dcom.att.eelf.logging.file=/opt/app/datartr/etc/logback.xml -Dcom.att.eelf.logging.path=/root \ +-Dorg.onap.dmaap.datarouter.node.properties=/opt/app/datartr/etc/node.properties -jar $runner_file \ No newline at end of file diff --git a/datarouter-node/src/main/resources/drNodeCadi.properties b/datarouter-node/src/main/resources/drNodeCadi.properties deleted file mode 100644 index 8dfcab1c..00000000 --- a/datarouter-node/src/main/resources/drNodeCadi.properties +++ /dev/null @@ -1,23 +0,0 @@ -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 -cadi_keyfile=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.keyfile -cadi_keystore=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks -cadi_keystore_password=]3V)($O&.Mv]W{f8^]6SxGNL -cadi_key_password=]3V)($O&.Mv]W{f8^]6SxGNL -cadi_alias=dmaap-dr-node@dmaap-dr.onap.org -cadi_truststore=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks -cadi_truststore_password=(Rd,&{]%ePdp}4JZjqoJ2G+g - -aaf_env=DEV -aaf_locate_url=https://aaf-onap-test.osaaf.org:8095 -aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.1/introspect -aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.1/token -aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1 -cadi_protocols=TLSv1.1,TLSv1.2 -cm_url=https://AAF_LOCATE_URL/AAF_NS.cm:2.1 -fs_url=https://AAF_LOCATE_URL/AAF_NS.fs.2.1 -gui_url=https://AAF_LOCATE_URL/AAF_NS.gui.2.1 - -cadi_latitude=53.423 -cadi_longitude=7.940 - -cadi_loglevel=DEBUG \ No newline at end of file diff --git a/datarouter-node/src/main/resources/node.properties b/datarouter-node/src/main/resources/node.properties index 7c076359..1d7a5d42 100644 --- a/datarouter-node/src/main/resources/node.properties +++ b/datarouter-node/src/main/resources/node.properties @@ -57,26 +57,11 @@ SpoolDir = /opt/app/datartr/spool RedirectionFile = etc/redirections.dat # # The type of keystore for https -KeyStoreType = jks -# -# The path to the keystore for https -KeyStoreFile = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks -# -# The password for the https keystore -KeyStorePassword=WGxd2P6MDo*Bi4+UdzWs{?$8 -# -# The password for the private key in the https keystore -KeyPassword=WGxd2P6MDo*Bi4+UdzWs{?$8 +KeyStoreType = PKCS12 # # The type of truststore for https TrustStoreType = jks # -# The path to the truststore for https -TrustStoreFile = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks -# -# The password for the https truststore -TrustStorePassword=)OBvCd{e{aWq.^mJJdX:S:1& -# # The path to the file used to trigger an orderly shutdown QuiesceFile = etc/SHUTDOWN # @@ -95,9 +80,8 @@ AAFInstance = legacy # AAF action to generate permission string - default should be publish AAFAction = publish # -# AAF URL to connect to AAF server -AafUrl = https://aaf-onap-test.osaaf.org:8095 -# # AAF CADI enabled flag CadiEnabled = false - +# +# AAF Props file path +AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java new file mode 100644 index 00000000..aa5368b5 --- /dev/null +++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java @@ -0,0 +1,39 @@ +/* + * ============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========================================================= + */ +package org.onap.dmaap.datarouter.node; + +import java.io.File; +import java.io.IOException; +import org.junit.Assert; +import org.junit.Test; + +public class NodeAafPropsUtilsTest { + + @Test + public void Veirfy_Aaf_Pass_Decryp_Successful() { + NodeAafPropsUtils nodeAafPropsUtils = null; + try { + nodeAafPropsUtils = new NodeAafPropsUtils(new File("src/test/resources/aaf/org.onap.dmaap-dr.props")); + } catch (IOException e) { + e.printStackTrace(); + } + Assert.assertEquals("tVac2#@Stx%tIOE^x[c&2fgZ", nodeAafPropsUtils.getDecryptedPass("cadi_keystore_password")); + } +} diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java index 87c2bdf6..578053aa 100644 --- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java +++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java @@ -35,7 +35,7 @@ import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) -@PowerMockIgnore({"javax.net.ssl.*", "javax.security.auth.x500.X500Principal"}) +@PowerMockIgnore({"javax.net.ssl.*", "javax.security.auth.x500.X500Principal", "javax.crypto.*"}) @PrepareForTest({InetAddress.class, URL.class}) public class NodeConfigManagerTest { @@ -57,7 +57,7 @@ public class NodeConfigManagerTest { Assert.assertEquals("legacy", nodeConfigManager.getAafInstance()); Assert.assertEquals("src/test/resources/spool/f", nodeConfigManager.getSpoolDir()); Assert.assertEquals("src/test/resources/spool", nodeConfigManager.getSpoolBase()); - Assert.assertEquals("jks", nodeConfigManager.getKSType()); + Assert.assertEquals("PKCS12", nodeConfigManager.getKSType()); Assert.assertEquals(8080, nodeConfigManager.getHttpPort()); Assert.assertEquals(8443, nodeConfigManager.getHttpsPort()); Assert.assertEquals(443, nodeConfigManager.getExtHttpsPort()); @@ -70,7 +70,7 @@ public class NodeConfigManagerTest { Assert.assertEquals(new String[] {"TLSv1.1", "TLSv1.2"}, nodeConfigManager.getEnabledprotocols()); Assert.assertEquals("org.onap.dmaap-dr.feed", nodeConfigManager.getAafType()); Assert.assertEquals("publish", nodeConfigManager.getAafAction()); - Assert.assertEquals("https://aaf-onap-test.osaaf.org:8095", nodeConfigManager.getAafURL()); + Assert.assertEquals("https://aaf-locate:8095", nodeConfigManager.getAafURL()); Assert.assertFalse(nodeConfigManager.getCadiEnabled()); Assert.assertFalse(nodeConfigManager.isShutdown()); Assert.assertFalse(nodeConfigManager.isConfigured()); diff --git a/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props new file mode 100644 index 00000000..3f081b5d --- /dev/null +++ b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props @@ -0,0 +1,17 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:25:19.002+0000 +# @copyright 2019, AT&T +############################################################ +Challenge=enc:wQM4uZbepQQWfJd9uhcfPZJc7TAOnfTnj5xv9uCRteQOTuc7mSXAWjg9heC7lXod +cadi_alias=dmaap-dr-node@dmaap-dr.onap.org +cadi_key_password=enc:YhS5u9Fqt-ssUs-1wWrv7xkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF +cadi_keyfile=src/test/resources/aaf/org.onap.dmaap-dr.keyfile +cadi_keystore=src/test/resources/aaf/org.onap.dmaap-dr.p12 +cadi_keystore_password=enc:NwhywpJzc4rlcpwkPRs4GWkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF +cadi_keystore_password_jks=enc:McsNbnuHb5tgoa_UMgdTdHqWEG4bt6VcPsc_NTzS277aDcrNRutDSBDYyyLD5no2 +cadi_keystore_password_p12=enc:NwhywpJzc4rlcpwkPRs4GWkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF +cadi_truststore=/opt/app/osaaf/local/org.onap.dmaap-dr.trust.jks +cadi_truststore_password=enc:xWbQBg4WdbHbQgvKGrol0ns16g9jgFYteR3nQkwTl65BtvtWf_ZKhSVP8w_Z0VHU +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/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.keyfile b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.keyfile new file mode 100644 index 00000000..cbed0407 --- /dev/null +++ b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.keyfile @@ -0,0 +1,27 @@ +hPUFfq-4kxkPy1LmRi50b_bhcRn9BKecnkq0u-Uec6JnRIsMgqUiEYJMbxGCGEZquBLszBBPj2Ux +udBAZ5FPIp5IkQFX6NpXJTCqPW9lb4k6KVhRSqSocascKnbYdZxrdThqOaw26kDiw04NFzA7jwxF +G9m2IVWF9AaKx7jQAqaoy4SSK5g1OaI4fGqWQn4HW3HuVJ7cc52JUmrcIGIV-I_6pR0ZAPezHxGn +5k-0rErQEZBHfj0S1M74Lx-eOa7gRlj0b3O8Zq-yfOllRLBZiMLuTmWlVz4ikbmL_eNC2RmjuEyy +v-wFva0Y4dqXEVEj9FoBUAQy7vE-I6VxGRffQRAi4Mnz0v4ISkHPmiOJsYmIzjT2bWyLKloJENfQ +LhV180qF-7UrjWGI2DhlVV_r4AY32-KLU7HLECpKRSjeqhWva_nZAj7ELGvBBTftGDu3HKts_MqU +hb14f5482rHZGPDYv3dCsere31ShIF6WF_YNhO494RgdSMugvWDZwxQYngNjGTgxS8hKezD5erp_ +BoqMuI3xotgaKZluV8yrxsc-M-0F97hJGxn7k1y37jKQugGUNDEwsX5MiHFd9OYY5jY9Pdr2tEXk +PqEmZQXBeCXJOku7KQFwEl4nqkw-52JJS1PAks4v_dlkrJIL95q6zAQOrgSgc597_-0x90k22Zd8 +FowwHQ42R-bo9oRyO0Qbypzd1Ftzu7kCalYH35qcLyAiIOO9NYAwSi5tYldzHgUhVq4wb1aoomeP +HISpNJfT2rK-AGMZw3d3nXWK1b3ztkF-74nD2s-WuTLeomBni1eMiLED850GyRD4uB4j4zF_4dZF +OmT6iShH7RR-gTolGZSAG7sBbwNs3lks9usVWI0qSulQvHBs14QvOY7EmO4SMRueUMo6ZIaOJIkB +uxNzoM_yQ2mMb24AZm_tT1xqMbGf76oYcx8Mu4zcXFkoe-4xDA1D-HXiPtyOzj6K0ByR86aytY2J +SI8mltJwtPx_t5t1fb0nFMQYCM5DzODKXgd-QhEJ8Q64uw6kSFFkv09ZCP0fvWy5Q7AEOAw_Y1YJ +lYyG7Bzu4E8PAQrihKhyYnFsp7WmMak_DGB2oskfHjffsb9Yh4FSM9EyB8x40ryQ6c8SAoP9LmYh +87-NvfQfuinLlHl7BcqCWmA7jwHo44r_L8guXWQ0wSRdCnfphc4_FthK2VQrURzFXTPnb3UvNE4I +U93lmmbwSlCoBjI2SwJAQvBpztlmbaFxgDA2Tbk6Mh6_cKiza2EcXCJzVXghFIqXtPQpAXPwHBZv +NrmKRamZBlMSkWPzPuIbfH6XYqCw3bodTEktzJZYzABFVkyIZ4JtstvoDGxaQDy6Ob2POLhuq0YY +ZW9eVhfvGWNyBK5sWSzEuCrd-nPN-XuDZjt8kWN4GTmokXnV_j20GDHyqwczikrCnlfReA1u2-O8 +VXmHvKMSHI3ckLdGP8QIOWoC4FfFi0QG62McYZO83ZA2wjRZVnS3bAz04uhLryqafm-aJ7tg1XBg +BNTIuJSrWA1WIU-UngRV0TheiNIGtmhBeNdZfWg5MHXaVzSYj0w6A7A7Kwf4cXt2dJosX_8fCLzY +2Q8XA8NjG9_gkE7hwav8UdmUAw86HQW6mTpjOIdSsQ0NauwNbREq4tec-9kuzZGkW4JwlJsxl_xn +yOP1eMHDoV_Xmiz8UxTiWjHHeh3AQcV7G6J0uyjcRTHESAR-jxptepD_iZr-cptrUb43H_spNtSY +dGZ3OvZIl2W-sFbO78ioCaLqYA0Uq35vwMIUpdjFIYb9vUA4JFTXNk3J5oCYX3vibIpACqYODFQ3 +CSqWg_Xg0Eci7VshNXZ9S69hX2KZFnf-qpnvOnRvrOCPJ2HqnZ8RaAkRygT5Nk0VRgLT8BM_1ao5 +MNCgoVw3C_tJlq66i7ve3TY2jamg6_jPxcb_7aKnbTWvKaP0p3dqlnrj3Irc35SD1k_cq1Nh8CYP +Fd06LzCFxS4Ws_ueZ9GJpREYnh6rleFVj-qI6F73rfHiGhFta-4Q_XJeZuplJkrRbHmo5GRb \ No newline at end of file diff --git a/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.p12 b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.p12 new file mode 100644 index 0000000000000000000000000000000000000000..b5c304796966eb6a59476cab4d3630a240aed291 GIT binary patch literal 4233 zcmZWpWmFUZ)+L4^rG{=q!a-n22|+@-Ly(Zpp`@e*Mi`K;p<4tg=@MzA8yt}C?g0kL z&)xIw?%A{Fo%h~7_ult@UI>gd3=0z*0wa|I;)CHzaP%WgT+BQeDIWkv%Kew-gurkz z|4YJ&2EcG4{?eg;I~Yj#|5ro=m{@r*zzqZjKtrAa3I0X@eNGRc=$cw9D0!-J$i2M3 z@kpcsgo$^fh=q;Otp$Jq`dcoM^6>GQNQpIwlBXi~VU3@viuC*Ub4}Aw5mKd>`C9ek z161iz;mTx=b!CH>M=2}@moy^zZMW@0%}6OmaKc5$J5n(FmdfVOq)s4LV>))vG?jl5 zLe3;bA|x=C*^r1)F)wu;UvYs$t0Z#L`Z@+Ksn*y+-?48`VLkxh?@GI$_6i&P%xsyV zgL0Yz9SQ*ww4_#FUEa`oaB@DXk}1f-I?{P2n(8psvo06BqbD8uP-j0;DNPw}s>JS2 z9Q>vCBfl_GQo51tM9@2xV>+&kChy08V+|64aD3+N$z`{s;;adQRS^a?yrx=d7(&H~FOQ2)A(qxKvX2;-7!&$)nqT zE-7sbLp;=)b`*T(Lj)j&!f@?dfXv>R+L+P0x*^@X5pFi2#QMG(^E$CqCNhdk=?Gz^;Z{E6SlK4`dg+&uY|Mt@70!RN^at&z(BsQ8s~JYC zf;ekTS%(0)X*E~FAztL%5BWngi#C#DY|WBMjWZI zr0+B|PEZ92E*r1RmXM{eMC9D2-O`M-xwT8E76a%O`qmlU1#sMY(V!E5i=XC>jTIQ!nWocm3)>)>9W4{Q=tQiUJMVxM| z{BaT!bd1wpu=>OZJ{+SrGi*Fw*1zET3IhAubEJ|}qqrA6Il}_lWjgqyCJ~NM@dq|n zxcL^eRLi%iBJmVlRTS|G6+YQAv53Hz$_n`(=SqHxmn!h4_-K{X;w`qTny+9|2st

RdUb*WB-c_xCu?l|Zp$TDCI6o$&_Ft(v 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 literal 0 HcmV?d00001 diff --git a/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.props b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.props new file mode 100644 index 00000000..53c6de05 --- /dev/null +++ b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.props @@ -0,0 +1,21 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:24:02.090+0000 +# @copyright 2019, AT&T +############################################################ +aaf_env=DEV +aaf_id=dmaap-dr-node@dmaap-dr.onap.org +aaf_locate_url=https://aaf-locate:8095 +aaf_locator_container=docker +aaf_locator_container_ns=onap +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.introspect:2.1/introspect +aaf_oauth2_token_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.token:2.1/token +aaf_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.service:2.1 +aaf_url_cm=https://AAF_LOCATE_URL/%CNS.%AAF_NS.cm:2.1 +aaf_url_fs=https://AAF_LOCATE_URL/%CNS.%AAF_NS.fs:2.1 +aaf_url_gui=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.1 +aaf_url_hello=https://aaf-locate:8095/locate/onap.org.osaaf.aaf.hello:2.1 +aaf_url_oauth=https://AAF_LOCATE_URL/%CNS.%AAF_NS.oauth:2.1 +cadi_prop_files=src/test/resources/aaf/org.onap.dmaap-dr.location.props:src/test/resources/aaf/org.onap.dmaap-dr.cred.props +cadi_protocols=TLSv1.1,TLSv1.2 diff --git a/datarouter-node/src/test/resources/logback-test.xml b/datarouter-node/src/test/resources/logback-test.xml new file mode 100644 index 00000000..77c471ec --- /dev/null +++ b/datarouter-node/src/test/resources/logback-test.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + ${defaultPattern} + + + + + + + + + + + + ${logDirectory}/${auditLog}.log + + + + ${logDirectory}/${auditLog}.%i.log.zip + + 1 + 9 + + + 50MB + + + ${defaultPattern} + + + + + 256 + + + + + + + ${logDirectory}/${metricsLog}.log + + + + ${logDirectory}/${metricsLog}.%i.log.zip + + 1 + 9 + + + 50MB + + + ${defaultPattern} + + + + + 256 + + + + + + + + ${logDirectory}/${debugLog}.log + + + + ${logDirectory}/${debugLog}.%i.log.zip + + 1 + 9 + + + 50MB + + + ${defaultPattern} + + + + + 256 + + + + + + + ${logDirectory}/${errorLog}.log + + + + ${logDirectory}/${errorLog}.%i.log.zip + + 1 + 9 + + + 50MB + + + ${defaultPattern} + + + + + 256 + + + + + + ${logDirectory}/${jettyLog}.log + + + ${logDirectory}/${jettyLog}.%i.log.zip + + 1 + 9 + + + 50MB + + + ${defaultPattern} + + + + + 256 + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/datarouter-node/src/test/resources/node_test.properties b/datarouter-node/src/test/resources/node_test.properties index 9e0cd994..9359e8dc 100644 --- a/datarouter-node/src/test/resources/node_test.properties +++ b/datarouter-node/src/test/resources/node_test.properties @@ -57,26 +57,11 @@ SpoolDir = src/test/resources/spool RedirectionFile = src/test/redirections.dat # # The type of keystore for https -KeyStoreType = jks -# -# The path to the keystore for https -KeyStoreFile = aaf_certs/org.onap.dmaap-dr.jks -# -# The password for the https keystore -KeyStorePassword=WGxd2P6MDo*Bi4+UdzWs{?$8 -# -# The password for the private key in the https keystore -KeyPassword=WGxd2P6MDo*Bi4+UdzWs{?$8 +KeyStoreType = PKCS12 # # The type of truststore for https TrustStoreType = jks # -# The path to the truststore for https -TrustStoreFile = aaf_certs/org.onap.dmaap-dr.trust.jks -# -# The password for the https truststore -TrustStorePassword=)OBvCd{e{aWq.^mJJdX:S:1& -# # The path to the file used to trigger an orderly shutdown QuiesceFile = etc/SHUTDOWN # @@ -95,9 +80,9 @@ AAFInstance = legacy # AAF action to generate permission string - default should be publish AAFAction = publish # -# AAF URL to connect to AAF server -AafUrl = https://aaf-onap-test.osaaf.org:8095 -# # AAF CADI enabled flag CadiEnabled = false +# +# AAF Props file path +AAFPropsFilePath = src/test/resources/aaf/org.onap.dmaap-dr.props diff --git a/datarouter-prov/aaf_certs/org.onap.dmaap-dr.jks b/datarouter-prov/aaf_certs/org.onap.dmaap-dr.jks deleted file mode 100644 index 17027970e4560d4ab6fe9c59439eb2aa7bbd9831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3647 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 diff --git a/datarouter-prov/aaf_certs/org.onap.dmaap-dr.keyfile b/datarouter-prov/aaf_certs/org.onap.dmaap-dr.keyfile deleted file mode 100644 index 59f161f9..00000000 --- a/datarouter-prov/aaf_certs/org.onap.dmaap-dr.keyfile +++ /dev/null @@ -1,27 +0,0 @@ -XzAbZ4lSt3j0vgqonk1lGgt_2IvBzet-MDbt7nlxdj5vrQbUBET9eqIfjRBMlen0E815nYm6nRBi -RR2fUKzqO8JIn2s19e3fmYrp9wTbIkY9GXOzsnuSeyRxVxxW-82VrAD-gSBmqUEJvPjqjVWinadL -LVy1h9lE35EErQkBpK_GmqVp2RajjXv8N_5LcKkkc4vYJQ8WclOHwN_BnQpNS1NLBWJVXSPeVwjM -zIkQ10Q6GGEGCurBPLef9UiXD73oVnQsVyZY3E87X7RbDfCiVbfmHN1hyVkR3DX6gDfrfjTnqkqE -Hv7kw43qXx9-aRCHrqnmaGYBTscU5JgxTNpqe5hvxLJHnDwLTtHDx-vES0PljekcofQVT5pWJvRK -ltZtPQwuGlapONa_rDuMq3sSDx8gXKE01rjK0bNDurIPvFzyef0RoDYIc3m4M-KdsBMlnE7oyBAz -OXCPt42HLJX55F9boRIWwSy-8o3AsPXwQTwEKoD7ZUL4pZ2Zf45npfQLlhhs5x_ERcPTrOXrF7Uu -40HxQnMbwO_Ofz7CrlKe78UImSJbsQp0heyBbr6irHrMq6_E1DqbjWafs_a4kKNbtfN4fHHvxkA0 -9J_plrqVOoBqFaeUc9MJt_6WBYq2vDFbHSvBf9QZKnaVZ3aKU2MzV2Y5xjw7V6rgDQHwmXXeAmfV --Z3JT5ocQhyG4SqyKhSrzh4nGOMt51yy68hPPHMrYnpW8VF99qTLqSmQfLAeNqog413Efj75oQDW -JLw1BR56ABvCPdcR5wZruo2Egwak1UyiRL0Mjd8txrjc4uojiiqddqalEQrORvn4BgP0OKQOOdUx -dArQ4HqjBGwvurQUM0XjBvyqki1h1pxhSNeuyOY3mofVB2NNi-ZvSHHUpwqIgQ4kVLombpsKw2W9 -AW-3h4cLYl3LgP_LRH5mS8Mo_BEKZqivM9v9YYVZCgB2Djqyn3MQXpcFSxaB1AK9wG4TmMneFP7W -_dHqJnx26njAtff1y2ud8cmW_UGgzMb33QGIjIrYo3AVX8_G8iEQ-838fDpGE7BdqLSam-BMoeo3 -WPht7-O8gx7utuYx1ceCetunKRmh3Tfga_0srBNDWMyzuiPvbLX3oUJO_F5p5734Qwm5CeqCAaJv -sU_yfzTgUPqS6jC9cuKi54h3HrzV-k7DcSdGrpsAgzYZdHwi7XFfAzFOhkpBeNUNzDCX8B7yTHjU -dKdGDezdgs7lMWbJwnSNFDyTwbZdk4XTnSrtdhmOZp4oVizEQgha0Un0ISKQ519kajTFj1rZV6ue -h8SzN4QXOw6BHYB5rsy8YEvWbkfyneQ74HeyeWRRq3p4UdBTTUn2JbGM0neErRrxnYvmKIdFlSsU -NlEgNf7dh_kqdWUBkXfud32ftazttjmiO4zkqBupsJTlxj9Tjam9aZqNhunPNI9znf4luKAiRa3v -26giSwRUX8mjlK5FvBNUbLeFM-G3Pk2jQej13q1lZ3PZMesLjUwvvMIdlu9qmDx_TCYSy72-6O2A -qmPlUeYCKgI8eVaZV79aM6YtomaopHiPCcyJGWl114Ke4j8H3-Lg3EkjfVROwQw_fKn2z4Eci7io -LetFQnibRw2ow-Z0F-Db3kuEuRTgmb6U0pMUO3njou6Sq7oa_gaND0XYHy6MKGu1uJ9aKVLZ9uy4 -m9KRxZvq71LRJkD84y9bMv14lxzUsosuzbXV7Q_uz8kceWSq_1BLXQXam9j5rxN6SKEk_Rn0jgnX -h4A4e7q6loMXUq4nPSVII9K6pHAqfi1sDLhVZ239XcLBwKY9R5f0jgYy76AI1dN-_oEMdXJf_L6w -KuRJ4jy0XSfyV_QvS6at77san2UIOkdY_tuI03Ps3fTzSaztsy5yX22t-6TnkFSoYxGkuMw9R-Rn -ZwJIanS3v_wQbgNdUB6JIlE_9kkHYCokheldHkKndV8eEc6Z6bgasNWKB3PreI1m6UrfZI3agd-n -zhsQppGFk8j7Tkq4S_9SP1OFVCgCT3-mU0UhPhDhCFPM1bladfj8RptCbPKO66evW1c_ooU2 \ No newline at end of file diff --git a/datarouter-prov/aaf_certs/org.onap.dmaap-dr.trust.jks b/datarouter-prov/aaf_certs/org.onap.dmaap-dr.trust.jks deleted file mode 100644 index 2fe06cd216fb21c2882dde477f0c1fc327beefc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1413 zcmb7DYdF&j9Ntxju_ZN&36ZmQsQ;|h6pa-*E+Nf?Vil%D>d5`UPFslFaw~J~5LPVa zlKWC_vnEd}4>pfFDTldqk!sGI=X~hH`Eow|p7(j*-~0TY--q{A%qiwTAP_`3;D1o< z48u1#^b8}|7f?z;FP+DWL2%DqB)|d$f>Qw&{2;)Bnv_5xUU;00c&in z(04fCEcFyl)RfnL?eUC%x)e_>^v^N%l%)Q#fA1{Ms14=h)51;E&P;cy<>6-c@;W%< zs;C3Zr0_Do)$I4_u(m*h)UooM!Whya--X^mb!;{6R7W?ux6>`XWU8sIcSBF}Uzyv;lE;+44R{GL>UbD;|uqI$eMDUb)feSyMphBX~NHeCXR$N|AHo&Ba4Vlk07OG~=a}WFr}` zllGw&y`PtZ8n?o95;oo+>10HCe2G(iJLDaB=eQ;W3I>78&j1WSPZ>cyBn%DP>`o&t zInGMl_}!7Wx^aXU`TMzF0sZy05ex&M6aL$PS~qBc!D}!$0968jTo+L50!&#D&W|xv zwn7<0Fo>ex$E=MkcCMr71Tri;%#QW-ZaAl~t0PS&g%}ZciEymVYbgx3SBQg9Wh_J^r5z=bZ(IAC=AH^ zcpu0ph!SlfAMn=u7JuPHw@DZGd+xKlu#&LLlUpxGrrs{RXUi!6>M$Ux>+-R!DlPKX z${yTNlkm=3*kdlO54*^2Xl*7NJiabXH)g+fP1B@AmK0YkiJwQt%$)B_$JD&wrEntz zkG4f8o6sC;TiP9uh(Zm)i+zoDBY8+^MDi!nLmgOy)1BgL=ivC*m;*!RvAC0?DCCEU zPqKt9Z`fvDlQ1|xB7||U%RMv0f|J|HLsj4v3Gr+j50hUOMJwSMyv?|f6!xhL^3yCG zX{!F(-O4I7@i79ojGG9NWL2yM$6M&|Gl^-s0};)ZID@~+3XW(Ah`Xl)q<$33!xeX` z4Cz|K9f8z0%o1?b%E0s(rLk-07qMf>E6?0xrQF%06Ck~Nr3+X5nr1Le7It`aKV8nX z4lDR{JWeuo=|QElkFg|qd+V(g)a_p0)C4wn*8Hc;25RtOg)61`Rwvr9=j!BnH~$lX zY-{l}CI0*ARJ!G+kC<46BTvj{8y(9iCke3+$78Ob-l4a~zU9iFy$Hf;hjSvDjh}kS Tj|dn4e5d{Vg#~g?t4#H8f@Wk3 diff --git a/datarouter-prov/pom.xml b/datarouter-prov/pom.xml index 92a1bf46..e141595e 100755 --- a/datarouter-prov/pom.xml +++ b/datarouter-prov/pom.xml @@ -44,6 +44,15 @@ false + + org.apache.commons + commons-lang3 + + + org.mariadb.jdbc + mariadb-java-client + 2.3.0 + org.hamcrest hamcrest-library @@ -124,47 +133,51 @@ org.apache.httpcomponents httpclient + + org.dom4j + dom4j + 2.1.1 + org.sonatype.http-testing-harness junit-runner + test junit junit + test org.mockito mockito-core + test org.powermock powermock-module-junit4 + test org.powermock powermock-api-mockito + test org.powermock powermock-api-support + test org.powermock powermock-core - - - org.apache.commons - commons-lang3 - - - org.mariadb.jdbc - mariadb-java-client - 2.3.0 + test com.h2database h2 1.4.197 + test org.hibernate @@ -176,22 +189,18 @@ dom4j + test org.hamcrest - hamcrest-core - 1.3 + hamcrest-library test org.hibernate.javax.persistence hibernate-jpa-2.1-api 1.0.2.Final - - - org.dom4j - dom4j - 2.1.1 + test @@ -254,20 +263,7 @@ true **/*.properties - - - - src/main/resources - true - - **/provserver.properties - - - - src/main/resources - true - - **/EelfMessages.properties + **/logback.xml @@ -349,7 +345,7 @@ - copy-resources-2 + copy-resources-etc validate copy-resources @@ -363,61 +359,32 @@ misc/** **/** + + aaf/** + docker/** + - copy-resources-3 + copy-aaf-props validate copy-resources - ${basedir}/target/docker-stage/opt/app/datartr + ${basedir}/target/docker-stage/opt/app/osaaf/local - ${basedir}/data + ${basedir}/src/main/resources/aaf - misc/** **/** - - copy-resources-4 - validate - - copy-resources - - - ${basedir}/target/docker-stage/opt/app/datartr/aaf_certs - - - ${basedir}/aaf_certs - - misc/** - **/** - - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - ${project.build.directory}/docker-stage/opt/app/datartr/lib - - diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java index aefe8cdf..3269c843 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java @@ -24,10 +24,12 @@ package org.onap.dmaap.datarouter.provisioning; +import static java.lang.System.exit; + import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; +import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.security.Security; import java.util.EnumSet; import java.util.Properties; @@ -51,8 +53,7 @@ import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.util.thread.QueuedThreadPool; -import org.onap.aaf.cadi.PropAccess; - +import org.onap.dmaap.datarouter.provisioning.utils.AafPropsUtils; import org.onap.dmaap.datarouter.provisioning.utils.DB; import org.onap.dmaap.datarouter.provisioning.utils.DRProvCadiFilter; import org.onap.dmaap.datarouter.provisioning.utils.LogfileLoader; @@ -90,15 +91,6 @@ import org.onap.dmaap.datarouter.provisioning.utils.ThrottleFilter; */ public class Main { - /** - * The truststore to use if none is specified. - */ - static final String DEFAULT_TRUSTSTORE = "/opt/java/jdk/jdk180/jre/lib/security/cacerts"; - static final String KEYSTORE_TYPE_PROPERTY = "org.onap.dmaap.datarouter.provserver.keystore.type"; - static final String KEYSTORE_PATH_PROPERTY = "org.onap.dmaap.datarouter.provserver.keystore.path"; - static final String KEYSTORE_PASS_PROPERTY = "org.onap.dmaap.datarouter.provserver.keystore.password"; - static final String TRUSTSTORE_PATH_PROPERTY = "org.onap.dmaap.datarouter.provserver.truststore.path"; - static final String TRUSTSTORE_PASS_PROPERTY = "org.onap.dmaap.datarouter.provserver.truststore.password"; public static final EELFLogger intlogger = EELFManager.getInstance() .getLogger("org.onap.dmaap.datarouter.provisioning.internal"); @@ -106,18 +98,7 @@ public class Main { * The one and only {@link Server} instance in this JVM. */ private static Server server; - - class Inner { - InputStream getCadiProps() { - InputStream in = null; - try { - in = getClass().getClassLoader().getResourceAsStream("drProvCadi.properties"); - } catch (Exception e) { - intlogger.error("Exception in Main.getCadiProps(): " + e.getMessage(), e); - } - return in; - } - } + static AafPropsUtils aafPropsUtils; /** * Starts the Data Router Provisioning server. @@ -129,10 +110,11 @@ public class Main { Security.setProperty("networkaddress.cache.ttl", "4"); // Check DB is accessible and contains the expected tables if (!checkDatabase()) { - System.exit(1); + intlogger.error("Data Router Provisioning database init failure. Exiting."); + exit(1); } - intlogger.info("PROV0000 **** AT&T Data Router Provisioning Server starting...."); + intlogger.info("PROV0000 **** Data Router Provisioning Server starting...."); Security.setProperty("networkaddress.cache.ttl", "4"); Properties provProperties = (new DB()).getProperties(); @@ -180,6 +162,16 @@ public class Main { httpConfiguration.setSendServerVersion(true); httpConfiguration.setSendDateHeader(false); + try { + AafPropsUtils.init(new File(provProperties.getProperty( + "org.onap.dmaap.datarouter.provserver.aafprops.path", + "/opt/app/osaaf/local/org.onap.dmaap-dr.props"))); + } catch (IOException e) { + intlogger.error("NODE0314 Failed to load AAF props. Exiting", e); + exit(1); + } + aafPropsUtils = AafPropsUtils.getInstance(); + //HTTP Connector HandlerCollection handlerCollection; try (ServerConnector httpServerConnector = @@ -190,19 +182,19 @@ public class Main { // SSL Context SslContextFactory sslContextFactory = new SslContextFactory(); - sslContextFactory.setKeyStoreType(provProperties.getProperty(KEYSTORE_TYPE_PROPERTY, "jks")); - sslContextFactory.setKeyStorePath(provProperties.getProperty(KEYSTORE_PATH_PROPERTY)); - sslContextFactory.setKeyStorePassword(provProperties.getProperty(KEYSTORE_PASS_PROPERTY)); - sslContextFactory.setKeyManagerPassword(provProperties - .getProperty("org.onap.dmaap.datarouter.provserver.keymanager.password")); - - String ts = provProperties.getProperty(TRUSTSTORE_PATH_PROPERTY); - if (ts != null && ts.length() > 0) { - intlogger.info("@@ TS -> " + ts); - sslContextFactory.setTrustStorePath(ts); - sslContextFactory.setTrustStorePassword(provProperties.getProperty(TRUSTSTORE_PASS_PROPERTY)); + sslContextFactory.setKeyStoreType(AafPropsUtils.KEYSTORE_TYPE_PROPERTY); + sslContextFactory.setKeyStorePath(aafPropsUtils.getKeystorePathProperty()); + sslContextFactory.setKeyStorePassword(aafPropsUtils.getKeystorePassProperty()); + sslContextFactory.setKeyManagerPassword(aafPropsUtils.getKeystorePassProperty()); + + String truststorePathProperty = aafPropsUtils.getTruststorePathProperty(); + if (truststorePathProperty != null && truststorePathProperty.length() > 0) { + intlogger.info("@@ TS -> " + truststorePathProperty); + sslContextFactory.setTrustStoreType(AafPropsUtils.TRUESTSTORE_TYPE_PROPERTY); + sslContextFactory.setTrustStorePath(truststorePathProperty); + sslContextFactory.setTrustStorePassword(aafPropsUtils.getTruststorePassProperty()); } else { - sslContextFactory.setTrustStorePath(DEFAULT_TRUSTSTORE); + sslContextFactory.setTrustStorePath(AafPropsUtils.DEFAULT_TRUSTSTORE); sslContextFactory.setTrustStorePassword("changeit"); } @@ -263,23 +255,9 @@ public class Main { //CADI Filter activation check if (Boolean.parseBoolean(provProperties.getProperty( "org.onap.dmaap.datarouter.provserver.cadi.enabled", "false"))) { - //Get cadi properties - Properties cadiProperties = null; - try { - intlogger.info("PROV0001 Prov - Loading CADI properties"); - cadiProperties = new Properties(); - Inner obj = new Main().new Inner(); - InputStream in = obj.getCadiProps(); - cadiProperties.load(in); - } catch (IOException ioe) { - intlogger.error("PROV0001 Exception loading CADI properties: " + ioe.getMessage(), ioe); - } - cadiProperties.setProperty("aaf_locate_url", provProperties.getProperty("org.onap.dmaap.datarouter.provserver.cadi.aaf.url", "https://aaf-onap-test.osaaf.org:8095")); - intlogger.info("PROV0001 aaf_url set to - " + cadiProperties.getProperty("aaf_url")); - - PropAccess access = new PropAccess(cadiProperties); - servletContextHandler.addFilter(new FilterHolder(new DRProvCadiFilter(true, access)), + servletContextHandler.addFilter(new FilterHolder(new DRProvCadiFilter(true, aafPropsUtils.getPropAccess())), "/*", EnumSet.of(DispatcherType.REQUEST)); + intlogger.info("PROV0001 AAF CADI Auth enabled for "); } ContextHandlerCollection contextHandlerCollection = new ContextHandlerCollection(); @@ -306,7 +284,8 @@ public class Main { server.start(); intlogger.info("Prov Server started-" + server.getState()); } catch (Exception e) { - intlogger.info("Jetty failed to start. Reporting will we unavailable: " + e.getMessage(), e); + intlogger.error("Jetty failed to start. Exiting: " + e.getMessage(), e); + exit(1); } server.join(); intlogger.info("PROV0001 **** AT&T Data Router Provisioning Server halted."); @@ -325,7 +304,7 @@ public class Main { try { server.stop(); Thread.sleep(5000L); - System.exit(0); + exit(0); } catch (Exception e) { intlogger.error("Exception in Main.shutdown(): " + e.getMessage(), e); } diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java index c9075b0c..72d55a4c 100755 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java @@ -53,6 +53,7 @@ import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.entity.BasicHttpEntity; import org.apache.http.impl.client.AbstractHttpClient; import org.apache.http.impl.client.DefaultHttpClient; +import org.onap.dmaap.datarouter.provisioning.utils.AafPropsUtils; import org.onap.dmaap.datarouter.provisioning.utils.DB; import org.onap.dmaap.datarouter.provisioning.utils.URLUtilities; @@ -80,21 +81,23 @@ public class ProxyServlet extends BaseServlet { super.init(config); try { // Set up keystore - Properties props = (new DB()).getProperties(); - String store = props.getProperty(Main.TRUSTSTORE_PATH_PROPERTY); - String pass = props.getProperty(Main.TRUSTSTORE_PASS_PROPERTY); + String type = AafPropsUtils.KEYSTORE_TYPE_PROPERTY; + String store = Main.aafPropsUtils.getKeystorePathProperty(); + String pass = Main.aafPropsUtils.getKeystorePassProperty(); + KeyStore keyStore = readStore(store, pass, type); + // Set up truststore + store = Main.aafPropsUtils.getTruststorePathProperty(); + pass = Main.aafPropsUtils.getTruststorePassProperty(); if (store == null || store.length() == 0) { - store = Main.DEFAULT_TRUSTSTORE; + store = AafPropsUtils.DEFAULT_TRUSTSTORE; pass = "changeit"; } - KeyStore trustStore = readStore(store, pass, KeyStore.getDefaultType()); + KeyStore trustStore = readStore(store, pass, AafPropsUtils.TRUESTSTORE_TYPE_PROPERTY); // We are connecting with the node name, but the certificate will have the CNAME // So we need to accept a non-matching certificate name - String type = props.getProperty(Main.KEYSTORE_TYPE_PROPERTY, "jks"); - KeyStore keyStore = readStore(store, pass, type); SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore, - props.getProperty(Main.KEYSTORE_PASS_PROPERTY), trustStore); + Main.aafPropsUtils.getKeystorePassProperty(), trustStore); socketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); sch = new Scheme("https", 443, socketFactory); inited = true; diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java index 5d0592c3..2a907fb7 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java @@ -77,6 +77,7 @@ import org.onap.dmaap.datarouter.provisioning.beans.NetworkRoute; import org.onap.dmaap.datarouter.provisioning.beans.Parameters; import org.onap.dmaap.datarouter.provisioning.beans.Subscription; import org.onap.dmaap.datarouter.provisioning.beans.Syncable; +import org.onap.dmaap.datarouter.provisioning.utils.AafPropsUtils; import org.onap.dmaap.datarouter.provisioning.utils.DB; import org.onap.dmaap.datarouter.provisioning.utils.LogfileLoader; import org.onap.dmaap.datarouter.provisioning.utils.RLEBitSet; @@ -144,20 +145,21 @@ public class SynchronizerTask extends TimerTask { logger.info("PROV5000: Sync task starting, server podState is UNKNOWN_POD"); try { - Properties props = (new DB()).getProperties(); - String type = props.getProperty(Main.KEYSTORE_TYPE_PROPERTY, "jks"); - String store = props.getProperty(Main.KEYSTORE_PATH_PROPERTY); - String pass = props.getProperty(Main.KEYSTORE_PASS_PROPERTY); + // Set up keystore + String type = AafPropsUtils.KEYSTORE_TYPE_PROPERTY; + String store = Main.aafPropsUtils.getKeystorePathProperty(); + String pass = Main.aafPropsUtils.getKeystorePassProperty(); KeyStore keyStore = KeyStore.getInstance(type); try (FileInputStream instream = new FileInputStream(new File(store))) { keyStore.load(instream, pass.toCharArray()); } - store = props.getProperty(Main.TRUSTSTORE_PATH_PROPERTY); - pass = props.getProperty(Main.TRUSTSTORE_PASS_PROPERTY); + // Set up truststore + store = Main.aafPropsUtils.getTruststorePathProperty(); + pass = Main.aafPropsUtils.getTruststorePassProperty(); KeyStore trustStore = null; if (store != null && store.length() > 0) { - trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); + trustStore = KeyStore.getInstance(AafPropsUtils.TRUESTSTORE_TYPE_PROPERTY); try (FileInputStream instream = new FileInputStream(new File(store))) { trustStore.load(instream, pass.toCharArray()); @@ -166,7 +168,7 @@ public class SynchronizerTask extends TimerTask { // We are connecting with the node name, but the certificate will have the CNAME // So we need to accept a non-matching certificate name - String keystorepass = props.getProperty(Main.KEYSTORE_PASS_PROPERTY); + String keystorepass = Main.aafPropsUtils.getKeystorePassProperty(); try (AbstractHttpClient hc = new DefaultHttpClient()) { SSLSocketFactory socketFactory = (trustStore == null) @@ -177,18 +179,18 @@ public class SynchronizerTask extends TimerTask { hc.getConnectionManager().getSchemeRegistry().register(sch); httpclient = hc; } - setSynchTimer(props); + setSynchTimer(new DB().getProperties().getProperty( + "org.onap.dmaap.datarouter.provserver.sync_interval", "5000")); } catch (Exception e) { logger.warn("PROV5005: Problem starting the synchronizer: " + e); } } - private void setSynchTimer(Properties props) { + private void setSynchTimer(String strInterval) { // Run once every 5 seconds to check DNS, etc. long interval; try { - String str = props.getProperty("org.onap.dmaap.datarouter.provserver.sync_interval", "5000"); - interval = Long.parseLong(str); + interval = Long.parseLong(strInterval); } catch (NumberFormatException e) { interval = 5000L; } diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtils.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtils.java new file mode 100644 index 00000000..68981599 --- /dev/null +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/AafPropsUtils.java @@ -0,0 +1,102 @@ +/* + * ============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========================================================= + */ + +package org.onap.dmaap.datarouter.provisioning.utils; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import org.onap.aaf.cadi.PropAccess; + +public class AafPropsUtils { + + private static AafPropsUtils aafPropsUtilsInstance = null; + private static EELFLogger eelfLogger = EELFManager.getInstance().getLogger(AafPropsUtils.class); + + public static final String DEFAULT_TRUSTSTORE = "/opt/app/osaaf/local/org.onap.dmaap-dr.trust.jks"; + public static final String KEYSTORE_TYPE_PROPERTY = "PKCS12"; + public static final String TRUESTSTORE_TYPE_PROPERTY = "jks"; + private static final String KEYSTORE_PATH_PROPERTY = "cadi_keystore"; + private static final String KEYSTORE_PASS_PROPERTY = "cadi_keystore_password_p12"; + private static final String TRUSTSTORE_PATH_PROPERTY = "cadi_truststore"; + private static final String TRUSTSTORE_PASS_PROPERTY = "cadi_truststore_password"; + + private PropAccess propAccess; + + private AafPropsUtils(File propsFile) throws IOException { + propAccess = new PropAccess(); + try { + propAccess.load(new FileInputStream(propsFile)); + } catch (IOException e) { + eelfLogger.error("Failed to load props file: " + propsFile + "\n" + e.getMessage(), e); + throw e; + } + } + + public static synchronized void init(File propsFile) throws IOException { + if (aafPropsUtilsInstance != null) { + throw new IllegalStateException("Already initialized"); + } + aafPropsUtilsInstance = new AafPropsUtils(propsFile); + } + + public static AafPropsUtils getInstance() { + if (aafPropsUtilsInstance == null) { + throw new IllegalStateException("Call AafPropsUtils.init(File propsFile) first"); + } + return aafPropsUtilsInstance; + } + + private String decryptedPass(String password) { + String decryptedPass = null; + try { + decryptedPass = propAccess.decrypt(password, false); + } catch (IOException e) { + eelfLogger.error("Failed to decrypt " + password + " : " + e.getMessage(), e); + } + return decryptedPass; + } + + public PropAccess getPropAccess() { + if (propAccess == null) { + throw new IllegalStateException("Call AafPropsUtils.init(File propsFile) first"); + } + return propAccess; + } + + public String getKeystorePathProperty() { + return propAccess.getProperty(KEYSTORE_PATH_PROPERTY); + } + + public String getKeystorePassProperty() { + return decryptedPass(propAccess.getProperty(KEYSTORE_PASS_PROPERTY)); + } + + public String getTruststorePathProperty() { + return propAccess.getProperty(TRUSTSTORE_PATH_PROPERTY); + } + + public String getTruststorePassProperty() { + return decryptedPass(propAccess.getProperty(TRUSTSTORE_PASS_PROPERTY)); + } + +} diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DB.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DB.java index 340b4213..a83f81a5 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DB.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DB.java @@ -114,8 +114,7 @@ public class DB { synchronized (queue) { try { connection = queue.remove(); - } catch (NoSuchElementException nseEx) { - intlogger.error("PROV9006 No connection on queue: " + nseEx.getMessage(), nseEx); + } catch (NoSuchElementException ignore) { int num = 0; do { // Try up to 3 times to get a connection diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DRRouteCLI.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DRRouteCLI.java index 867d1163..f078d80e 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DRRouteCLI.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/DRRouteCLI.java @@ -23,6 +23,8 @@ package org.onap.dmaap.datarouter.provisioning.utils; +import static java.lang.System.exit; + import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; import java.io.File; @@ -96,9 +98,9 @@ public class DRRouteCLI { } } - public static final String ENV_VAR = "PROVSRVR"; - public static final String PROMPT = "dr-route> "; - public static final String DEFAULT_TRUSTSTORE_PATH = /* $JAVA_HOME + */ "/jre/lib/security/cacerts"; + private static final String ENV_VAR = "PROVSRVR"; + private static final String PROMPT = "dr-route> "; + private static final String DEFAULT_TRUSTSTORE_PATH = /* $JAVA_HOME + */ "/jre/lib/security/cacerts"; private static final EELFLogger intlogger = EELFManager.getInstance().getLogger("InternalLog"); private final String server; @@ -113,12 +115,20 @@ public class DRRouteCLI { */ public DRRouteCLI(String server) throws Exception { this.server = server; - this.width = 120; this.httpclient = new DefaultHttpClient(); - Properties prop = (new DB()).getProperties(); - String truststoreFile = prop.getProperty("org.onap.dmaap.datarouter.provserver.truststore.path"); - String truststorePw = prop.getProperty("org.onap.dmaap.datarouter.provserver.truststore.password"); + Properties provProperties = (new DB()).getProperties(); + try { + AafPropsUtils.init(new File(provProperties.getProperty( + "org.onap.dmaap.datarouter.provserver.aafprops.path", + "/opt/app/osaaf/local/org.onap.dmaap-dr.props"))); + } catch (IOException e) { + intlogger.error("NODE0314 Failed to load AAF props. Exiting", e); + exit(1); + } + + String truststoreFile = AafPropsUtils.getInstance().getTruststorePathProperty(); + String truststorePw = AafPropsUtils.getInstance().getTruststorePassProperty(); KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); if (truststoreFile == null || truststoreFile.equals("")) { @@ -139,8 +149,8 @@ public class DRRouteCLI { } finally { try { instream.close(); - } catch (Exception ignore) { - intlogger.error("Ignore error closing input stream: " + ignore.getMessage(), ignore); + } catch (Exception e) { + intlogger.error("Ignore error closing input stream: " + e.getMessage(), e); } } } @@ -178,7 +188,7 @@ public class DRRouteCLI { * @param args The command line arguments. * @return true if the command was valid and succeeded */ - public boolean runCommand(String[] args) { + boolean runCommand(String[] args) { String cmd = args[0].trim().toLowerCase(); if (cmd.equals("add")) { if (args.length > 2) { @@ -471,12 +481,12 @@ public class DRRouteCLI { return rv; } - private void printErrorText(HttpEntity entity) throws IllegalStateException, IOException { + private void printErrorText(HttpEntity entity) throws IOException { // Look for and print only the part of the output between

...
InputStream is = entity.getContent(); StringBuilder sb = new StringBuilder(); byte[] bite = new byte[512]; - int num = 0; + int num; while ((num = is.read(bite)) > 0) { sb.append(new String(bite, 0, num)); } diff --git a/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.cred.props b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.cred.props new file mode 100644 index 00000000..ddc3da56 --- /dev/null +++ b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.cred.props @@ -0,0 +1,17 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:52:33.828+0000 +# @copyright 2019, AT&T +############################################################ +Challenge=enc:D1K4bZlKwIDTY6RYX4V1nCgj1mJruMZ4qDaO80iSwm20J8zpUa0qEzOwM-aFjKCe +cadi_alias=dmaap-dr-prov@dmaap-dr.onap.org +cadi_key_password=enc:d80GqeXpOhPOmZAn76t5xgKlq54yAPYQw-OoVqFwcXkCwd58zwHfzZQ3Rgitj30- +cadi_keyfile=/opt/app/osaaf/local/org.onap.dmaap-dr.keyfile +cadi_keystore=/opt/app/osaaf/local/org.onap.dmaap-dr.p12 +cadi_keystore_password=enc:xcPI_-oWnLvQ8SFDyafZG7ii7yZdcgaUwVQFp7x9mkHTnyODGDUaPHb5svAE2euP +cadi_keystore_password_jks=enc:EO1-8pk7wWbiGMriX0aAOX0zxoQ9-ow7LRqOlKgMYVlYGs59yappGzKd0FxkcqM0 +cadi_keystore_password_p12=enc:xcPI_-oWnLvQ8SFDyafZG7ii7yZdcgaUwVQFp7x9mkHTnyODGDUaPHb5svAE2euP +cadi_truststore=/opt/app/osaaf/local/org.onap.dmaap-dr.trust.jks +cadi_truststore_password=enc:XawqMezvaPspcdG9J9tdYx-pEtIu4VaY_QG3ZyLtyWg_gsxvrfg2tInmj95fAkrj +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/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.keyfile b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.keyfile new file mode 100644 index 00000000..c5d9d876 --- /dev/null +++ b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.keyfile @@ -0,0 +1,27 @@ +0wlntBQae2B_RCqlj0vFvThyNkGfB47eGQ-JDX2LvNaIWjhg6P114TZ1dVwoqIUO_GvGdZfXvTNe +9W-86XLVDuaom2Ep0bWGpweiIfnRuXuMWwZy7vNRS_jj1GQ8Y30_SrXft3YVHR_r1AC3XTOk1LSS +Yeo356B7juJuOnkRpZwyZflEZM_U72EymWOd5JKb5ugrtdRBCXzh_pmQ24kxepi8XMFoaViI2ccL +KbL3fjSsberNKsSYqeGtXmcElEvDUfNam_ylxTStu-BbZRjelr5zY-rQnvXl01Tapkdl_ejIo8fT +FcdZTSMH2eic32WGO5QJzIhaEXoJu3oNzK0x-rfyURtE15tJAn6FiFvtWFb8nSnWH8TBUYnTLXiJ +6cBE2ER7MQwf5NMGBa1CaLYzrx4B0ZbrbtBr2ETt7k9r1RxjxAoBBxpiMz9ivRj_KzO1mg8Cc47R +PXkjlspPGsx--568_TVSrrFA5nM8By33kDTZCpQbAboFophLRyQ8r6LPp6qEY5OD3YAzTL09nZsD +brZPLowktube0wJLfsomvtPdol6eg44QuQgdZ4RyOaxbeQl5H9M2t6q9G6vRfyVGDkEwbF-rwllX +XjSmltoUZwhjy7gtYZEnbPjwQcdCho0Pub2jj9xLNKf68oJFRQFB8orYNDoaqVdvRRLyeWOs6P86 +deRMIYPz3DzgzIINxZLyOivxlWXNX-fs5WOe3OUER_q5ONkvV2zXg9qnwQLiqbU_98GE6EA3w5X2 +BXTZsvPQTk9G9K3B-hCb9NIxmCPnlTTAHvmgwI7e4yrXOvHbbW4kAaLiT5CzBrcm7cUv-5ADecCM +NUTHKYqu0HeRr1L5f56OQESp_G16NtStQ3j-9G_bFMrc6gkGMioWaFxdTfBvKYoP7Mbnkaw5L0Tt +TK7PR_3VfET4fdMg33l7YnnRu-B114qGxCQCz7KvcoLfKRwYKi-F5Hf_t36IAAFJheflKkSqzLCF +WjY6cO9DrVz2L60iybXwaNXROVzt2HMLnMLI9e7EQMX7censpQ-NW6vhN7udWiIJ9flerZe3ofK6 +EO70sIAhS0ZkZvTDxiFfc2vryZc3sgtJAW-65D3DRhZyFLW8PerD4NUMpdu-Np-Dt89z4WxElFX5 +ZFs5hkSUSht8-mp84RDLju4y_3jcha5rhptGQMJBOwx9mtnkEoD6U2282dpYsCl3xgXICF1QPCD- +v0oLlded24Tjm9WWeooYo7Gb_tKj8wtNmJwPQ7E9o5gd8XVwrckWugTdXufMmbedKQPZ4bmuqlkx +VI3k05VIYuriTB4t1OsU8OgzoFyTn-38X00dzjJrE40vbX6GdJ51BdcULFz2gJuHKVrLXWPrqEFE +S0moPSU7DyfrgIuRidDwtawAA-JHtgiuf_wrmpShQri1CJ3JCQ6yPAPTBXUjVjzlTCaVkIpmgMoe +tclMBS4AaWP2ac5OPwxP3ldnZcMuHLSVhhxyNLk9nhn8BB8_vtNEZUopU2tb7OKHKgdX47qsP5aa +ueb1_T_0ojj9grruiWO_C0_DaKlpmTh7xKzhCOt3w4IOTezN4If9oJ0AB-3vL7XHb6qs3OZw9Iop +MB1ztIrv1QAE87ZfdyZzZVuNgmosZtNJa2IOjRe83ipr5-DolUgR5OYFNVNg-fFO59SwILdM38U9 +Nq4B_rzR9R7dEdOMp-rs4YBJxqLlL6zZE1tdEP6yba09Dx1fqeh1oXHlWjGSX5JZMnjwrgai_z3q +2h2SeLOUlbyi-i-rMlrqbzro4-kFONIqZdAAsocjGfkoXBtGNJgkmGhHq2TMI2SCXDYqCKtFYOQa +2XSGyJ1QsvOGcHlJhGK-hwFj_JcbnxDx6b_24RrEzWSTXlW0R03JAl9fM24Nk9Y1v5iO6fPfWXU0 +J5BniYOohauEGbogRLwupN9-Deh5JzZlaFCFEDup32oxm4RC6tVk_Ik6jA7C3wVU5pfu8t2lgG6M +PhH0efEjQWNbX5Uv1pbTY8W5bIJ3BSYI4o-cRabaA8UbuCViJ8uvHvFIXew6O3pWDB7vcGKA \ No newline at end of file diff --git a/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.location.props b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.location.props new file mode 100644 index 00000000..4f6befb8 --- /dev/null +++ b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.location.props @@ -0,0 +1,8 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:52:10.009+0000 +# @copyright 2019, AT&T +############################################################ +cadi_latitude=0.00 +cadi_longitude=0.00 diff --git a/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.p12 b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.p12 new file mode 100644 index 0000000000000000000000000000000000000000..bd60d26e2e2cb16b9b33f395c683e7f912aa76af GIT binary patch literal 4233 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 literal 0 HcmV?d00001 diff --git a/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.props b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.props new file mode 100644 index 00000000..561a8782 --- /dev/null +++ b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.props @@ -0,0 +1,21 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2019-10-02T14:52:10.008+0000 +# @copyright 2019, AT&T +############################################################ +aaf_env=DEV +aaf_id=dmaap-dr-prov@dmaap-dr.onap.org +aaf_locate_url=https://aaf-locate:8095 +aaf_locator_container=docker +aaf_locator_container_ns=onap +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.introspect:2.1/introspect +aaf_oauth2_token_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.token:2.1/token +aaf_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.service:2.1 +aaf_url_cm=https://AAF_LOCATE_URL/%CNS.%AAF_NS.cm:2.1 +aaf_url_fs=https://AAF_LOCATE_URL/%CNS.%AAF_NS.fs:2.1 +aaf_url_gui=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.1 +aaf_url_hello=https://aaf-locate:8095/locate/onap.org.osaaf.aaf.hello:2.1 +aaf_url_oauth=https://AAF_LOCATE_URL/%CNS.%AAF_NS.oauth:2.1 +cadi_prop_files=/opt/app/osaaf/local/org.onap.dmaap-dr.location.props:/opt/app/osaaf/local/org.onap.dmaap-dr.cred.props +cadi_protocols=TLSv1.1,TLSv1.2 diff --git a/datarouter-node/aaf_certs/org.onap.dmaap-dr.trust.jks b/datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.trust.jks similarity index 92% rename from datarouter-node/aaf_certs/org.onap.dmaap-dr.trust.jks rename to datarouter-prov/src/main/resources/aaf/org.onap.dmaap-dr.trust.jks index 808c1b92945bb1394787a2506ce70c11ab184cfd..0c9da2e50cd7b757e572b8e92a2b82328b8a4915 100644 GIT binary patch delta 37 tcmZqWZsndJ&zjrwHE!-k6<<~nHcP>NfybY!HoVcl=D1Rf@90|N6#xkm4>JG& delta 37 vcmV+=0NVeB3xx}i9|dXHHlI?lBuxbrkxf&d^@`SbH?5Rb**/*.properties - - src/main/resources - true - - **/subscriber.properties - - - - src/main/resources - true - - **/log4j.properties - - - - src/test/resources - true - - **/log4j.properties - - @@ -225,7 +204,7 @@ ${basedir}/src/main/resources/docker true - **/* + Dockerfile @@ -271,19 +250,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - ${project.build.directory}/docker-stage/opt/app/subscriber/lib - - - - org.apache.maven.plugins maven-source-plugin diff --git a/pom.xml b/pom.xml index 0e24a373..22b32d23 100755 --- a/pom.xml +++ b/pom.xml @@ -32,11 +32,11 @@ org.onap.oparent oparent - 2.0.0 + 2.1.0 - 2.1.2-SNAPSHOT + 2.1.3-SNAPSHOT UTF-8 1.8 1.8 @@ -65,7 +65,7 @@ 1.5.5 4.0.1 1.2.3 - 2.1.10 + 2.1.15 1.13 1.5 0.28.0 @@ -198,6 +198,7 @@ org.sonatype.http-testing-harness junit-runner ${junit-runner.version} + test org.databene diff --git a/version.properties b/version.properties index 44a1614c..11080dd0 100644 --- a/version.properties +++ b/version.properties @@ -27,7 +27,7 @@ major=2 minor=1 -patch=2 +patch=3 base_version=${major}.${minor}.${patch} -- 2.16.6