需要SSL证书和接受SSL证书有什么区别?
问题描述:
所以我知道需要SSL证书和接受证书的根本区别,一个意味着你必须有一个SSL证书,而另一个意味着你不需要证书。需要SSL证书和接受SSL证书有什么区别?
在我的IIS管理器中的某个网页我有这种设置:
,我遇到的问题是,当我设置要求SSL证书,并建立接受/客户端证书不理我只能得到到使用HTTPS的网页。现在,如果我将其更改为“要求”,即使使用HTTPS,我也无法再访问该网页...所以我只是想弄清楚它们有什么不同,以及它如何影响网页。
所以也许我的问题措辞错了......我不确定,我对这个问题的理解是相当有限的,所以任何帮助,将不胜感激。
谢谢!
答
客户端证书认证可以是可选的或强制的,或根本不使用。
- 忽略是什么时候它根本没有被使用。
- 接受如果提交了证书,它将接受证书,但也将继续进行客户端未提交证书的连接。
- 要求仅继续进行具有客户端证书的连接。
客户端证书认证是只能由SSL/TLS中的服务器启动的东西,所以这个术语不太正确,但这就是IIS中使用的。
答
为了扩大对@Bruno给出了答案。如果允许覆盖,这些值可以在applicationHost.config
文件中设置,甚至可以在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.
举例名为Contoso HTTPS站点,需要和客户端证书由服务器信任:
<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是必需的,但也会建议也需要CCA? – Adjit
“需要SSL”仅仅意味着它只会让客户端通过https://访问这个应用程序(如果不是,可能尝试从'http://'升级到'https://',但是这是[不是一个完整的解决方案](http://webmasters.stackexchange.com/a/28443/11628))。这与客户端证书设置无关。 (如果您没有使用客户端证书,只需选择忽略。) – Bruno
好的。我想我真正想问的是你认为我也应该使用客户端证书(用于信用卡支付)还是SSL足够? – Adjit