Merge "Fixes sonar issues in Examples"
authorJonathan Gathman <jonathan.gathman@att.com>
Thu, 23 Aug 2018 23:08:42 +0000 (23:08 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 23 Aug 2018 23:08:42 +0000 (23:08 +0000)
auth/docker/aaf.sh
auth/docker/d.props.init
auth/sample/bin/service.sh
auth/sample/local/aaf.props
auth/sample/local/org.osaaf.aaf.cm.ca.props
conf/CA/.gitignore [new file with mode: 0644]
conf/CA/bootstrap.sh [new file with mode: 0644]

index efd4fe3..5e70403 100644 (file)
@@ -15,13 +15,21 @@ function run_it() {
     /bin/bash $PARAMS
 }
 
+function set_prop() {
+docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP setProp "$1" "$2" "$3"
+}
+
 function encrypt_it() {
   docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP encrypt "$1" "$2"
 }
 
+function set_it() {
+  docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP setProp "$1" "$2"
+}
+
 P12_LOAD="no"
 
-for PROP in AAF_INITIAL_X509_P12 AAF_INITIAL_X509_PASSWORD AAF_SIGNER_P12 AAF_SIGNER_PASSWORD; do
+for PROP in AAF_INITIAL_X509_P12 AAF_INITIAL_X509_PASSWORD AAF_SIGNER_P12 AAF_SIGNER_PASSWORD CADI_X509_ISSUERS; do
     if [ "${!PROP}" != "" ]; then
          P12_LOAD='yes'
          break;
@@ -40,9 +48,15 @@ if [ "$(docker volume ls | grep aaf_config)" = "" ] && [ ${P12_LOAD} = "yes" ];
   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
 
+  set_prop cm_ca.local "${CM_CA_LOCAL}" org.osaaf.aaf.cm.ca.props
+  set_prop cadi_x509_issuers "${CADI_X509_ISSUERS}" org.osaaf.aaf.props
+
   encrypt_it cadi_keystore_password "${AAF_INITIAL_X509_PASSWORD}"
   encrypt_it cm_ca.local "${AAF_SIGNER_PASSWORD}"
 
+  set_it cadi_x509_issuers "${CADI_X509_ISSUERS}"
+
+
   echo -n "Stopping "
   docker container stop aaf_config_$USER 
   echo -n "Removing "
index 782f0c3..68b06ef 100644 (file)
@@ -18,9 +18,13 @@ LATITUDE=
 LONGITUDE=
 #
 # Initial AAF Certificate (not Generated)
+CADI_X509_ISSUERS="CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US"
 AAF_INITIAL_X509_P12=
 AAF_INITIAL_X509_PASSWORD=
+CADI_X509_ISSUERS=
 
 # CA info (leave blank unless functioning as CA)
 AAF_SIGNER_P12=
 AAF_SIGNER_PASSWORD=
+CM_CA_LOCAL=
+
index 15c3714..33dca67 100644 (file)
@@ -89,9 +89,10 @@ if [ ! "$CMD" = "" ]; then
         for F in $FILES; do
             echo "Changing $1 in $F"
            if [ "$ADD" = "Y" ]; then
-               echo $2 >> $F
+               echo "$1=$2" >> $F
            else 
-                sed -i.backup -e "s/\\(${1}.*=\\).*/\\1${2}/" $F
+               VALUE=${2//\//\\\/}
+                sed -i.backup -e "s/\(${1}=\).*/\1${VALUE}/" $F
            fi
             cat $F
         done
index 71ba73a..4a5d071 100644 (file)
@@ -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_9, OU=OSAAF, O=ONAP, C=US
+cadi_x509_issuers=
 
 # Other
 aaf_data_dir=/opt/app/osaaf/data
index 98e16ce..b21cf35 100644 (file)
@@ -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_9;enc:
+cm_ca.local=
 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
diff --git a/conf/CA/.gitignore b/conf/CA/.gitignore
new file mode 100644 (file)
index 0000000..ee117cc
--- /dev/null
@@ -0,0 +1,4 @@
+aaf.bootstrap.p12
+index.txt*
+newcerts/
+serial*
diff --git a/conf/CA/bootstrap.sh b/conf/CA/bootstrap.sh
new file mode 100644 (file)
index 0000000..20093ee
--- /dev/null
@@ -0,0 +1,102 @@
+#
+# Streamlined AAF Bootstrap initial Cert
+# Removed Variables so it can be run for AutoDeployments
+#
+echo "Bootstrap AAF Certificate"
+mkdir -p private certs newcerts
+chmod 700 private
+chmod 755 certs newcerts
+touch index.txt
+echo "unique_subject = no" > index.txt.attr
+
+NAME=aaf.bootstrap
+FQDN=$(hostname -f)
+FQI=aaf@aaf.osaaf.org
+SUBJECT="/CN=$FQDN/OU=$FQI`cat subject.aaf`"
+SIGNER_P12=$1
+SIGNER_KEY=/tmp/aaf_signer.key
+SIGNER_CRT=/tmp/aaf_signer.crt
+PASSPHRASE=$2
+if [ "PASSPHRASE" = "" ]; then
+  PASSPHRASE="something easy"
+fi
+BOOTSTRAP_SAN=/tmp/$NAME.san
+BOOTSTRAP_KEY=/tmp/$NAME.key
+BOOTSTRAP_CSR=/tmp/$NAME.csr
+BOOTSTRAP_CRT=/tmp/$NAME.crt
+BOOTSTRAP_CHAIN=/tmp/$NAME.chain
+BOOTSTRAP_P12=$NAME.p12
+
+
+# If Signer doesn't exist, create Self-Signed CA
+if [ ! -e "$SIGNER_P12"  ]; then
+  # Creating Signer CA
+  openssl req -config openssl.conf -x509 -sha256 -extensions v3_ca \
+    -newkey rsa:4096 -subj /CN="Signer$(cat subject.aaf)" \
+    -keyout $SIGNER_KEY -out $SIGNER_CRT -days 365 -passout stdin << EOF
+$PASSPHRASE
+EOF
+
+  # Move to P12 (Signer)
+  openssl pkcs12 -name RootCA -export -in $SIGNER_CRT -inkey $SIGNER_KEY -out $SIGNER_P12 -passin stdin -passout stdin << EOF
+$PASSPHRASE
+$PASSPHRASE
+$PASSPHRASE
+EOF
+
+else
+  # Get Private key from P12
+  openssl pkcs12 -in $SIGNER_P12 -nocerts -nodes -passin stdin -passout stdin -out $SIGNER_KEY << EOF
+$PASSPHRASE
+$PASSPHRASE
+EOF
+
+  # Get Cert from P12
+  openssl pkcs12 -in $SIGNER_P12 -clcerts -nokeys -passin stdin -out $SIGNER_CRT << EOF
+$PASSPHRASE
+EOF
+
+fi
+
+# SANS
+cp san.conf $BOOTSTRAP_SAN
+NUM=1
+for D in $FQDN aaf.osaaf.org service.aaf.osaaf.org locate.aaf.osaaf.org oauth.aaf.osaaf.org gui.aaf.osaaf.org cm.aaf.osaaf.org hello.aaf.osaaf.org; do
+    echo "DNS.$NUM = $D" >> $BOOTSTRAP_SAN
+    NUM=$((NUM+1))
+done
+
+# Create CSR
+openssl req -new -newkey rsa:2048 -nodes -keyout $BOOTSTRAP_KEY \
+       -out $BOOTSTRAP_CSR -outform PEM -subj "$SUBJECT" \
+       -passout stdin  << EOF
+$PASSPHRASE
+EOF
+
+echo Sign it
+openssl ca -batch -config openssl.conf -extensions server_cert \
+       -cert $SIGNER_CRT -keyfile $SIGNER_KEY \
+       -policy policy_loose \
+       -days 90 \
+       -passin stdin \
+       -out $BOOTSTRAP_CRT \
+       -extfile $BOOTSTRAP_SAN \
+       -infiles $BOOTSTRAP_CSR << EOF
+$PASSPHRASE
+EOF
+
+# Make a P12
+# Add THIS Intermediate CA into chain
+cat $BOOTSTRAP_CRT
+cp $BOOTSTRAP_CRT $BOOTSTRAP_CHAIN
+cat $SIGNER_CRT >> $BOOTSTRAP_CHAIN
+
+# Note: Openssl will pickup and load all Certs in the Chain file
+openssl pkcs12 -name $FQI -export -in $BOOTSTRAP_CHAIN -inkey $BOOTSTRAP_KEY -out $BOOTSTRAP_P12 -passin stdin -passout stdin << EOF
+$PASSPHRASE
+$PASSPHRASE
+$PASSPHRASE
+EOF
+
+# Cleanup
+rm -f $BOOTSTRAP_SAN $BOOTSTRAP_KEY $BOOTSTRAP_CSR $BOOTSTRAP_CRT $BOOTSTRAP_CHAIN $SIGNER_KEY $SIGNER_CRT