web-dev-qa-db-ja.com

OpenSSLバージョン1.1.1gを使用したcURL 7.69.1のコンパイル

CentOS 7でOpenSSL(バージョン1.1.1g)を使用してcURL(バージョン7.69.1)をコンパイルしています。

これは私がやったことです-

  1. カールのコンパイル用
 ./configure --with-ssl --with-nghttp2 {HTTP/2機能を追加するためのnghttp2)
 make 
 make install
  1. OpenSSLのコンパイル用
 ./config 
 make 
 make test 
 make install

(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
Gaurav Kansal

数時間のトラブルシューティングの後、次の手順で機能します-

  1. --prefixオプションを指定してOpenSSLを再コンパイルします
#./config --prefix =/usr/local/OpenSSL 
 make 
 make install 
  1. CURLを再コンパイルします
 ./ configure --with-ssl =/usr/local/OpenSSL --with-nghttp2 =/usr/local {nghttp2 for HTTP/2 support} 
 make 
 makeインストール

次の出力は、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-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets 

ありがとう。

1
Gaurav Kansal