2013-09-22 119 views
0

我想爲站點添加額外的安全性併爲我的用戶生成自簽名客戶端證書。通過ASP.NET應用程序中的客戶端簽名SSL證書對用戶進行身份驗證

我設置IIS以要求客戶端證書,開創了服務器使用自簽名的證書,隨後幾篇文章解釋瞭如何通過makecert和pvk2pfx(他們都使用下面的方法)來創建客戶端sertificate:

makecert -r -n "CN=My Personal CA" -pe -sv MyPersonalCA.pvk -a sha1 -len 2048 -b 01/21/2010 -e 01/21/2016 -cy authority MyPersonalCA.cer 
makecert -iv MyPersonalCA.pvk -ic MyPersonalCA.cer -n "CN=John Doe" -pe -sv JohnDoe.pvk -a sha1 -len 2048 -b 01/21/2010 -e 01/21/2016 -sky exchange JohnDoe.cer -eku 1.3.6.1.5.5.7.3.2 
pvk2pfx -pvk JohnDoe.pvk -spc JohnDoe.cer -pfx JohnDoe.pfx -po PASSWORD 

我在受信任的證書頒發機構中安裝了MyPersonalCA,並在適當的證書存儲中安裝了JohnDoe.pfx。

然而,當我打開我的網站我得到:

HTTP錯誤403.7 - 禁止

我缺少什麼?爲什麼瀏覽器沒有發送客戶端證書?

+0

你怎麼會找到一個解決辦法?我有同樣的問題 – Fabske

回答

1

有下列情況下該瀏覽器可以讓你選擇一個證書:

  1. 證書已與「客戶端身份驗證」選項

    1.3.6.1.5.5.7.3.2 - id_kp_clientAuth 
    
  2. 的證書跡象生成您的證書必須安裝在服務器上的可信根證書頒發機構(不在客戶端上!)

  3. 證書本身必須安裝在瀏覽器證書存儲(系統商店即與鍍鉻,內部儲存在Firefox)

注意,這仍然是不夠的認證,還需要一個自定義的驗證模塊或在服務器上手動配置證書和用戶之間的映射。

相關問題