要求 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 证书有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章