Mac OS X El CapitanからOpenSSLのヘッダファイルが消えた話


最新のMac OS X 10.11から、システムの提供するOpenSSLのヘッダファイルが消えました。

これについて、Macnetworkprog MLの投稿「Re: OpenSSL -> Secure Transport for libevent2」にAppleの技術者による説明があります。

  • OpenSSLは10.7の頃からdeprecated(非推奨)だった。OpenSSLがバージョン間のバイナリ互換性を担保しなかったので、最新版にアップデートできなかったからだ。(訳注:0.9.8系と1.0.x系の話ですかね…?実害の有無ではなく、今後への危機感を持ったってことなら理解はできますね)
  • 10.7の頃からOpenSSLのヘッダファイルを使ってビルドすると非推奨の警告が出ていた
  • 10.11でOpenSSLのヘッダファイルを削除した(訳注:共有ライブラリのみ残っている)
  • 各アプリ内にOpenSSLのコピーを持つことをオススメする(訳注:システムの提供する共有ライブラリをあてにするな、ということでしょう)。もしくは、ネイティブAPIであるSecure Transportを使うこともできるよ。

OpenSSLのヘッダファイルは消えたものの、実行バイナリ/usr/bin/opensslや共有ライブラリ/usr/lib/libssl.0.9.8.dylibは残っていたりして非常に気持ち悪い状態です。