2012年9月2日日曜日

ERROR -- : SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

「jii」を起動したら、ログに以下のエラーメッセージが出力されていた。

E, [2012-09-01T23:42:39.771973 #220] ERROR -- : SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

上記のエラーは、証券サイトにHTTPS通信でアクセスした際、サーバ証明書の検証で失敗していることが原因である。
以下の手順で、ルートCA証明書を設定する。

①以下のサイトからcacert.penをダウンロードし、任意のディレクトリに格納する。

http://curl.haxx.se/ca/cacert.pem

②DOSプロンプトを起動し、以下のようにSSL_CERT_FILE環境変数でpemのパスを設定する。

c:\Ruby187\lib\ruby\gems\1.8\gems\jiji-1.2.8\lib\jiji>set SSL_CERT_FILE=C:\Ruby187\lib\ruby\gems\1.8\gems\jiji-1.2.8\cacert.pem

③jijiを再起動する。ログを確認し、正常に動作することを確認する。


# Logfile created on Sun Sep 02 12:11:00 +0900 2012 by logger.rb/1.2.6
I, [2012-09-02T12:11:00.803463 #6808]  INFO -- : collector start
I, [2012-09-02T12:11:02.437556 #6808]  INFO -- : collector finished


2 件のコメント:

eisuke さんのコメント...

どうもありがとうございました。
Windows環境の情報が無く、困っていました。

山川海 さんのコメント...

>eisukeさんへ

JIJIの情報は少ないですからね・・・
お役に立ってくれて嬉しいですw