2011-06-21 92 views
1

我想要達到的某個SOAP網絡服務器配置爲'接受客戶端證書',但不需要他們!讓serverxmlhttp忽略請求選項客戶端證書

當我直接在Internet Explorer中輸入URL時,它會彈出一個客戶端證書(我沒有)。當我取消這個對話框時,彈出一個用戶名和密碼的對話框。這項工作很好,我的用戶名和密碼。

我想從您使用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忽略了可選的(!)要求在腳本中做同樣的客戶端證書並繼續進行基本認證?或者我可以使用哪些其他組件?

注:

  • 我不能在Web服務器上更改設置或獲取客戶端證書。
  • 我也試過WinHTTP.WINHTTPRequest.5.1,但沒有幫助。
  • 請記住:這個問題是關於客戶端證書。 objXMLHTTP.setOption(2) = 13056只會忽略服務器證書錯誤。

回答

0

爲了讓你更新,以備將來參考:我放棄了。

據我瞭解,可以用來完成,使用更低級的win32 WinHTTP API。 我的猜想:我需要這樣設置WINHTTP_OPTION_CLIENT_CERT_CONTEXT從http://msdn.microsoft.com/en-us/library/aa384066%28VS.85%29.aspx設置,但serverxmlhttp API是有限的支持它。

最後我能夠創建一個客戶端證書,並經的SOAP服務器信任

+0

感謝這個問題/答案,終於比我同樣的要求和問題,有人;-)我想這自從這篇文章之後,你還沒有找到辦法... – Babelabout