如何使用客户提供的加密私钥创建PFX文件及SSL证书?
嘿,我来帮你把这个流程理得明明白白——从搞定客户给的加密私钥,到生成能在IIS用的PFX文件,每一步都拆解开给你:
一、先解密客户提供的加密私钥
客户给你的是加密的PKCS#8格式私钥,得先解密成明文私钥才能用,这里用OpenSSL(Windows版本直接下载安装就行,不用复杂配置):
- 打开CMD或者PowerShell,切换到私钥文件所在的文件夹
- 执行解密命令:
openssl pkcs8 -in encrypted_key.pem -out decrypted_key.pem- 把
encrypted_key.pem换成你实际的私钥文件名 - 输入客户给你的私钥解密密码,回车后就会生成明文私钥文件
decrypted_key.pem
- 把
二、用解密后的私钥生成匹配的CSR(别用IIS自动生成的!)
你之前会用IIS生成CSR,但那个是和IIS自动创建的私钥绑定的,和客户的私钥不匹配,所以得重新生成对应CSR:
- 继续用OpenSSL执行命令:
openssl req -new -key decrypted_key.pem -out your_domain.csr - 跟着提示填信息,重点注意:
- Common Name(通用名称)必须填你要申请证书的指定域名(比如
www.yourcompany.com) - 其他信息(国家、省份、公司名等)按实际情况填,不想填的可以直接回车跳过
- Common Name(通用名称)必须填你要申请证书的指定域名(比如
- 执行完后,当前目录就会得到
your_domain.csr,把这个提交给CA机构申请SSL证书就行
三、拿到证书后,打包成IIS能用的PFX文件
当CA给你发了SSL证书(一般是.crt格式,可能还有中间证书),按下面步骤打包:
- 如果有中间证书,先把域名证书和中间证书合并成一个文件:
- 打开记事本,先粘贴你的域名证书内容,再粘贴中间证书的内容,保存为
full_chain.crt
- 打开记事本,先粘贴你的域名证书内容,再粘贴中间证书的内容,保存为
- 执行OpenSSL打包命令:
openssl pkcs12 -export -out your_domain.pfx -inkey decrypted_key.pem -in full_chain.crt - 输入你要设置的PFX密码(这个密码是后续在IIS导入时需要的,一定要记牢),确认两次就搞定了
- 生成的
your_domain.pfx就是可以直接在IIS里导入的证书文件
四、避坑提示
如果你之前已经用IIS生成了CSR,别用它去申请证书!因为那个CSR对应的是IIS自动生成的私钥,和客户给的私钥不匹配,最后证书和私钥会配对失败,没法用。
内容的提问来源于stack exchange,提问作者Avin
相关产品推荐
相关产品推荐

