需要SSL证书和接受SSL证书有什么区别?

问题描述:

所以我知道需要SSL证书和接受证书的根本区别,一个意味着你必须有一个SSL证书,而另一个意味着你不需要证书。需要SSL证书和接受SSL证书有什么区别?

在我的IIS管理器中的某个网页我有这种设置:enter image description here

,我遇到的问题是,当我设置要求SSL证书,并建立接受/客户端证书不理我只能得到到使用HTTPS的网页。现在,如果我将其更改为“要求”,即使使用HTTPS,我也无法再访问该网页...所以我只是想弄清楚它们有什么不同,以及它如何影响网页。

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

谢谢!

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

  • 忽略是什么时候它根本没有被使用。
  • 接受如果提交了证书,它将接受证书,但也将继续进行客户端未提交证书的连接。
  • 要求仅继续进行具有客户端证书的连接。

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

+0

所以,我...我有一个结帐页面,然后移动到信用卡信息和一般正常结帐页面会有...我有它,所以SSL是必需的,但也会建议也需要CCA? – Adjit

+0

“需要SSL”仅仅意味着它只会让客户端通过https://访问这个应用程序(如果不是,可能尝试从'http://'升级到'https://',但是这是[不是一个完整的解决方案](http://webmasters.stackexchange.com/a/28443/11628))。这与客户端证书设置无关。 (如果您没有使用客户端证书,只需选择忽略。) – Bruno

+0

好的。我想我真正想问的是你认为我也应该使用客户端证书(用于信用卡支付)还是SSL足够? – Adjit

我发现这篇文章清楚地解释了它。

IIS和客户端证书 http://support.microsoft.com/kb/907274

为了扩大对@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