具有相互SSL的IIS不工作

tv6aics1  于 2023-02-04  发布在  其他
关注(0)|答案(2)|浏览(117)

我是新来的相互SSL。因此我的理解如何客户端证书可能是错误的。

在IIS中使用客户端证书时,是否需要从已配置IIS HTTPS绑定的同一证书(或CA)颁发这些证书?

  • 我的开发IIS有一个自签名证书。
  • 对于客户端证书,我已经根据post here创建了一个CA和一个客户端证书。
  • CA在本地计算机的“受信任根证书颁发机构”中。
  • 客户端证书在我的个人证书文件夹中。
  • 在IIS上,我将客户端证书设置为接受

第一个奇怪的事情是,当我浏览到我的页面,IE总是显示我403.7。即使我已经禁用IE设置“不提示客户端证书选择...",没有窗口打开证书选择。
另外,当访问附加了客户端证书的HttpWebRequest页面时,响应总是403。不幸的是,我没有弄清楚如何获得子状态。
当客户端证书的RootCA位于受信任的根存储中时,IIS为什么不接受我的客户端证书?是否有方法获取问题所在的详细信息?
谢谢
托马斯

qxsslcnc

qxsslcnc1#

终于可以解决这个问题了:
我根据教程here生成的CA和客户端证书没有在证书存储中分配私钥。我必须从证书存储中删除证书并导入包含私钥的PFX文件。
第二,客户端证书需要在当前用户/个人存储中,以便IE可以拾取它。我最初是在当前计算机/个人存储中生成的。
可能有一个直接的方法来创建这两个证书,包括使用makecert创建私钥。但是PFX导入对我来说是最简单的方法。

sycxhyv7

sycxhyv72#

在我这边三天的尝试和错误之后:如果在Windows 2022上使用IIS 10,则默认情况下TLS1.3处于打开状态。The SSL handshake seems not to be implemented correctly in browsers/curls/.... for this case。出于测试原因,请在

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server

添加:DisabledByDefault作为Dword1并重新启动服务器(不仅仅是IIS!)

相关问题