CSR创建并生成p7b证书后如何获取/生成对应私钥
核心结论
当前阶段无法凭空生成与已提交CSR、已签发p7b证书匹配的私钥。
非对称证书体系中,公私钥对是在CSR生成环节成对创建的:CSR文件仅包含公钥、证书主体信息,私钥从生成起就只会存储在生成CSR的本地设备上,不会随CSR提交、证书签发流程同步到证书管理门户,也无法通过已有的CSR、p7b证书逆向推导生成。如果找不到最初生成CSR时留存的私钥,已签发的证书无法正常完成绑定使用。
看不到单独.key文件的原因
Windows版DigiCert Certificate Utility默认不会输出明文格式的.key私钥文件,生成CSR时创建的私钥会直接写入当前设备的Windows证书存储区,只是没有以独立文件形式展示在你保存csr.txt的目录下,并非没有生成私钥。
排查&解决步骤
- 回到你当初生成该CSR的Windows设备(不要换设备操作,其他设备上不可能存在对应私钥),打开DigiCert Certificate Utility,切换到SSL栏目页,查看证书列表:如果对应证书条目带有金色钥匙标识,底部状态栏显示
Has private key,说明私钥就存在这台设备的存储区中。 - 选中带私钥的对应条目,点击
Export Certificate按钮,导出时选择「是,导出私钥」选项,即可导出包含完整证书链、匹配私钥的PFX格式证书包。如果需要单独的.key格式私钥,可以通过OpenSSL工具从PFX文件中提取,执行命令如下:openssl pkcs12 -in 导出的证书文件.pfx -nocerts -nodes -out 私钥.key - 如果在原生成CSR的设备上,工具识别不到对应私钥,说明私钥已经被误删或损坏,没有任何技术手段可以找回匹配私钥,只能重新生成新的CSR(生成时确认私钥可正常导出留存),提交证书管理门户走重签发流程,替换当前拿到的p7b文件。
注意:不要尝试在非CSR生成设备上导入p7b文件或csr.txt查找私钥,这类文件本身不包含私钥内容,不可能从中提取到匹配的私钥信息。
内容的提问来源于stack exchange,提问作者Tommaso Guiducci
相关产品推荐
相关产品推荐

