【问题标题】:Have serverxmlhttp ignore request for option client-certificate让 serverxmlhttp 忽略对选项客户端证书的请求
【发布时间】:2011-06-21 09:51:14
【问题描述】:

我想访问的某个 SOAP 网络服务器被配置为“接受客户端证书”,但不需要它们!

当我将 URL 直接输入 Internet Explorer 时,它会弹出一个客户端证书(我没有)。当我取消此对话框时,会弹出第二个对话框,输入用户名和密码。这适用于我的用户名和密码。

我正在尝试在使用 ServerXMLHTTP 的脚本中做同样的事情

var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0") // or 4.0
objXMLHTTP.open("POST",
                "https://www.example.com",
                false,
                "username",
                "password");
objXMLHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
//   objXMLHTTP.setOption(2) = 13056; // This does not help
objXMLHTTP.send(XMLReq); // This fails

错误信息是msxml6.dll: An unknown error occurred while processing the certificate.msxml6.dll: A connection with the server could not be established

如何让 ServerXMLHTTP 忽略客户端证书的可选(!)请求并继续进行基本身份验证?或者我可以使用什么其他组件?

注意事项:

  • 我无法更改网络服务器上的设置或获取客户端证书。
  • 我也尝试过 WinHTTP.WINHTTPRequest.5.1,但没有帮助。
  • 记住:这个问题是关于客户证书的。 objXMLHTTP.setOption(2) = 13056 只会忽略 服务器 证书错误。

【问题讨论】:

    标签: client-certificates serverxmlhttp


    【解决方案1】:

    为了让您了解最新情况并供将来参考:我放弃了。

    据我了解,可以使用更底层的 win32 WinHTTP API 来完成。 我的猜测:我需要设置来自http://msdn.microsoft.com/en-us/library/aa384066%28VS.85%29.aspx 的 WINHTTP_OPTION_CLIENT_CERT_CONTEXT,但 serverxmlhttp API 仅限于支持它。

    最后我能够创建一个客户端证书并让 SOAP 服务器信任它

    【讨论】:

    • 感谢这个问题/答案,终于有人与我有相同的要求和问题 ;-) 我想自从这篇文章以来你还没有找到方法......
    猜你喜欢
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2018-01-05
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多