我們試圖在使用System.Windows.Controls.WebBrowser的WPF應用程序中顯示需要X509證書的HTML內容。使用.NET WebBrowser控件顯示需要X509證書的HTML內容
這是一個簡單的XAML示例。
<WebBrowser Source="https://server.com/Welcome.html" />
在情況下存在與KeyUsages == X509KeyUsageFlags.DigitalSignature瀏覽器控件的兩個或更多X509證書提示用戶選擇應當使用的證書。我們想阻止顯示這個對話框。
通過代碼,我們可以知道應該使用哪個證書,但我們沒有看到將此信息發送給瀏覽器控件的方式。起初,我們期望WebBrowser擁有一個ClientCertificate或ClientCertificates屬性,就像HttpWebRequest一樣,我們可以用它來設置證書,但似乎沒有任何這樣的屬性。
我們意識到WebBrowser控件實際上是一個帶有WPF包裝的Win32控件,因此可能有一個較早的Win32 API調用可用於設置證書?
其他建議是使用不同網頁瀏覽器控件的第三方庫。在我們嘗試這種方法之前,我們想確保無法使用c#web瀏覽器控件。
也許這裏有幫助http://stackoverflow.com/questions/4001547/c-sharp-wpf-webbrowser-alternative –