.NETのWebBrowserでSSLクライアント認証が必要なページを表示できない
.NETのWebBrowserコントロールを使用したSSLクライアント認証が必要なページを表示するフォームをVB.NETで作成しています。.NET Frameworkは4.5です。
フォームのプログラムは
Me.webBrowserCtrl.Url = New Uri("https://xxxx/xxx/xxx.html")
と作成しました。
Windows7+InternetExplorer11の環境で、
- IEにルートCA証明書とクライアント証明書をインストール
- インターネットオプション→セキュリティで、対象ページのドメインを「信頼済みサイト」に追加
- 続いて「信頼済みサイト」の「レベルのカスタマイズ」で「既存のクライアント証明書が1つしか存在しない場合の証明書の選択」を「有効にする」に設定
以上の設定をするとIEから対象ページにアクセスした時に「クライアント証明書の選択ダイアログ」が表示されないことを確認しました。
その上で作成したフォームを起動すると正しく対象ページを表示することができました。
ところがWindowsServer2012R2+InternetExplorer11の環境では、
IEは上記環境のとおり動作するのですが、作成したフォームでは「Web ページへのナビゲーションは取り消されました」が表示されアクセスできません。
Windows7環境でも「既存のクライアント証明書が1つしか存在しない場合の証明書の選択」を「無効にする」とした場合に同様の状態になりましたので、この設定がWindowsServer2012R2環境ではIEからWebBrowserコントロールに引き継がれないのでは?と推測しています。
WindowsServer2012R2+InternetExplorer11の環境で、フォームアプリケーションでSSLクライアント認証が必要なページを表示する方法はあるでしょうか?