2016-03-02 83 views
1

我已经使用SSL配置了IIS,并将客户端证书设置为“接受” 但是,当我尝试接受网页时,浏览器不会提示客户端证书。IIS - 具有客户端证书的SSL设置接受

使用此代码。 var cert = Request.ClientCertificate 但是,我没有在证书中看到任何证书。

什么是缺失?

IIS SSL Settings

IIS 7.0 - Windows 2008的32位 - ASP.NET 4.0

+0

[这提供了详细信息](https://support.microsoft.com/en-us/kb/907274)这些选项。 Hth ... – EdSF

+0

是的。我读过。根据“如果您选择接受证书,您的服务器将提示输入证书,但如果没有提供证书,则不一定会拒绝访问。”在我们的案例中没有发生。浏览器不会提示输入证书。 –

+1

您是否需要授权规则来拒绝匿名并强制客户提交证书? –

回答

1

使用require特定位置in web.config强制证书提示:

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

为了做到这个,你必须像这样修改你的applicationHost.config(从拒绝访问 - >允许):

<section name="access" overrideModeDefault="Allow" />` 
+0

相同的设置提示客户端证书,如果它是一个窗口2008 R2。但在Windows 2008 32位不提示。我会在32位上尝试你的解决方案。 –