要求 SSL 证书和接受 SSL 证书有啥区别?

Posted

技术标签:

【中文标题】要求 SSL 证书和接受 SSL 证书有啥区别?【英文标题】:What is the difference between requiring an SSL cert and accepting an SSL cert?要求 SSL 证书和接受 SSL 证书有什么区别? 【发布时间】:2013-10-15 14:17:03 【问题描述】:

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

在某个网页的 IIS 管理器中,我有以下设置:

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

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

谢谢!

【问题讨论】:

我发现这篇文章解释得很清楚。 IIS 和客户端证书 http://support.microsoft.com/kb/907274 @nspire 看起来链接已失效。 【参考方案1】:

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

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

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

【讨论】:

所以,对我来说...我有一个结帐页面,然后转到信用卡信息以及正常结帐页面应该有的所有内容...我有它,所以需要 SSL,但会建议还需要 CCA 吗? "Require SSL" 只是意味着它只允许客户端通过https:// 访问此应用程序(如果没有,可能尝试从http:// 升级到https://,但这是not a complete solution )。这与客户端证书设置完全无关。 (如果您不使用客户端证书,只需选择忽略。) 好的。我想我真正想问的是你认为我应该使用客户端证书(用于信用卡支付)还是 SSL 足够? 一般来说,您的用户不太可能拥有客户端证书。 我记得在某处看到可以为用户生成客户端证书(对于我们的网站,为了下订单,他们必须登录到他们的帐户)。如果可以,你觉得没必要吗?【参考方案2】:

扩展@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

【讨论】:

以上是关于要求 SSL 证书和接受 SSL 证书有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

自己生成的ssl证书与购买的ssl证书有啥区别

自己生成的SSL证书与购买的SSL证书有啥区别?

自己生成的ssl证书与购买的ssl证书有啥区别?

自己生成的SSL证书与购买的SSL证书有啥重要的区别?

用openssl生成的ssl证书和付费的有啥区别

用openssl生成的ssl证书和付费的有啥区别