如何在IIS上配置PEM SSL证书?详细步骤是怎样的?
- 虚拟主机
- 2025-12-20
- 7
在Windows服务器环境中,将PEM格式的SSL证书配置到IIS(Internet Information Services)是常见的网站部署需求,PEM证书因其包含完整的证书链(服务器证书+中间证书+根证书),常用于HTTPS加密通信,以下将详细介绍在IIS中导入和配置PEM证书的完整流程、注意事项及相关问题解答。
PEM证书与IIS的兼容性处理
PEM证书是Base64编码的文本文件,通常以.pem、.crt、.cer或.key为后缀,IIS原生支持.p7b(PKCS#7格式)和.pfx(PKCS#12格式)证书,因此需要将PEM证书转换为IIS兼容的格式,或通过特定方法直接导入,若证书包含私钥,需确保私钥文件(.key)与证书文件匹配,且私钥未设置密码保护(IIS暂不支持带密码的私钥)。
准备工作
-
证书文件整理
确保拥有完整的证书文件,包括:
- 服务器证书(domain.crt)
- 中间证书文件(如chain.crt或intermediate.crt)
- 根证书(通常无需单独操作,由中间证书链包含)
若私钥为单独文件(domain.key),需将其与证书合并为一个.pem文件(内容顺序:私钥+服务器证书+中间证书)。
-
工具准备
- OpenSSL(用于格式转换,可选)
- IIS管理器(服务器自带)
- 文本编辑器(如记事本,用于查看证书内容)
配置步骤
直接导入PEM证书(需合并证书链)
-
合并证书文件
使用文本编辑器将私钥、服务器证书、中间证书按顺序合并为单个.pem文件,

保存为domain_all.pem。
-
通过IIS管理器导入
- 打开IIS管理器,点击服务器节点,在“服务器证书”模块中点击“导入…”。
- 选择“个人”存储区,点击“下一步”。
- 在“证书文件”框中输入合并后的.pem文件路径,若未自动识别私钥,需手动选择“是,此证书包含私钥的相应私钥”。
- 填写证书友好名称(如“example.com SSL”),点击“完成”。
-
使用OpenSSL转换格式
打开命令行工具,执行以下命令:
openssl pkcs12 export out domain.pfx inkey domain.key in domain.crt certfile intermediate.crt根据提示设置.pfx文件密码(需妥善保存)。
-
在IIS中导入.pfx证书
- 在IIS管理器的“服务器证书”模块中点击“导入…”。
- 选择“个人”存储区,点击“下一步”。
- 浏览选择.pfx文件,输入密码,填写友好名称,点击“完成”。
-
打开MMC控制台
在服务器中运行mmc,点击“文件”→“添加/删除管理单元”→选择“证书”→添加“计算机账户”→“本地计算机”。
-
导入证书
展开“证书(本地计算机)”→“个人”→“证书”,右键点击“所有任务”→“导入”,选择PEM或.pfx文件,按向导完成导入。

- 在IIS管理器中选中目标网站,点击“绑定…”。
- 添加类型为“https”的绑定,选择已导入的证书,端口号默认为443。
- 若需HTTP跳转HTTPS,可在“URL重写”模块添加入站规则,匹配模式为“^http(s)://(:80)?/(.*)$”,重定向URL为“https://{HTTP_HOST}/{R:1}”。
- 验证证书有效性
在浏览器中访问https://域名,查看证书是否由受信任机构颁发,有效期是否正确。
- 检查证书链
使用OpenSSL命令验证证书链: openssl s_client connect 域名:443 showcerts
确保输出包含完整的证书链(服务器证书→中间证书→根证书)。
- 常见错误
- 证书链不完整:确保中间证书已正确导入,部分CA要求按特定顺序排列证书。
- 私钥不匹配:验证PEM文件中私钥与证书的公钥是否一致(使用openssl x509 noout modulus in domain.crt | openssl md5与openssl rsa noout modulus in domain.key | openssl md5对比MD5值)。
- 端口冲突:确保443端口未被其他程序占用。
- 确认PEM文件中私钥部分以BEGIN PRIVATE KEY开头,而非BEGIN RSA PRIVATE KEY(后者需转换为PKCS#8格式);
- 使用OpenSSL验证私钥与证书的公钥是否匹配(如上述MD5对比方法);
- 若私钥为加密格式,需先解密:openssl rsa in encrypted.key out decrypted.key,再使用解密后的私钥合并。
- 按上述方法将SAN证书导入IIS“个人”存储区;
- 在网站绑定中选择“https”类型,下拉列表中会显示证书的所有域名(主域名+附加域名);
- 选择对应证书完成绑定,若证书未显示所有域名,需检查证书是否包含SAN扩展字段(可通过openssl x509 in domain.crt text noout查看Subject Alternative Name字段)。
转换为.pfx格式后导入
通过MMC管理单元导入
绑定SSL证书到网站
验证与故障排查
证书自动更新配置
若使用Let’s Encrypt等免费证书,可通过ACME客户端(如Winacme)自动续期并更新IIS证书,避免手动操作。
相关问答FAQs
Q1: 导入PEM证书时提示“私钥不可用”怎么办?
A: 此问题通常由私钥格式错误或与证书不匹配导致,需检查:
Q2: 如何在IIS中配置多个域名的SSL证书(SAN证书)?
A: 多域名证书(SAN或UC证书)导入IIS后,绑定网站时直接选择该证书即可,具体步骤:
