2013/05/29

[技術メモ] CentOS 5.8でOpenSSLを更新

先月、hachioji.pmでinstagramのAPIをたたいて画像を表示する機能を作ったのですが、ローカルで問題なく動かすことができたのに、レンタルサーバーにアップしたら、IO::Socket::SSL

Client side SNI not supported for this openssl

ってエラで動かなくて、びっくりしました。(汗)
具体的になにをインストールしたらいいかわからなくて、そこでちょっと挫折して、直すのに大分さぼっちゃいましたが、次回のため、一応どう対応したかをメモっときましょう。

僕が使ってるCentOS 5.8にデファルトで入ってるOpenSSLのバージョンが0.9.8ですが、IO::Socket::SSLのドキュメントによるとOpenSSL 1.0以上が必要そうです:

Support for SNI on the client side was added somewhere in the OpenSSL 0.9.8 series, but only with 1.0 a bug was fixed when the server could not decide about its hostname. Therefore client side SNI is only supported with OpenSSL 1.0 or higher in IO::Socket::SSL.

OpenSSLを更新するにはAxivoのRepository Packageをいれるとyum installでできます。

rpm -ivh --nosignature http://rpm.axivo.com/redhat/axivo-release-5-1.noarch.rpm


それができたら、インストールするのにopenssl.x86_64が必要なので、それが入ってること確認できたら、以下のコマンドで更新:

yum remove openssl.i686
yum --enablerepo=axivo update openssl


詳しくはこちら