23

所以我知道要求 SSL 证书和接受 SSL 证书之间的根本区别,一个意味着您必须拥有 SSL 证书,而另一个意味着您不需要。

在我的某个网页的 IIS 管理器中,我有以下设置:在此处输入图像描述

我遇到的问题是,当我设置 Require SSL Cert 并将客户端证书设置为接受/忽略时,我只能使用 HTTPS 访问网页。现在,如果我将其更改为 Require,即使使用 HTTPS,我也无法再访问该网页......所以我只是想弄清楚有什么区别,以及它如何影响网页。

所以也许我的问题措辞错误......我不确定,我对这个主题的理解相当有限,所以任何帮助将不胜感激。

谢谢!

4

2 回答 2

18

客户端证书身份验证可以是可选的或强制的,或者根本不使用。

  • 忽略是根本不使用它的时候。
  • 如果提供了证书, Accept将获取证书,但也会继续连接客户端未提供的连接。
  • Require仅继续具有客户端证书的连接。

客户端证书身份验证只能由服务器在 SSL/TLS 中启动,所以这个术语不太正确,但这就是 IIS 中使用的。

于 2013-10-15T15:29:02.410 回答
0

扩展@Bruno 给出的答案。这些值可以在applicationHost.config-file 中设置,甚至web.config可以在允许覆盖的情况下设置。

该属性被调用sslFlags,您将找到可能的值以及下面的示例。

None                Disable SSL.
Ssl                 Require SSL.
SslNegotiateCert    Accept client certificates for authentication.
SslRequireCert      Require clients certificates for authentication.
SslMapCert          Enable certificate mapping authentication.
Ssl128              Require 128-bit SSL.

需要 HTTPS 和服务器信任的客户端证书的名为 Contoso 的站点的示例:

<location path="Contoso">
   <system.webServer>
      <security>
         <access sslFlags="Ssl,SslNegotiateCert,SslRequireCert">
      </security>
   </system.webServer>
</location>

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/access

于 2017-11-18T00:13:28.163 回答