tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。