2016-03-02 127 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位上嘗試你的解決方案。 –