23

ServerXMLHTTP オブジェクトを使用して、Excel 2007 vba スクリプトでいくつかの http 要求を作成しています。

しかし、自己署名 SSL 証明書を使用する https サーバーに接続する必要があるため、デフォルトでは「認証局が無効であるか正しくありません」というメッセージが表示されます。CA 証明書を必要としないように ServerXMLHTTP オブジェクトを構成する方法はありますか?

サンプルコードは次のとおりです。

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
  objHTTP.Open "POST", "https://invernalia.homelinux.net", False, "user", "password"
  objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
  objHTTP.send ("")
4

2 に答える 2

39

私はしばらくの間この問題を抱えていました、そして私はこれのおかげでそれを乗り越えることができました:

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.SetOption 2, objHTTP.GetOption(2)
objHTTP.Open "POST", "https://invernalia.homelinux.net", False, "user", "password"
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")

私はこれをここで見つけましたsetOptionメソッドgetOptionメソッド

このコードでは、私が使用したばかりSXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORSですが、他の人とより具体的に試すことができます。

  • SXH_SERVER_CERT_IGNORE_WRONG_USAGE
  • SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID
  • SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID
  • SXH_SERVER_CERT_IGNORE_UNKNOWN_CA
于 2012-07-22T12:42:14.273 に答える