FurlでオレオレSSLを突破する。
2016年2月1日
もはやLet’s Encryptとか使えばいいんで、オレオレ証明書を作成する必要があるのかわかりませんが、とあるテスト環境がどうやらオレオレ証明書を使っているらしく、FurlでAPIを叩こうと思ったら、
Cannot create SSL connection: SSL connect attempt failed error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
なんてエラーが出てAPIにアクセスができない。
FurlのオプションにSSL_verify_modeってのがあるので、そいつを0にしてやると、オレオレ証明書を突破できるぽい。
use Furl; use IO::Socket::SSL; my $furl = Furl->new( ssl_opts => { SSL_verify_mode => 0, }, );
もちろん本番環境は、オレオレ証明書じゃないので、テスト環境にアクセスする時だけこのオプションが効く感じで。