公司的一个项目使用IIS部署的网站,现在需要更新SSL证书。为了下次方便,在此做记录整理。
以下第一部分是查网络AI查询到的资料,解决了我心中对双击和从IIS导入有什么不同的疑惑。第二部分是我在这次实际操作过程中的截图。
一.证书安装方式
双击安装证书和IIS导入。在 IIS 环境中配置 SSL 证书时,“双击安装证书”与“在 IIS 管理器中导入证书”是两种不同的操作,其核心区别在于 证书存储位置、用途和管理权限。以下是具体分析:
🔐 1.双击安装证书
1) 存储位置
- 双击安装(如
.cer
或.crt
文件)默认将证书导入 当前用户的证书存储区(例如“当前用户”>“受信任的根证书颁发机构”或“中级证书颁发机构”)。 - 若需全局生效,需通过 MMC 控制台 手动导入到“计算机账户”的存储区。
2) 主要用途
- 信任证书链:用于安装中间 CA 证书或根证书,确保客户端或服务器信任对方证书(例如双向认证中的 CA 证书)。
- 客户端证书:用户双击安装客户端证书后,浏览器可调用该证书进行身份验证。
3)权限要求
- 仅需当前用户权限,无需管理员身份。
4) 典型场景
- 安装 CA 证书以信任自签名机构。
- 客户端安装个人证书用于双向认证。
🌐 2、在 IIS 管理器中导入证书
1) 存储位置
- 通过 IIS 管理器导入的证书(
.pfx
文件)直接存储于 本地计算机的证书存储区(“个人”>“证书”),并自动关联到 IIS 服务。
2) 主要用途
- 服务器身份验证:绑定到网站,启用 HTTPS 加密通信。
- 管理私钥:
.pfx
文件包含私钥,IIS 需访问私钥才能完成 TLS 握手。
3) 权限要求
- 需管理员权限(因涉及系统级证书存储和 IIS 配置)。
4) 操作流程
- 打开 IIS 管理器 → 点击服务器节点 → “服务器证书” → “导入” → 选择
.pfx
文件并输入密码。
⚖️ 3、关键区别总结
维度 | 双击安装证书 | 在 IIS 中导入证书 |
---|---|---|
存储位置 | 当前用户证书存储区 | 本地计算机证书存储区(个人/证书) |
文件类型 | .cer /.crt (仅公钥) | .pfx (含私钥) |
核心用途 | 信任 CA 链、客户端认证 | 服务器 HTTPS 绑定、TLS 加密 |
权限需求 | 普通用户权限 | 管理员权限 |
对 IIS 的影响 | 间接(需额外配置信任) | 直接(立即生效于站点绑定) |
💎 4、实际配置中的协同使用
-
双向认证场景
- 步骤 1:双击安装 CA 证书到“受信任的根证书颁发机构”(确保服务器信任客户端证书)。
- 步骤 2:在 IIS 中导入服务器证书(
.pfx
)并绑定到站点。 - 步骤 3:在站点 SSL 设置中启用“要求客户端证书”。
-
常见错误规避
- 问题:双击安装的 CA 证书未导入“计算机账户”,导致 IIS 无法识别。
解决:通过 MMC 控制台手动将证书导入“计算机账户”的信任存储区。 - 问题:私钥未关联。
解决:IIS 必须通过.pfx
导入才能获取私钥;双击安装.cer
无法绑定私钥。
- 问题:双击安装的 CA 证书未导入“计算机账户”,导致 IIS 无法识别。
✅ 5、操作建议
- 仅配置服务器 HTTPS → 只需在 IIS 管理器中导入
.pfx
。 - 启用双向认证 → 需结合两种方式:
- 双击安装 CA 证书(信任链)
- IIS 导入服务器证书(含私钥)
- 客户端安装个人证书。
- 验证证书链完整性 → 使用工具(如 myssl.com)检测中间证书是否缺失。
💡 提示:若 IIS 重启后证书失效,检查 CA 证书是否通过
certutil -addstore root CA.crt
写入系统存储(Windows Server 2016+ 常见问题)。
二、实际操作
由于本次操作只需要绑定https,下面只操作IIS导入步骤
1.证书导入
在IIS证书导入中,选择下载好的证书;导入过程中,需要数据证书自带的密码
2.域名绑定
选择相应的网站,进行域名绑定时,发现根据域名搜索不到证书;经查证,证书为一级域名。解决办法就是在绑定时,不使用域名搜索,选择证书绑定后,再把域名填上即可
如上图,搜索不到证书。
如上图,删除掉主机名。重新搜索即可