openssl-migration

Tips to upgrade/migrate OpenSSL lib versions.


Project maintained by KazKobara Hosted on GitHub Pages — Theme by mattgraham

OpenSSL (libssl libcrypto) の version を 1.1未満(1.0.2以前) から 1.1 以降に変更する方法や注意点など

関連情報

必要な知識

本家の migration_guide をご参照下さい。

Ver. 1.1 未満の libssl libcrypto を link していたレガシーコードを、Ver. 1.1 以降向けのコードに修正する場合。

エラー毎の対応策を以下で説明(他にもお薦めの対応策をお知らせ頂ければ、それらへのリンクを貼らせて頂くか、以下に集約させて頂ければと思います(ただし、作業は時間のあるときになってしまいます…))。

コンパイルエラー毎の対応策

リンクエラーへの対応策

実行時エラーへの対応策

ついでに移行しておくとよい関数群


以下【非推奨】、やむを得ない場合の応急措置となります。

OS の OpenSSL ライブラリの version が 1.1 以降になったため、Ver. 1.0 以前のライブラリを入手したい場合。

Ubuntu/Debian系:

apt list libssl*

で入手可能なバージョンを確認し、例えば libssl1.0.2, libssl1.0.0 などを sudo apt install する。必要なバージョンが見つからない場合には /etc/apt/sources.list に以下のような行を追加し、sudo apt update 後に上記を試す。

deb http://security.ubuntu.com/ubuntu xenial-security main

CentOS/RedHat系:

sudo dnf install compat-openssl10-devel

libssl, libcrypto ver. 1.1 以降を link することを想定して書いたコードに 1.0 以前を link させたい場合。例えば、実行環境を変えたら Ver. 1.1 未満のライブラリしか利用できなかった場合など。この場合は、最新コードに OpenSSL 1.1.0 Changes に記載されている以下の範囲のようなコードを追加すればよい。

#if OPENSSL_VERSION_NUMBER < 0x10100000L
/* リンクする OpenSSL の version が 1.1 未満の場合には、この部分が追加される。
(Ver. 1.1以降で追加された関数を Ver. 1.1未満のライブラリで実現する関数群)*/
#endif

homeに戻る


免責事項

当サイトの情報の正確性について

当サイトのコンテンツや情報において、可能な限り正確な情報を掲載するよう努めています。しかし、誤情報が入り込んだり、情報が古くなったりすることもあります。必ずしも正確性を保証するものではありません。また合法性や安全性なども保証しません。

損害等の責任について

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますので、ご了承ください。 また当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任も負いません。