2013-06-17 [長年日記]
_ Windows で Ruby のSSL証明書を更新する
WindowsのRailsInstaller版Rubyで twitter gem を動かしていたら以下のエラーが。
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/net/http.rb:799:in `connect': SSL_con
nect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verif
y failed (Twitter::Error::ClientError)
ああ、例の証明書エラーね、と思ったがWindowsだとどう解決するか分からなかったのでメモ。 やることは簡単だった。
- 証明書ファイルをDL
- 環境変数
SSL_CERT_FILE
にそのパスを設定 - 開いているコマンドプロンプトは一度閉じてから開く
証明書ファイルはここにある。例えば C:\RailsInstaller\cacert.pem として保存する。 http://curl.haxx.se/ca/cacert.pem
環境変数はコントロールパネルのシステム(Win8では検索で「システム環境変数の設定」と入力。「設定」カテゴリにある。)から設定するか、コマンドプロンプトから以下を打てばいい。
setx SSL_CERT_FILE "C:\RailsInstaller\cacert.pem"
あとはコマンドプロンプトを閉じてから開けばエラーなく実行できるようになる。
ここの一番下の情報が参考になりました。 http://stackoverflow.com/questions/5720484/how-to-solve-certificate-verify-failed-on-windows
http://curl.haxx.se/ca/cacert.pem の証明書は、なんの証明書ですか?<br>証明書は、通常、サイト毎に承認局から発行してもらわなければいけないものと<br>認識しているのですが。。。。
困ってたところうまくいきました!ありがとうございます。
↑コメント勢い余ってメール載せてしまいました。。。<br>お手数ですがコメント削除していただければうれしいです。