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;
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 "
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
# 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=$(uname -n)
+FQDN=$(hostname -f)
FQI=aaf@aaf.osaaf.org
SUBJECT="/CN=$FQDN/OU=$FQI`cat subject.aaf`"
SIGNER_P12=$1
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 [ ! -e "$SIGNER_P12" ]; then
# Creating Signer CA
openssl req -config openssl.conf -x509 -sha256 -extensions v3_ca \
- -newkey rsa:4096 -nodes -subj /CN="RootCA$(cat subject.aaf)" \
- -keyout $SIGNER_KEY -out $SIGNER_CRT -days 365
+ -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
done
# Create CSR
-openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout $BOOTSTRAP_KEY \
- -out $BOOTSTRAP_CSR -outform PEM -subj "$SUBJECT"
- #-passout stdin << EOF
-#$PASSPHRASE
-#EOF
+openssl req -new -newkey rsa:2048 -nodes -keyout $BOOTSTRAP_KEY \
+ -out $BOOTSTRAP_CSR -outform PEM -subj "$SUBJECT" \
+ -passout stdin << EOF
+$PASSPHRASE
+EOF
-ls -l BOOTSTRAP_CSR $BOOTSTRAP_CSR
-# Sign it
-openssl ca -batch -config openssl.conf -extensions server_cert -out $BOOTSTRAP_CRT \
+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
+ -infiles $BOOTSTRAP_CSR << EOF
+$PASSPHRASE
+EOF
# Make a P12
# Add THIS Intermediate CA into chain
-cat $SIGNER_CRT >> $BOOTSTRAP_CRT
+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_CRT -inkey $BOOTSTRAP_KEY -out $BOOTSTRAP_P12 -passin stdin -passout stdin << EOF
+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 $SIGNER_KEY $SIGNER_CRT
+rm -f $BOOTSTRAP_SAN $BOOTSTRAP_KEY $BOOTSTRAP_CSR $BOOTSTRAP_CRT $BOOTSTRAP_CHAIN $SIGNER_KEY $SIGNER_CRT