Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
VBAでTLS1.2縛りのサイトにアクセスしたい
投稿日時: 21/05/12 23:57:03
投稿者: ganjin

お世話になります。
  
MSXML2.XMLHTTP60 で 認証付きWEBストレージのファイルを読み書きするコードを組んで運用しておりましたが、
WEBストレージ側が仕様変更でTLS1.2縛りとなり、その後アクセスができなくなりました。
  
対処法があればご教授いただけないでしょうか。
  
■抜粋コード
  
Dim objHTTP As MSXML2.XMLHTTP60
Set objHTTP = New MSXML2.XMLHTTP60
objHTTP.Open "GET", strURL & strCSV_FileName, False, strUSER, strPASS
objHTTP.send ("") 
→ここで「指定されたリソースが見つかりません」のエラーが発生します。
  
ServerXMLHTTP60→ServerXMLHTTP60 に変更してみましたが、同じ行でエラーになります。
エラーメッセージは以下に変わりました。
「セキュリティで保護されたチャネル サポートでエラーが発生しました」
 
 
以上、よろしくお願いいたします。

回答
投稿日時: 21/05/13 07:19:06
投稿者: simple

単に Msxml2.ServerXMLHTTP にしてみたらどうでしょうか。
(参考)
【ExcelVBA】HTTP/HTTPS通信でWebページを取得する
https://qiita.com/nkojima/items/c11f6369f4c32b06c90b
 
そのversionに依存するようで、
私の古いPCではエラーになり、
新しいのではエラーにならず、取得ができました。
詳細は調べていませんが、
取りあえずコメントしておきます。

投稿日時: 21/05/13 23:03:54
投稿者: ganjin

ご返信ありがとうございます。
 
Msxml2.ServerXMLHTTPでもNGだったんです。
 
winHTTPも使ってみまして、TLS1.2で通信しているように見えるのですが、鍵交換のタイミングで「セキュリティで保護されたチャネル サポートでエラーが発生しました」となります。
 
もはや意味が分からないので、諦めて業務を作り直そうと思います。

回答
投稿日時: 21/05/14 06:53:31
投稿者: kumatti
投稿者のウェブサイトに移動

手元のWindows 10だと『curl 7.55.1』でTLS 1.3は使えませんでしたが(21H1に上げてないので)、TLS1.2は対応してました。

投稿日時: 21/05/18 14:40:42
投稿者: ganjin

すみません。閉じ忘れていました。
レスを頂いた皆様、ありがとうございました。