2011-09-26 89 views
0

許多國家已經實施了電子身份證,他們的公民可以安全地訪問在線設施,如銀行業務。從網站訪問智能卡

我對學習如何支持這些卡很感興趣,但是如何從IIS託管的網站上跟蹤如何執行此操作的文檔是一個真正的PITA:例如,在MSDN中,大部分智能卡文檔涵蓋了端到端場景將智能卡鏈接到公司環境中的域登錄。

我只是想驗證的持有人 - 例如,西班牙DNI-e卡,並通過http://ocsp.dnie.es/

現在執行卡的OSCP驗證,它似乎,而不是明確地檢測到智能卡插入,我需要在服務器上創建一個使用SSL客戶端身份驗證的登錄頁面 - 但是,如何配置一個請求以要求ssl客戶端身份驗證並選擇正確的客戶端證書?

回答

1

的確,將您的服務器配置爲需要客戶端證書身份驗證。您將在標題中收到客戶端驗證器的詳細信息。

您可以強制只接受特定證書,方法是在服務器上配置這些客戶端證書的公共根證書,並刪除您不感興趣的所有其他證書。在從服務器到瀏覽器的身份驗證請求中,列出在您的服務器系統上受信任的根證書。客戶端瀏覽器將僅提供與該根相關的客戶端證書。

+0

這是我絕對不想要的答案:似乎沒有辦法告訴IIS(<= v7.5至少)只接受某些證書。這會導致用戶體驗不太理想,因爲用戶可能會偶然選擇錯誤的證書,而瀏覽器似乎會緩慢地緩存ssl客戶機證書請求的結果,以便後續請求會繼續使用錯誤的證書。 –

+0

您是否試過通過爲受信任根中的那些證書提供根並強制刪除剩餘內容來強制執行所需證書的建議?或者是不適合你的情況? – kroonwijk

+0

該解決方案確實有效,但我更喜歡更細的控制。將證書添加到系統受信任的根目錄意味着現在Web服務器上的* Ever *應用程序信任一些其他相當隨機的身份提供者。 –

0

在Microsoft環境中,您可以將IIS配置爲在登錄頁面上要求使用SSL。此外,需要使用證書進行SSL客戶端身份驗證。