初めまして VBAを独学で勉強を始めたものです
エクセルVBAを使って、複数の逆引きアクセスし、証明書情報を取得した結果を一覧にしたいと考えています。
最低限コモンネームが取得できればと考えています。
通常は逆引きのため、https://xxx.xxx.xxx.xxx/ とIPを入力すると
まず「このサイトは安全ではありません」と警告ページが表示され
サイトを表示した際にURL ウィンドウに表示された証明書エラーから
「証明書の表示」を選択し、内容を確認しています。
そこでシンプルにアクセス結果を表示するVBAを下記の通り作成してみました
しかし、証明書エラーの際に
セキュリティの警告 このWebサイトのIDまたはこの接続の完全性を確認できません。 ✔このセキュリティの証明書は、信頼された証明期間から発行されています。 ✔このセキュリティ証明書の日付は有効です。 !セキュリティ証明書の名前が無効であるか、またはサイト名と一致しません。 続行しますか? はい(Y) いいえ(N) 証明書の表示(V)
と表示され、はい(Y)を選択するまで止まってしまいます。
この警告の「証明書の表示(V)」を選択して情報を抽出する方法または
この表示をスキップし、WEB上で「証明書の表示」を選択し、内容を確認する方法は何か
ございませんでしょうか。
宜しくお願い致します。
該当のソースコード
Sub 証明書確認() Dim httpReq As Object Set httpReq = CreateObject("MSXML2.XMLHTTP") '使うのはXMLHTTP With httpReq .Open "GET", "https://216.58.197.227/", False .setRequestHeader "Content-Type", "text/xml;charset=UTF-8" .send End With Do While httpReq.readyState < 4 DoEvents Loop Debug.Print httpReq.responseText Set httpReq = Nothing End Sub
試したこと
証明書関係のエラーに対処するため方法として無視をするオプションを発見しましたが、 'httpReq.setOption 2, httpReq.getOption(2) - SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
下記理由により解決に至っていません
・ServerXMLHTTPの時に使用できるコードである。(変更するとタイムアトしてしまう)
・無視をするのではなく、表示されたセキュリティの警告「証明書の表示(V) 」を表示して情報が取得できればこと足りる。
あなたの回答
tips
プレビュー