簡體   English   中英

IIS 7.5客戶端證書身份驗證

[英]IIS 7.5 Client certificate authentication

我的本地機器上有asp.net站點。

IIS配置:綁定:使用自簽名證書的https綁定,ssl設置:需要SSL和需要客戶端證書

我已在我的計算機上安裝了下一個證書:受信任的根證書頒發機構存儲中的CA證書(稱為“CA Center”)。 個人商店中“CA Center”頒發的客戶端證書

我去網站並接受服務器證書。 但接下來我得到錯誤:

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

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

怎么了? 我應該配置其他東西嗎?

我確實遇到了這個問題,我花了一個年頭才找出原因。 原來是因為我的計算機是域的一部分,並且該域的某種組策略限制了IIS願意接受的受信任的根證書。 我不確切知道設置是什么或如何更改它,但我發現我可以使用certutil命令選擇將證書安裝到企業物理存儲中來解決它:

certutil -addstore -v -enterprise root CertificateAuthority.cer

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

此外,一個非常常見的問題是在受信任的根CA文件夾中有太多證書。 當服務器發送CA列表時,列表的大小有限,因此如果超過限制,它將截斷剩余的CA證書。 確保受信任的根CA文件夾沒有太多證書。 檢查此問題的一種方法是暫時修改注冊表編輯器中的SCHANNEL以不發送CA列表,然后重試。

開始>運行>'regedit'> HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Control \\ SecurityProviders \\ SCHANNEL>右鍵單擊>新建> DWORD>'SendTrustedIssuerList'>值:0

我認為在測試使用自簽名證書的WCF客戶端/服務器設置時,我有同樣的問題讓Internet Explorer實際創建我已安裝的證書的提示。

如果我沒記錯的話,這是Internet Explorer中的一個設置,可能是這個...

工具> Internet選項>高級選項卡>安全性部分

然后清除以下復選框:

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

重新安裝證書並檢查其生效日期。 來自Microsoft支持

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

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

  • 檢查到期日期並確保證書尚未過期。 請與您的證書頒發機構聯系,以查看您的證書是否已過期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM