You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS管理器生成的Self Signed Certificate报错,是否生成方法存在问题?

IIS自签名证书部署ASP.NET Core的问题排查与解决

问题根源

IIS管理器默认生成的自签名证书存在两个关键配置缺陷,导致Chrome拦截访问:

  1. CN不匹配:IIS生成的证书默认用服务器主机名作为Common Name(CN),若网站绑定的是自定义域名(如myiisapp.com),CN与访问域名不一致就会触发NET::ERR_CERT_COMMON_NAME_INVALID错误。
  2. 密钥用途不全:IIS默认生成的证书仅启用「服务器身份验证」的密钥用途,但Chrome要求证书同时包含「数字签名」等扩展用途,缺失的话会触发ERR_SSL_KEY_USAGE_INCOMPATIBLE,即便忽略CN警告也无法访问。

而PowerShell生成证书时可手动指定CN和完整的密钥用途参数,因此能通过Chrome校验,仅显示自签名警告。

修复步骤

1. 重新生成符合要求的IIS自签名证书

若坚持用IIS管理器生成,需调整生成参数:

  • 打开IIS管理器,进入「服务器证书」→「创建自签名证书」
  • 填写友好名称后,选择「个人」存储位置,点击下一步
  • 关键操作:在「证书属性」中手动设置使用者名称为网站域名(如myiisapp.com)
  • 部分IIS版本需在证书生成后,通过「证书管理器」修改扩展属性,确保启用「服务器身份验证」和「数字签名」的密钥用途

2. 验证证书配置

运行certmgr.msc打开证书管理器,找到目标证书:

  • 查看「详细信息」→「使用者备用名称」,确认包含网站域名
  • 查看「密钥用法」,确认包含「数字签名」「密钥加密」「服务器身份验证」

3. 重新绑定网站HTTPS端口

删除原有443端口绑定,重新添加HTTPS绑定:

  • 选择刚生成的正确证书
  • 填写主机名myiisapp.com,勾选「要求服务器名称指示(SNI)」

4. 导入证书到受信任根(可选)

若不想每次看到警告,可将证书导入「本地计算机」的「受信任的根证书颁发机构」,Chrome会信任该证书,不再显示警告。

替代方案:PowerShell快速生成合规证书

若嫌IIS配置繁琐,直接用PowerShell生成符合要求的证书,命令示例:

New-SelfSignedCertificate -DnsName "myiisapp.com" -CertStoreLocation "cert:\LocalMachine\My" -KeyUsage DigitalSignature, KeyEncipherment -EnhancedKeyUsage "Server Authentication" -FriendlyName "My IIS App SSL Cert"

生成后到IIS「服务器证书」中导入,再绑定到网站即可。


内容的提问来源于stack exchange,提问作者yogihosting

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:45:02