#!/bin/sh set -e usage() { cat < Transforms a .p12 file, for instance as exported by Firefox's cerfiticate "backup" feature, into a pair of a PEM certificate file and private key. To export your certificate from Firefox, go to Edit|Preferences, Advanced|Security|View Certificates, and ``Backup'' your certificate to a file. Firefox will save it as a PKCS12 certificate. You must enter a passphrase, which this script will prompt you for. EOF exit 1 } [ "$#" -eq 2 ] || usage pkcs="$1" outdir="$2" echo -n "Password for $pkcs: " stty -echo read pass stty echo echo echo "$pass" | openssl pkcs12 -in "$pkcs" -nodes -out "$outdir"/cert.pem -passin stdin echo "$pass" | openssl pkcs12 -in "$pkcs" -nodes -nocerts -out "$outdir"/privkey.pem -passin stdin cat >&2 <