openssl
OpenSSL
https://www.openssl.org/
C言語のライブラリも提供されている。
ssl-OpenSSL SSL / TLSライブラリ https://www.openssl.org/docs/manmaster/man7/ssl.html
OpenSSL libraries https://www.openssl.org/docs/manmaster/man3/
MACの環境
MACの場合は openssl 互換の LibreSSL がプレインストールされている。
% openssl version
LibreSSL 2.8.3
opensslをインストールする
brew コマンドopensslでインストールする。
% brew install openssl
インストールしたopensslの情報を確認する
% brew info openssl /usr/local/Cellar/openssl@1.1/1.1.1i
参考 macOS High Sierra(OSX)のOpenSSLをデフォルトのLibreSSLからOpenSSLに変更する https://qiita.com/moroi/items/53d60d1d6885795a0f6f
開発環境を作る
(1) コマンドのリンクを張る
% ln -s /usr/local/Cellar/openssl@1.1/1.1.1i/bin/openssl /usr/local/bin/openssl
確認する
% /usr/local/bin/openssl version OpenSSL 1.1.1i 8 Dec 2020
コマンド検索パスを変更する
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
(2) ライブラリのリンクを張る
% ln -s /usr/local/Cellar/openssl@1.1/1.1.1i/lib/libssl.dylib /usr/local/lib/libssl.dylib
(3) pkgconfig用の設定ファイルを設置する
(3-1) 設定ファイル を作成する。
# libssl.pc prefix=/usr/local/Cellar/openssl@1.1/1.1.1i exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: OpenSSL-libssl Description: Secure Sockets Layer and cryptography libraries Version: 1.1.1h Requires.private: libcrypto Libs: -L${libdir} -lssl Cflags: -I${includedir}
(3-2 ) openssl の領域にコピーする
% cp libssl.pc /usr/local/Cellar/openssl@1.1/1.1.1i/pkgconfig
(3-3) リンクを張る
% ln -s /usr/local/Cellar/openssl@1.1/1.1.1i/pkgconfig /libssl.pc usr/local/lib/pkgconfig/libssl.pc
確認する
% pkg-config --cflags --libs libssl -I/usr/local/Cellar/openssl@1.1/1.1.1i/include -L/usr/local/Cellar/openssl@1.1/1.1.1i/lib -lssl
Github にシェルスクリプトを公開した https://github.com/ohwada/MAC_cpp_Samples/tree/master/openssl/setup
開発環境を確認する
バージョンを表示するプログラムで、開発環境が正しくできたか確認する
// version.c #include <openssl/opensslv.h> int main(void) { printf("version: %s \n", OPENSSL_VERSION_TEXT ); }
% gcc version.c
pkg-config --cflags --libs libssl
version: OpenSSL 1.1.1i 8 Dec 2020