/etc/openssl/cert.pemが古いせいでTwitterの認証とかがこける件

参考:OpenSSL Errors and Rails – Certificate Verify Failed

今日もハマったぜw
TwitterとかFacebookの認証がうまくいかなくて、

Twitter::Error at /admins/edit_social

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

と。。。
このエラーコードだけをググってもWindowsとか色々でる。

僕は、
rvmでMacOSなのでその辺もアンド検索をすることで参考サイトが出てきました。

まずrvmのバージョン確認。

  1. pow上でphpを使えるようにする
  2. middleman上でphpを使えるようにする
    の2つを行うことになります。
$ rvm -v

rvm 1.26.10 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

sslの証明書のステータス確認。

$ rvm osx-ssl-certs status all

Certificates for /etc/openssl/cert.pem: Old.
Certificates for : Old.

古いらしい。そりゃTwitter認証とかできないよね。
sslの証明書をアップデート。

$ rvm osx-ssl-certs update all

Updating certificates for /etc/openssl/cert.pem: Updating certificates in '/etc/openssl/cert.pem'.
mkdir: /etc/openssl: Permission denied
mkdir -p "/etc/openssl" failed, retrying with sudo
cyborgninja password required for 'mkdir -p /etc/openssl':

sudoでやらなかったのでパスワードを求められました。

sudo apachectl restart
rvm osx-ssl-certs update all
Updating certificates for /etc/openssl/cert.pem: Updating certificates in '/etc/openssl/cert.pem'.
mkdir: /etc/openssl: Permission denied
mkdir -p "/etc/openssl" failed, retrying with sudo
cyborgninja password required for 'mkdir -p /etc/openssl':
and sudo mkdir worked
Updated.
Updating certificates for /etc/openssl/cert.pem: Already up to date.

これでできるようになりました。

機械忍者

某SEO会社(?)勤務。 多分日本語よりHTMLの方が得意です。 最近はRubyとかいうキラキラな言語も勉強中です。 SEOはもう標準スキルになってきてると思うので正直もうあんまり昔ほどの熱意は感じません。 新たに躍動してる人も多いですしね。 だれか強化骨格コスプレあったら教えてください。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください