如何使用openssl从证书中提取key.pem私钥文件
从包含私钥的证书文件提取key.pem的openssl操作方法
前置说明
- 只有包含私钥的证书文件才能提取私钥,常规单独分发的
.crt/.cer公钥证书文件不携带私钥,无法执行提取操作。常见的带私钥的证书文件有两类:PKCS#12格式(后缀多为.pfx/.p12)、合并了公钥证书和私钥的PEM格式文件。 - 提取加密过的证书容器需要你知道文件对应的访问密码,无密码无法完成提取。
具体操作命令
针对PKCS#12(.pfx/.p12)格式文件
提取未加密的私钥(生成的key.pem使用时无需额外输入密码)
openssl pkcs12 -in 你的证书文件.pfx -nocerts -out key.pem -nodes
参数说明:
-nocerts:仅输出私钥内容,不输出公钥证书相关内容-nodes:不对输出的私钥做加密处理
提取带加密保护的私钥(生成的key.pem使用时需要输入你设置的密码)
openssl pkcs12 -in 你的证书文件.pfx -nocerts -out key.pem
执行后按提示先后输入PFX文件的原密码、新的私钥加密密码即可。
针对合并了证书和私钥的PEM格式文件
直接执行以下命令筛选提取私钥即可:
openssl pkey -in 合并后的证书文件.pem -out key.pem
提取后验证私钥有效性
执行以下命令,输出RSA key ok即代表私钥提取正常可用:
openssl rsa -in key.pem -check
内容的提问来源于stack exchange,提问作者Willy Kelly
相关产品推荐
相关产品推荐

