X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=conf%2FCA%2Fbootstrap.sh;h=fba4d6a8465a2230fe803e248b9189d083d27314;hb=c3ca46e074d73b7aca3fb6331203552968119070;hp=ea7a23ecf91bbe4ff15b8623a069f429eb683ebc;hpb=cc596dd8251ebfc0dab7344da1a501f24dc23a8c;p=aaf%2Fauthz.git diff --git a/conf/CA/bootstrap.sh b/conf/CA/bootstrap.sh index ea7a23ec..fba4d6a8 100644 --- a/conf/CA/bootstrap.sh +++ b/conf/CA/bootstrap.sh @@ -3,8 +3,17 @@ # 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 +if [ ! -e ./serial ]; then + echo $(date +%s) > ./serial +fi + NAME=aaf.bootstrap -FQDN=$(uname -n) +FQDN="${HOSTNAME:=$(hostname -f)}" FQI=aaf@aaf.osaaf.org SUBJECT="/CN=$FQDN/OU=$FQI`cat subject.aaf`" SIGNER_P12=$1 @@ -18,15 +27,19 @@ 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 +BOOTSTRAP_ISSUER=$NAME.issuer # 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 -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 @@ -58,31 +71,46 @@ for D in $FQDN aaf.osaaf.org service.aaf.osaaf.org locate.aaf.osaaf.org oauth.aa 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 +# Make Issuer name +ISSUER=$(openssl x509 -subject -noout -in $SIGNER_CRT | cut -c 10-) +for I in ${ISSUER//\// }; do + if [ -n "$CADI_X509_ISSUER" ]; then + CADI_X509_ISSUER=", $CADI_X509_ISSUER" + fi + CADI_X509_ISSUER="$I$CADI_X509_ISSUER" +done +echo $CADI_X509_ISSUER > $BOOTSTRAP_ISSUER + # 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