openssl pkcs12
openssl pkcs12 官方文檔
1. 描述
The pkcs12 command allows PKCS#12 files (sometimes referred to as PFX files) to be created and parsed. PKCS#12 files are used by several programs including Netscape, MSIE and MS Outlook.
pkcs12 命令是用來創建或者解析 PKCS12 格式(有時候也稱PFX格式)的文件。
pkcs12 格式文件用于 Netscape, MSIE, MS Outlook等服務器。
pkcs12 格式的文件,可以理解為證書+私鑰,即 cert+key。
2. 常用命令
解析命令
# 查看證書信息 -info
openssl pkcs12 -in server.p12 -info
# 不打印私鑰和證書內容 -noout
openssl pkcs12 -in server.p12 -noout
# 只輸出客戶端證書(不包含CA證書) -clerts
openssl pkcs12 -in server.p12 -clcerts
# 只輸出CA證書(不包含客戶端證書) -cacerts
openssl pkcs12 -in server.p12 -cacerts
# 不輸出證書 -nocerts
openssl pkcs12 -in server.p12 -nocerts
# 不輸出私鑰 -nokeys
openssl pkcs12 -in server.p12 -nokeys
# 不加密私鑰 -nodes
openssl pkcs12 -in server.p12 -nodes
創建命令
# 創建 -export
# 前提 已獲得 私鑰文件 server.key和證書文件 server.crt(可以用下邊命令生成)
# 使用 genpkey 生成 server.key
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out server.key
# 使用 req 命令生成 server.crt 文件
openssl req -x509 -new -sha256 -days 3650 -key server.key -out server.crt -subj "/C=CN/test123"# 創建 server.p12 -export(需要交互式輸入server.key的口令,以及輸出的server.p12的口令)
openssl pkcs12 -inkey server.key -in server.crt -export -out server.p12# 提取PEM文件(含私鑰)
openssl pkcs12 -in server.p12 -out server.pem
# 僅提取私鑰并設置私鑰口令,默認為 des3 加密算法
openssl pkcs12 -nocerts -in server.p12 -out server.key
# 僅提取私鑰并設置私鑰口令,指定 -aes256 加密算法
openssl pkcs12 -nocerts -in server.p12 -aes256 -out server.key
# 僅提取私鑰并不設置私鑰口令
openssl pkcs12 -nocerts -nodes -in server.p12 -out server.key
# 檢查私鑰
openssl rsa -in server.key -check
# 僅提取證書(所有證書)
openssl pkcs12 -nokeys -in server.p12 -out server.crt
# 僅提取CA證書
openssl pkcs12 -nokeys -cacerts -in server.p12 -out cacert.crt
# 僅提取server證書
openssl pkcs12 -nokeys -clcerts -in server.p12 -out server.crt
3. 命令選項
參考官方文檔:
openssl pkcs12 官方文檔