opensslでpkcs#12を扱ったときのメモ

opensslでpkcs#12を扱ったときのメモ

pkcs#12はユーザー識別情報を安全に転送するための形式。
転送する情報は秘密鍵(pkey)、証明書(x509)、や証明書チェーン、パスワードなど。

# pkcs#12が持っているデータをpem形式に変換する
openssl pkcs12 -in sample.p12 -out sample.pem
# pkcs#12が持っているデータをpem形式に変換する(秘密鍵に暗号化を施さない)
openssl pkcs12 -in sample.p12 -out sample_nodes.pem -nodes
# 秘密鍵のみ取り出す
openssl pkcs12 -in sample.p12 -out sample_nocerts.pem -nocerts
# 秘密鍵のみ取り出す(暗号化を施さない)
openssl pkcs12 -in sample.p12 -out sample_nocerts_nodes.pem -nocerts -nodes
# クライアント証明書のみ取り出す
openssl pkcs12 -in sample.p12 -out sample_clcerts.pem -clcerts
# クライアント証明書のみ取り出す(秘密鍵を含まない)
openssl pkcs12 -in sample.p12 -out sample_clcerts_nokeys.pem -clcerts -nokeys
# CA証明書のみ取り出す
openssl pkcs12 -in sample.p12 -out sample_cacerts.pem -cacerts 
# クライアント証明書のみ取り出す(秘密鍵を含まない)
openssl pkcs12 -in sample.p12 -out sample_cacerts_nokeys.pem -cacerts -nokeys