0

我是相互 SSL 的新手。因此,我对客户证书的理解可能是错误的。

在 IIS 中使用客户端证书时,它们是否需要从与 IIS HTTPS 绑定配置的相同证书(或 CA)颁发?

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

第一个奇怪的事情是,当我浏览到我的页面时,IE 总是显示 403.7。即使我禁用了 IE 设置“不提示客户端证书选择...”,证书选择也没有打开窗口。

此外,当访问带有附加客户端证书的 HttpWebRequest 的页面时,响应始终为 403。不幸的是,我没有弄清楚如何获取子状态。

当客户端证书的 RootCA 在受信任的根存储中时,为什么 IIS 不接受我的客户端证书?有没有办法在问题可能出现的地方获得更多细节?

谢谢
托马斯

4

1 回答 1

1

终于可以解决问题了:

我根据此处的教程生成的 CA 和客户端证书没有在证书存储中分配私钥。我必须从证书存储中删除证书并导入包含私钥的 PFX 文件。

其次,客户端证书需要在当前用户/个人存储中,这样 IE 才会选择它。我最初在Current Computer/Personal商店中生成了它。

可能有一种直接的方法来创建两个证书,包括使用 makecert 的私钥。但是 PFX 导入对我来说是最简单的方法。

于 2013-01-25T16:18:54.963 回答