2011-06-09 43 views
0

情況如下 - 客戶端使用對服務器的智能卡身份驗證(F5服務器實際)。需要ActiveX組件,它會從客戶端計算機收集一些數據,然後上傳到服務器。問題是,該服務器非常受保護,並且只允許那些具有有效客戶端證書的連接。有沒有一種方法讓ActiveX組件獲取該證書,該證書用於打開頁面,在哪個組件上駐留?或者也許有可能重用瀏覽器連接?ActiveX重用瀏覽器客戶端證書

回答

0

好的。我找到了解決方案。這不是完美的,但它的工作原理。在服務器端,我讀取客戶端證書指紋並將其包含在網頁上。 ActiveX組件稍後從html讀取指紋,然後在用戶證書存儲中查找具有相同指紋的證書。同樣適用於智能卡! :) 而不是拇指印可以使用別的東西,如證書主題,但指紋是最獨特的一個。 不錯的一個!

1

在IE中運行的ActiveX控件可以使用WinINET進行HTTPS連接。這些連接將使用IE正在使用的客戶端證書。或者,您可以簡單地讓AX控件將數據提供給HTML /腳本,並讓該內容執行網絡流量。

+0

只有我想WinINET是歷史的東西。今天從C#.NET做到這一點的好方法是什麼? – 2011-06-09 15:51:25

+0

你能否給我提供一個例子。我嘗試使用WebRequest類,但它沒有在請求中包含客戶端證書。 – 2011-06-10 13:40:20

+0

我不知道你的意思是「歷史」。 WinINET是大多數Microsoft客戶端應用程序使用的網絡堆棧。強烈建議在.NET中編寫ActiveX控件。 – EricLaw 2011-06-15 04:43:48