由于IIS制作CSR证书请求文件未使用openSSL,并且安装之后是通过IIS的HTTPS的完成证书申请,来导入证书,所以很多用户在第一年安装证书之后,未将私钥解析并备份,在迁移服务器之后导致证书无法续费安装。

由于IIS制作CSR证书请求文件未使用openSSL,并且安装之后是通过IIS的HTTPS的完成证书申请,来导入证书,所以很多用户在第一年安装证书之后,未将私钥解析并备份,在迁移服务器之后导致证书无法续费安装。

恢复私钥和证书的前置条件如下:

1、曾有过pfx证书导出的备份

2、记得pfx导出时设置的密码(如果有的话)

通常如果连pfx证书都未导出备份的话,建议重新制作CSR,并联系CA机构重新签发,INFINISIGN提供这种免费签发证书服务。

提取私钥

使用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个月的额外续期