使用 OpenSSL 版本 1.1.1g 编译 cURL 7.69.1

使用 OpenSSL 版本 1.1.1g 编译 cURL 7.69.1

我正在 CentOS 7 上使用 OpenSSL(版本 1.1.1g)编译 cURL(版本 7.69.1)。

这就是我所做的——

  1. 用于编译 curl
    ./configure --with-ssl --with-nghttp2 {nghttp2 用于添加 HTTP/2 功能)
    制作
    进行安装
  1. 用于编译 OpenSSL
    ./配置
     制作
     进行测试
     进行安装

(虽然,我认为我应该在 cURL 之前编译 OpenSSL,但是在编译 cURL 之后,我意识到我当前的 OpeSSL 版本不支持 TLS1.3,所以我必须编译最新版本的 cURL。)



现在,当我尝试通过 tls1.3 访问该网站时,出现以下错误——

#curl https://tls1.3.nkn.in --tlsv1.3 -v
* 尝试 10.40.122.23:443...
* 连接到 tls1.3.nkn.in (10.40.122.23) 端口 443 (#0)
* OpenSSL 在构建时不支持 TLS 1.3
* 关闭连接 0
curl:(4)OpenSSL 构建时不支持 TLS 1.3

然后,我尝试再次编译 cURL,但在 cURL 配置中注意到以下语句——

检查 OpenSSL 标头版本...1.1.1 - 0x1010107fL
检查 OpenSSL 库版本...1.0.2


我该怎么做才能解决这个问题?

答案1

经过数小时的故障排除后,它按照以下步骤工作 -

  1. 使用 --prefix 选项重新编译 OpenSSL
# ./config --prefix=/usr/local/OpenSSL
制作
进行安装
  1. 再次重新编译 cURL
./configure --with-ssl=/usr/local/OpenSSL --with-nghttp2=/usr/local {nghttp2 用于 HTTP/2 支持}
制作
进行安装

以下输出显示了使用 OpenSSL/1.1.1g 和 HTTP/2 支持的 cURL 的编译

# curl -V
curl 7.69.1(x86_64-pc-linux-gnu)libcurl/7.69.1 OpenSSL/1.1.1g zlib/1.2.7 nghttp2/1.41.0-DEV
发布日期:2020-03-11
协议:dict 文件 ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
功能:AsynchDNS HTTP2 HTTPS 代理 IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets

谢谢。

相关内容