質問: 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クライアント認証が必要なページを表示する方法はあるでしょうか?
回答: 自己解決しました。 WebBrowserコントロールの「ScriptErrorsSuppressed」プロパティをTrueにしていたのが原因のようです。 このプロパティをFalseにすると、WindowsServer2012R2+IE11でも無事動作しました(ちなみにプロパティに関係なくHTTPプロトコルの通常のWebページはアクセスできました)。 しかしながら、この「ScriptErrorsSuppressed」プロパティがTrueの場合に * Windows7+IE11環境では通常のWebページおよびSSLクライアント認証必須ページ両方とも正常にアクセスできる。 * WindowsServer2012R2+IE11環境では通常のWebページは正常にアクセスできるが、SSLクライアント認証必須ページはアクセスできない。 という現象が発生する理由は分からないままです。 今回はFalseで問題ありませんでしたが、Trueにする必要が出てきた場合を考えると頭が痛いです。