# IIS服务器找回私钥并合成pfx证书

> 由于IIS制作CSR证书请求文件未使用openSSL，并且安装之后是通过IIS的HTTPS的完成证书申请，来导入证书，所以很多用户在第一年安装证书之后，未将私钥解析并备份，在迁移服务器之后导致证书无法续费安装。 恢复私钥和证书的前置条件如下： 1、曾有过pfx证书导出的备份 2、记得pfx导出时设置

- 原文: https://www.ssldun.com/article/prproblem-61.html
- 栏目: 常见问题
- 发布: 2026-11-04
- 更新: 2026-11-04
- 关键词: 常见问题,SSL证书
- 引用政策: https://www.ssldun.com/citation-policy.html

## 正文

由于IIS制作CSR证书请求文件未使用openSSL，并且安装之后是通过IIS的HTTPS的完成证书申请，来导入证书，所以很多用户在第一年安装证书之后，未将私钥解析并备份，在迁移服务器之后导致证书无法续费安装。
恢复私钥和证书的前置条件如下：
1、曾有过pfx证书导出的备份
2、记得pfx导出时设置的密码（如果有的话）
通常如果连pfx证书都未导出备份的话，建议重新制作CSR，并联系CA机构重新签发，SSL盾提供这种免费签发证书服务。
提取私钥
使用openSSL工具执行下方命令
openssl pkcs12 -in backup.pfx -nocerts -nodes -out server.key
这时，我们获取到的是密钥对，如下：
Bag Attributes
    Microsoft Local Key set: 
    localKeyID: 01 00 00 00 
    friendlyName: le-2b43275d-3760-40b4-b4d5-c139a6735f8c
    Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider
Key Attributes
    X509v3 Key Usage: 10 
-----BEGIN PRIVATE KEY-----
...
然后可使用编辑器将
-----BEGIN PRIVATE KEY-----
上面的内容删除，得到的就是私钥了，也可使用openSSL命令执行：
openssl rsa -in  server.key -out server_last.key
得到的私钥和编辑器删除的等同。
合成pfx证书
首先，获取到CA签发的证书之后，需要要中级证书合并得到证书链，为了防止
SSL证书链不完整导致浏览器不受信任
，得到最终证书之后，再使用openSSL工具执行以下命令：
openssl pkcs12 -export -out server.pfx -inkey server_last.key -in server.crt
在此命令过程中，会提示输入密码，这里就是相当于IIS中的导出pfx备份时输的密码，请务必记住。
最终我们在对应证书目录得到pfx的证书，可以在IIS中直接导入新证书，跳过完成证书请求、续期这些方式，完成证书续费
如果希望能够获取优惠证书，并且是几大CA机构签发的证书，都可在我司续签证书，在60天内到期的证书，还有机会获取CA机构赠送的1-3个月的额外续期
