summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvarun gudisena <vg411h@att.com>2018-08-20 20:10:48 +0000
committerGerrit Code Review <gerrit@onap.org>2018-08-20 20:10:48 +0000
commit6f4e9032175b23aa84462bcf5f3a3054e6516453 (patch)
tree9fa97a103f4fc4ef63a969af54c3cc4226927d0a
parent31f5882433bc419bdedd47f7e973bb5a98d31538 (diff)
parentab50267d7a22cffddb4ebf22dc4bee6904f787a9 (diff)
Merge "Bootstrap initial CA"
-rw-r--r--auth/docker/aaf.sh48
-rw-r--r--auth/docker/d.props.init8
-rw-r--r--auth/sample/local/aaf.props2
-rw-r--r--auth/sample/local/org.osaaf.aaf.cm.ca.props2
4 files changed, 54 insertions, 6 deletions
diff --git a/auth/docker/aaf.sh b/auth/docker/aaf.sh
index a54c54a1..efd4fe37 100644
--- a/auth/docker/aaf.sh
+++ b/auth/docker/aaf.sh
@@ -1,9 +1,8 @@
#!/bin/bash
. ./d.props
-docker run \
- -it \
- --rm \
+function run_it() {
+ docker run $@ \
--mount 'type=volume,src=aaf_config,dst='$CONF_ROOT_DIR',volume-driver=local' \
--add-host="$HOSTNAME:$HOST_IP" \
--add-host="aaf.osaaf.org:$HOST_IP" \
@@ -13,4 +12,45 @@ docker run \
--env LONGITUDE=${LONGITUDE} \
--name aaf_config_$USER \
$PREFIX${ORG}/${PROJECT}/aaf_config:${VERSION} \
- /bin/bash "$@"
+ /bin/bash $PARAMS
+}
+
+function encrypt_it() {
+ docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP encrypt "$1" "$2"
+}
+
+P12_LOAD="no"
+
+for PROP in AAF_INITIAL_X509_P12 AAF_INITIAL_X509_PASSWORD AAF_SIGNER_P12 AAF_SIGNER_PASSWORD; do
+ if [ "${!PROP}" != "" ]; then
+ P12_LOAD='yes'
+ break;
+ fi
+done
+
+# First Time Run does a bit more setup
+if [ "$(docker volume ls | grep aaf_config)" = "" ] && [ ${P12_LOAD} = "yes" ]; then
+ echo "Initializing first aaf_config"
+ if [ "$(docker container ls | grep aaf_config_$USER)" = "" ]; then
+ PARAMS="bash"
+ run_it -t -d
+ else
+ echo "aaf_config_$USER is already running"
+ fi
+ docker container cp ${AAF_INITIAL_X509_P12} aaf_config_$USER:/opt/app/osaaf/local/org.osaaf.aaf.p12
+ docker container cp ${AAF_SIGNER_P12} aaf_config_$USER:/opt/app/osaaf/local/org.osaaf.aaf.signer.p12
+
+ encrypt_it cadi_keystore_password "${AAF_INITIAL_X509_PASSWORD}"
+ encrypt_it cm_ca.local "${AAF_SIGNER_PASSWORD}"
+
+ echo -n "Stopping "
+ docker container stop aaf_config_$USER
+ echo -n "Removing "
+ docker container rm aaf_config_$USER
+fi
+
+PARAMS="$@"
+if [ "$PARAMS" != "" ]; then
+ run_it -it --rm
+fi
+
diff --git a/auth/docker/d.props.init b/auth/docker/d.props.init
index 1394c76d..782f0c3f 100644
--- a/auth/docker/d.props.init
+++ b/auth/docker/d.props.init
@@ -16,3 +16,11 @@ AAF_ENV=DEV
AAF_REGISTER_AS=$HOSTNAME
LATITUDE=
LONGITUDE=
+#
+# Initial AAF Certificate (not Generated)
+AAF_INITIAL_X509_P12=
+AAF_INITIAL_X509_PASSWORD=
+
+# CA info (leave blank unless functioning as CA)
+AAF_SIGNER_P12=
+AAF_SIGNER_PASSWORD=
diff --git a/auth/sample/local/aaf.props b/auth/sample/local/aaf.props
index f8c4f886..71ba73a2 100644
--- a/auth/sample/local/aaf.props
+++ b/auth/sample/local/aaf.props
@@ -15,7 +15,7 @@ cadi_alias=aaf@aaf.osaaf.org
cadi_keystore=/opt/app/osaaf/local/org.osaaf.aaf.p12
cadi_truststore=/opt/app/osaaf/public/truststoreONAPall.jks
cadi_truststore_password=changeit
-cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
# Other
aaf_data_dir=/opt/app/osaaf/data
diff --git a/auth/sample/local/org.osaaf.aaf.cm.ca.props b/auth/sample/local/org.osaaf.aaf.cm.ca.props
index 5c692f4b..98e16ce7 100644
--- a/auth/sample/local/org.osaaf.aaf.cm.ca.props
+++ b/auth/sample/local/org.osaaf.aaf.cm.ca.props
@@ -4,7 +4,7 @@
##
#Certman
-cm_ca.local=org.onap.aaf.auth.cm.ca.LocalCA,/opt/app/osaaf/local/org.osaaf.aaf.signer.p12;aaf_intermediate_7;enc:
+cm_ca.local=org.onap.aaf.auth.cm.ca.LocalCA,/opt/app/osaaf/local/org.osaaf.aaf.signer.p12;aaf_intermediate_9;enc:
cm_ca.local.idDomains=org.osaaf
cm_ca.local.baseSubject=/OU=OSAAF/O=ONAP/C=US
cm_ca.local.perm_type=org.osaaf.aaf.ca