Debian wheezy で aptitude upgrade やったら Ruby で一部の https にアクセスできなくなった件

環境

Debian wheezy (Testing)
Ruby 1.9.3-p194

原因

aptitude upgrade によって OpenSSL が 1.0.1 にアップデートされたことによって TLS 1.1、TLS 1.2 に対応したが、
Ruby 1.9.3-p194 付属の OpenSSL 拡張がそれに対応していなかった

解決

手っ取り早く OpenSSL 1.0.0j をソースコンパイルして Ruby の OpenSSL 拡張を再コンパイルして解決

コマンド

# 接続できないことを確認
$ ruby -e 'require "open-uri";require "openssl";OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE;open("https://www.sbisec.co.jp/")'
-e:1: warning: already initialized constant VERIFY_PEER
/usr/local/lib/ruby/1.9.1/net/http.rb:799:in `connect': Connection reset by peer - SSL_connect (Errno::ECONNRESET)
        from /usr/local/lib/ruby/1.9.1/net/http.rb:799:in `block in connect'
        from /usr/local/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
        from /usr/local/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
        from /usr/local/lib/ruby/1.9.1/net/http.rb:799:in `connect'
        from /usr/local/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
        from /usr/local/lib/ruby/1.9.1/net/http.rb:744:in `start'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:306:in `open_http'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:775:in `buffer_open'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:203:in `block in open_loop'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:201:in `catch'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:201:in `open_loop'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:146:in `open_uri'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:677:in `open'
        from /usr/local/lib/ruby/1.9.1/open-uri.rb:33:in `open'
        from -e:1:in `<main>'
$

# OpenSSL インストール
cd /home/src
wget http://www.openssl.org/source/openssl-1.0.0j.tar.gz -P archives/
tar zxvf archives/openssl-1.0.0j.tar.gz
cd openssl-1.0.0j
./config shared
make
sudo make install

# Ruby OpenSSL 拡張再コンパイル
cd /home/src/ruby-1.9.3-p194/ext/openssl
ruby extconf.rb --with-openssl-dir=/usr/local/ssl
make
sudo make install

# 接続できることを確認
$ ruby -e 'require "open-uri";require "openssl";OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE;open("https://www.sbisec.co.jp/")'
-e:1: warning: already initialized constant VERIFY_PEER
$