我需要与之通信的服务器仅允许 TLS1.3 流量。
因此,我已将与 Amazon Linux 2 捆绑的 OpenSSL 版本更新为OpenSSL 1.1.1c
。
遵循本指南
我现在可以使用 OpenSSL 来使用 TLS 1.3 openssl s_client -connect google.com:443 -tls1_3
。例如。
我需要其他命令行工具(例如 cURL 和 Git)来使用此更新版本的 OpenSSL,以便它们也可以使用 TLS 1.3 与服务器通信。当我尝试在更新后使用 cURL 时,我收到以下信息
$ curl --tlsv1.3 "https://google.com"
curl: (4) OpenSSL was built without TLS 1.3 support
让其他工具(如 cURL 和 Git)使用更新的 OpenSSL 的最佳方法是什么?
答案1
我意识到这已经是 4 个月前的事了,但为了向其他可能正在寻求相同解决方案的人提供答案:
您需要构建一个新版本的 curl,以支持新的 openssl 版本。我必须对 curl 和 wget 执行相同的操作。请记住,这不是 Amazon Linux 2 上 PHP 使用的同一版本的 curl,因此您不能指望使用 WP-Cron 的 Wordpress 等 PHP 应用程序能够支持 TLSv1.3。请注意,下面的示例是基于我的需求,您的版本和配置选项可能会有所不同,此外,您可能需要安装依赖项:
wget https://curl.haxx.se/download/curl-7.80.0.tar.gz
gunzip -c curl-7.80.0.tar.gz | tar xvf -
cd curl-7.80.0
./configure --with-ssl --with-nghttp2 --with-ngtcp2 --with-{libssh,libssh2}
make
sudo make install
我认为需要重新启动才能替换现有的 curl/wget