我更新的內部應用到了兩步認證處理。我想在傳統的用戶名/密碼錶單上添加客戶端證書身份驗證過程(通過智能卡)。該應用程序使用C#編寫,託管在IIS7上,並針對Chrome和IE8。
問題:
我有讓應用程序提示輸入客戶端證書的用戶的問題。我一直在Fiddler的幫助下調試應用程序。當我有一個保存在Fiddler用戶目錄(C:\ Documents and Settings \ USER \ My Documents \ Fiddler2)中的測試客戶端證書時,應用程序按預期工作。系統會提示輸入保護智能卡的PIN號碼,並且輸入正確後,會將我帶到登錄表單。當我關閉Fiddler時,應用程序會拋出403 Forbidden錯誤(因爲Fiddler不再運行並指向其證書)。我無法弄清的是爲什麼應用程序不會正常提示輸入證書。
當前服務器設置:
- 自簽名證書創建
- 443綁定在自簽名證書指向
- 匿名認證功能
- 簽名證書的自加入兩受信任的根CA和中級CA(我讀了另一個人在兩個版本中都擁有它,而不僅僅是受信任的根CA,並且解決了他們的問題,但這兩個設置都不適用於我們)。
- 我清除了我不需要的受信任根CA中的其餘證書(我在其他地方讀過,有太多證書會導致SSL窒息)。
我沒有想法嘗試,而不是從頭開始在另一臺服務器上。有誰知道這個問題可能是什麼?這看起來應該是相當直接的,我錯過了一些小事。任何想法都歡迎。
更新:
今天花更多的時間與這個問題後,我強烈相信這與IIS7沒有被正確配置的話(我沒有設置它最初)。我認爲這是因爲我啓用了失敗的請求跟蹤,查看了正在生成的後續.xml文件,並看到引發了500錯誤。
Chrome正在拋出「拒絕訪問網頁」消息,而不是「403 - 禁止訪問:訪問被拒絕」。我不知道這是否有幫助。我知道,當我不需要證書時,網站將按預期工作。要求證書是失敗的地方。
應用程序池設置爲.Net 4.0 |經典|網絡服務。
不知道我可以幫忙,但有幾個問題:1)你是否嘗試過IE或FF? 2)可能想在另一臺服務器上覆制結果。我已經看到了很多幫助/解決這個問題的問題 - 它也讓您有機會了解IIS7網站的設置; 3)是否有更多的客戶端和/或服務器日誌可以嘗試獲得更多的見解 - 看起來可能更多在IIS7方面。 – Lizz 2013-03-01 21:47:36