タイトル : Re^2: MSXML2.XMLHTTP60 をログオフ状態で使用 投稿日 : 2015/07/29(Wed) 17:57 投稿者 : 魔界の仮面弁士
> 問い合わせ回答はまだ来ていませんが: 調査結果が送られてきました。 それによると、恐らくはアクセス先のサーバーがクライアント証明書を求めており、 それに対して渡す証明書が適切ではないためにエラーとなっているのだろう、とのことです。 そしてこれは、先の No16164 で私が見たメッセージとも符合するように思えます。 Fiddler ゆえの事情もあるでしょうから、確信はもてませんけれどね。 > なお、Fiddler 経由で該当 URL にアクセスしたところ、初回通信時に > 》 The server [circus.shopping.yahooapis.jp] requests a client certificate. > と表示されました。何か心当たりはありますか? そして、今回利用していた Call objServerXmlHttp.setOption(2, 13056) 'SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS 'SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS という指定は、あくまでも「サーバー証明書のエラーを無視するもの」です。 しかし、サーバーがクライアントに証明書の提供を求めてきた場合、既定では 『ローカルストアで最初に見つかった証明書』をサーバーに渡すのだそうです。 ゆえに、その証明書が適切でない場合には、エラーになってしまうのでしょう。 サポートから回答頂いた対策は 2 つ。 1 つは、サーバー設定を見直して、クライアントに証明書を求めないように構成してもらうことです。 少なくとも他の URL では問題なく通信できているわけですから、circus.shopping.yahooapis.jp も 同じように設定できると思います。設定してもらえるかどうかは別として。 もう 1 つの策は、クライアントに適切な証明書をインストールし、ServerXMLHTTP の SXH_OPTION_SELECT_CLIENT_SSL_CERT オプションを使ってその証明書の名前を指定することです。 https://msdn.microsoft.com/en-us/library/ms753798.aspx https://msdn.microsoft.com/en-us/library/ms763811.aspx Yahoo 側の対応を考えれば、恐らくは後者の対応になると思いますが、 具体的にどうするべきかは当方には答えられません。 (当方には、Yahoo API についての利用経験や情報が無いので…) とりあえず以下に、「クライアント証明書」という用語で検索に引っかかってきたサイトを 紹介しておきます。関連するかどうかは分かりませんが、一応参考までに。 https://support.microsoft.com/ja-jp/kb/301429 http://dsas.blog.klab.org/archives/51254911.html |