curl でSSL通信に OpenSSL を使う

CentOS 7 の環境で。

curl で使うSSL通信ライブラリがNSS/3.20未満の場合、TLS1.2 のサイトに接続できない。

よって curl と NSS のアップデートをする。

 

# yum update curl libcurl nss libnss

 

これで問題は解決するはず。

だけど、どうしても SSL通信に OpenSSL を使いたい場合。ビルドするしかない。

ソースは公式サイトから取得する。

curl - Download

CentOS7 は RHLE7 用のをダウンロードすれば良い。たとえば curl-7.64.1-2.0.cf.rhel7.src.rpm をダウンロードしたとして、以下のコマンドでパッケージをビルドする。

 

# rpmbuild --rebuild curl-7.64.1-2.0.cf.rhel7.src.rpm --without nss 

 

rhel7 用の curl.spec ファイル内には、nss を優先して使うような記述になっている。強制的に OpenSSL を使いたいなら --without nss をつけて再ビルドすれば良い。

出来上がった rpm パッケージをインストールすれば、OpenSSL で SSL通信する curl が使えるようになる。