2012-09-07 100 views
6

我有我的本地機器上asp.net網站。IIS 7.5的客戶證書認證

IIS配置: 結合:HTTPS使用自簽名證書綁定, SSL設置:需要SSL和要求客戶端證書

我已經在我的機器上安裝下一個證書: CA證書(稱之爲「CA中心')在受信任的根證書頒發機構商店中。由「CA中心」在個人商店發出 客戶端證書

我去現場,並接受服務器證書。但下次我得到錯誤:

HTTP錯誤403.7 - 禁止。您嘗試訪問的頁面需要您的瀏覽器具有Web服務器可識別的安全套接字層(SSL)客戶端證書。

這意味着瀏覽器(IE)不適用發送客戶端證書到服務器。

怎麼了?我應該配置別的東西嗎?

+0

我遇到了同樣的問題,並重新安裝,就像我在我的答案中所說的那樣做了。如果不是,請嘗試其他瀏覽器並告訴我們會發生什麼。您也可以嘗試將兩個證書放入TR和P存儲區,僅用於測試目的。 – DanM7

回答

0

我覺得我有這個同樣的問題,得到的Internet Explorer測試自簽名的證書WCF客戶端/服務器設置當你已安裝證書,以實際創建的提示。

如果我沒有記錯它是在Internet Explorer中,可能這一個設定...

工具> Internet選項>高級選項卡>保衛科

然後清除複選框:

'檢查發佈者證書撤銷'和 '檢查服務器證書撤銷'

+0

你可能不希望這樣做,所有網站只是爲了得到一個工作。如果它是本地網絡設置,也許,但不是整個互聯網。 – DanM7

0

重新安裝證書並檢查其生效日期。從Microsoft Support

  • 下載服務器 計算機上的瀏覽器中的根服務器證書。運行Inetsrv目錄中位於 的Iisca.exe命令行實用程序。

  • 檢查客戶端證書的生效日期,並確保日期和時間已到達 。

  • 檢查到期日期,並確保該證書沒有過期 。請聯繫您的證書頒發機構,看看您的證書是否已過期。

3

我確實有這個問題,並花了我一個年齡來找出原因。原來,這是因爲我的電腦是域的一部分,並且該域的某種組策略限制了IIS願意接受的受信任的根證書。我不知道到底是什麼設置或如何改變它,但我發現我可以解決它通過選擇使用certutil命令來安裝我的證書到企業實體店:

certutil -addstore -v -enterprise root CertificateAuthority.cer 
+0

您也可以使用證書管理單元在Microsoft管理控制檯,以確保您的自簽名證書是受信任的根證書頒發機構文件夾下放置。要添加管理單元運行:MMC - >文件 - >添加/刪除管理單元 - >證書 - >添加 - >計算機帳戶。 – xcoder

2

這聽起來像瀏覽器從未提示您選擇要發送的客戶端證書,這意味着SSL握手的內容不正確。嘗試使用OpenSSL進行測試。

此外,一個非常普遍的問題是具有受信任的根CA文件夾太多的證書。當服務器發送的CA列表,有一個列表可以是多大,所以如果它超過極限的限制,它會截斷其餘的CA證書。確保受信任的根CA文件夾沒有太多證書。檢查這是臨時修改SCHANNEL在註冊表編輯器不發送CA列表,然後再嘗試的一種方式。

Start > Run > 'regedit' > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL > right-click > New > DWORD > 'SendTrustedIssuerList' > Value:0