FreeBSDで最新のOpenSSLを使うには。

本家FreeBSD-QA-MLよりメモ。

OpenSSLはFreeBSDのベースシステムに含まれている。
したがって、公式にセキュリティフィックスなどのサポートがされるわけだが、引き換えに最新バージョンへの追随は遅めになる。

OpenSSH本家(http://www.openssl.org/)では、1/7にOpenSSL 0.9.8jがリリースされているが、FreeBSDでは以下の通りの状況だ。

$ uname -sr
FreeBSD 7.1-RELEASE
$ openssl version
OpenSSL 0.9.8e 23 Feb 2007

上述のとおり、ベースシステムに取り込まれている以上、セキュリティ等のサポートには問題ないが、機能の点で最新版を使いたいケースもある。

そういった場合、OpenSSLはports(security/openssl)にもあるので、ここからインストールして、最新のopensslを使うよう下記の通りmake.confを修正する。

もちろんこれはコンパイル時に新しいopensslを参照するための設定なので、こうしてから最新opensslを使いたいportsやらベースシステムのコマンドやらを作り直す。

# echo "WITH_OPENSSL_PORT=yes" >> /etc/make.conf

これだけでOKだが、ベースシステムのOpenSSLを削除したい場合には、下記のようにする。
ただ、これに先立ってportsの全作り直しをしていればともかく、make delete-old-libsはいろいろと面倒なうえに危険なので、この手順はやってない。

# echo "WITHOUT_OPENSSL=yes" >> /etc/src.conf
# cd /usr/src && make check-old
# make delete-old
# make delete-old-libs