到達したい特定のSOAPWebサーバーは、「クライアント証明書を受け入れる」ように構成されていますが、それらを必要としません。
Internet Explorerに直接URLを入力すると、クライアント証明書(私は持っていません)のポップアップが表示されます。このダイアログをキャンセルすると、ユーザー名とパスワードの2番目のダイアログがポップアップ表示されます。これは私のユーザー名とパスワードでうまく機能します。
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にクライアント証明書のoptional(!)要求を無視させ、基本認証を続行するにはどうすればよいですか?または、他にどのようなコンポーネントを使用できますか?
ノート:
- Webサーバーの設定を変更したり、クライアント証明書を取得したりできません。
- WinHTTP.WINHTTPRequest.5.1も試しましたが、役に立ちませんでした。
- 覚えておいてください:この質問はクライアント証明書に関するものです。サーバー証明書エラー
objXMLHTTP.setOption(2) = 13056
のみを無視します。