证书颁发机构无效或不正确

zim*_*101 8 rest asp-classic

以前从 asp 调用了许多宁静的服务 - 但这个让我难住了。首先我的 func 看起来像

Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP") 
with objHTTP 
.open "post", x_posturl, False 
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send x_xmlstr
end with
Run Code Online (Sandbox Code Playgroud)

返回的错误是

msxml3.dll 错误 '80072f0d' 证书颁发机构无效或不正确

所以,用谷歌搜索了一下,建议是添加行

.setOption 2, 13056
Run Code Online (Sandbox Code Playgroud)

这给出了错误

msxml3.dll 错误 '80072f0c' 需要证书才能完成客户端身份验证

然后我联系了服务供应商,他们建议

单击地址栏旁边的证书错误,查看证书,选择详细信息,选择复制到文件,然后将其下载到文件中。将其安装到服务器上的受信任证书中,以防止在尝试提交数据时出现错误。

所以,尝试使用这里的说明- 但仍然没有快乐,任何帮助表示赞赏

Jim*_*ing 2

位于的服务器似乎x_posturl有一个配置错误的证书,或者您的客户端计算机不包含/识别该证书的根权限(很可能)。有几个选项可以修复:

\n
    \n
  1. 如果证书配置错误,请让他们修复证书。
  2. \n
  3. 如果他们的证书有效,但您的计算机无法识别根权限,则您需要在本地安装根权限证书。
  4. \n
  5. 指示MSXML2.ServerXMLHTTP忽略证书错误,这似乎在此处得到了解答:VBA ServerXMLHTTP https request with selfsignedcertificate
  6. \n
  7. 如果提供商支持,请更改x_posturl为开头http://而不是\xe2\x80\x94。https://但在生产场景中不推荐这样做。
  8. \n
\n

能具体分享一下x_posturl是什么吗?我们应该能够通过查看 SSL 握手来进行调试。

\n