CentOS 7 の環境で。
curl で使うSSL通信ライブラリがNSS/3.20未満の場合、TLS1.2 のサイトに接続できない。
よって curl と NSS のアップデートをする。
# yum update curl libcurl nss libnss
これで問題は解決するはず。
だけど、どうしても SSL通信に OpenSSL を使いたい場合。ビルドするしかない。
ソースは公式サイトから取得する。
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 が使えるようになる。