对,这个判断基本正确。IIS 绑定 HTTPS 时,“SSL 证书”下拉框只枚举 “本地计算机”证书存储中的“个人 / My”存储区,而且证书必须 包含私钥。如果只导入到“当前用户\个人”“受信任的根证书颁发机构”等位置,IIS 下拉列表通常就是空的。
解决步骤
1. 准备 含私钥的 .pfx 文件。只有 `.cer/.crt` 通常没有私钥,IIS 不能用于 HTTPS 绑定。
2. `Win + R` 输入 `certlm.msc`,打开“本地计算机证书”。
3. 展开 个人 → 证书。
4. 右键 个人 → 所有任务 → 导入。
5. 选择 `.pfx`,输入密码。
6. 关键:证书存储选择 “个人”,完成导入。
7. 确认证书上有小钥匙图标,或双击证书看到“您有一个与该证书对应的私钥”。
8. 关闭并重新打开 IIS 管理器,进入站点 → 绑定 → 编辑 https,证书下拉应出现。
也可以用管理员 PowerShell 导入:
```powershell
Import-PfxCertificate -FilePath "C:\cert\site.pfx" `
-CertStoreLocation Cert:\LocalMachine\My `
-Password (ConvertTo-SecureString "pfx密码" -AsPlainText -Force)
```
然后刷新:
```cmd
certutil -store My
iisreset
```
如果仍然为空,重点检查
证书是否在 本地计算机\个人,不是 当前用户\个人。
证书是否 带私钥;没有私钥不会显示。
证书是否过期,或增强密钥用法是否包含“服务器身份验证”。
私钥权限:证书右键 → 所有任务 → 管理私钥 → 添加 `IIS_IUSRS` 读取权限。
IIS 管理器是否已重开;绑定窗口有缓存时刷新或重启 IIS。
一句话:不要双击 PFX 默认导入到“当前用户”,要用 `certlm.msc` 导入到“本地计算机\个人”,并确保带私钥。