如何为 IIS 10+ 创建和使用证书信任列表
How to create and use Certificate Trust List for IIS 10+
我们在服务器上安装了 IIS10 运行,该服务器已将太多证书添加到受信任的根权限存储中。有一个组策略可以在删除任何证书时不断替换这些证书。在这种情况下,IIS 显然无法验证客户端证书,否则有效证书将被拒绝。
据我了解,可以将 IIS 10 配置为使用证书信任列表,而不是依赖受信任的根证书颁发机构列表。我已经创建了一个自签名证书来签署 SSL,我遵循了这个:https://www.pkisolutions.com/how-to-create-certificate-trust-list-ctl-using-powershell/ 到我生成 CTL 的地步,并且可以查看 UI,但我不知道是否有可能 export/import 这个 CTL,如何做,或者这是否可行。
如何导出 CTL 以便将其导入到我的 IIS 服务器中?我走对了吗?
解决方案是将受信任的中间 CA 复制到 Windows“客户端身份验证颁发者”存储中,然后使用 netsh 将站点的 CTL 存储设置为 ClientAuthIssuer:
示例:
netsh http update sslcert ipport=0.0.0.0:443 appid={4dc3e181-e14b-4a21-b022-...} certhash=a95...c68 sslctlstorename=ClientAuthIssuer
要获取 appid 和 certhash,请使用:
netsh http show sslcert
我们在服务器上安装了 IIS10 运行,该服务器已将太多证书添加到受信任的根权限存储中。有一个组策略可以在删除任何证书时不断替换这些证书。在这种情况下,IIS 显然无法验证客户端证书,否则有效证书将被拒绝。
据我了解,可以将 IIS 10 配置为使用证书信任列表,而不是依赖受信任的根证书颁发机构列表。我已经创建了一个自签名证书来签署 SSL,我遵循了这个:https://www.pkisolutions.com/how-to-create-certificate-trust-list-ctl-using-powershell/ 到我生成 CTL 的地步,并且可以查看 UI,但我不知道是否有可能 export/import 这个 CTL,如何做,或者这是否可行。
如何导出 CTL 以便将其导入到我的 IIS 服务器中?我走对了吗?
解决方案是将受信任的中间 CA 复制到 Windows“客户端身份验证颁发者”存储中,然后使用 netsh 将站点的 CTL 存储设置为 ClientAuthIssuer:
示例:
netsh http update sslcert ipport=0.0.0.0:443 appid={4dc3e181-e14b-4a21-b022-...} certhash=a95...c68 sslctlstorename=ClientAuthIssuer
要获取 appid 和 certhash,请使用:
netsh http show sslcert