1#! /bin/sh 2# 3# Creates keystores from privkey.prm and certificate.pem with algorithm variations 4 5make_store() { 6 local KEYALG="$1" 7 local CERTALG="$2" 8 local MACALG="$3" 9 local OUTFILE="$4" 10 11 openssl3 pkcs12 -export -out "$OUTFILE" -in certificate.pem \ 12 -inkey privkey.pem -passout pass:password \ 13 -macalg "$MACALG" -keypbe "$KEYALG" -certpbe "$CERTALG" 14} 15 16make_aes_store() { 17 local KEYALG="$1" 18 local CERTALG="$2" 19 local MACALG="$3" 20 local OUTFILE="pbes2-${KEYALG}-${CERTALG}-${MACALG}.p12" 21 22 make_store "${KEYALG}-cbc" "${CERTALG}-cbc" "$MACALG" "$OUTFILE" 23} 24 25make_3des_store() { 26 local MACALG="$1" 27 28 make_store "pbeWithSHA1And3-KeyTripleDES-CBC" "pbeWithSHA1And3-KeyTripleDES-CBC" \ 29 "$MACALG" "pbe-3des-${MACALG}.p12" 30} 31 32MACALGS="sha1 sha224 sha256 sha384 sha512" 33AES_KEYALGS="aes-128 aes-192 aes-256" 34 35for keyalg in $AES_KEYALGS; do 36 for certalg in $AES_KEYALGS; do 37 for macalg in $MACALGS; do 38 make_aes_store "$keyalg" "$certalg" "$macalg" 39 done 40 done 41done 42 43for macalg in $MACALGS; do 44 make_3des_store "$macalg" 45done 46