MAC にて openssl をインストールして開発環境を作る

openssl

OpenSSLは、SSLプロトコルのソフトウェアである。

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 SierraOSX)の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