Skip to content

Instantly share code, notes, and snippets.

@benschweizer
Created November 18, 2022 15:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save benschweizer/13eeac9e9936256939e851fc0403e786 to your computer and use it in GitHub Desktop.
Save benschweizer/13eeac9e9936256939e851fc0403e786 to your computer and use it in GitHub Desktop.
p12-to-pem
#!/bin/bash
#
FN="${1%.p12}"
PASS="$2"
# cert
openssl pkcs12 -in "$FN.p12" -passin "pass:$PASS" -passout "pass:$PASS" -clcerts | openssl x509 -passin "pass:$PASS" -subject -issuer -modulus > "$FN.pem"
openssl pkcs12 -in "$FN.p12" -passin "pass:$PASS" -passout "pass:$PASS" -clcerts | openssl x509 -passin "pass:$PASS" -subject -issuer -modulus > "$FN.crt"
# chain
openssl pkcs12 -in "$FN.p12" -passin "pass:$PASS" -cacerts -chain -nokeys >> "$FN.pem"
openssl pkcs12 -in "$FN.p12" -passin "pass:$PASS" -cacerts -chain -nokeys > "$FN.crt-chain"
# priv key
openssl pkcs12 -in "$FN.p12" -passin "pass:$PASS" -passout "pass:$PASS" -nocerts | openssl rsa -passin "pass:$PASS" -modulus >> "$FN.pem"
openssl pkcs12 -in "$FN.p12" -passin "pass:$PASS" -passout "pass:$PASS" -nocerts | openssl rsa -passin "pass:$PASS" -modulus > "$FN.key"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment