特定のTLSバージョンを使用するようにcurlを指定する方法はありますか? 1.1や1.2は好きですか?コマンドヘルプにsslv3およびtlsv1オプションのみが表示されます。最新のsrcを取得し、openssl 1.0.1eでコンパイルしました。それでもヘルプに直接オプションが表示されない。それを設定する他の方法はありますか?
バージョン7.34.0以降、Curlにはこの目的のためのオプション--tlsv1.0
、--tlsv1.1
および--tlsv1.2
があります。
manpage は言った
-1、-tlsv1
(SSL)リモートTLSサーバーとのネゴシエーション時にcurlがTLSバージョン1.xを使用するように強制します。オプション--tlsv1.0、-tlsv1.1、および--tlsv1.2を使用して、TLSバージョンをより正確に制御できます(使用中のSSLバックエンドがそのようなレベルの制御をサポートしている場合)。
...
--tlsv1.2
(SSL)リモートTLSサーバーとのネゴシエーション時にcurlがTLSバージョン1.2を使用するように強制します。 (7.34.0で追加)
バージョン7.52.0が導入されました--tlsv1.3
バージョン7.54.0以降、動作が変更されました。 nelsondaの回答 を参照してください。使用する正確なバージョンを指定するには、--tls-max
の値も指定する必要があります
Curlが選択するプロトコルにハードリミットを設定する--tlsvX.Y
/--sslvZ
に加えて、--tls-max x.y
を使用してプロトコルネゴシエーションをソフトに制御できます。
Curlの動作が変更されました!
7.54.0より前のバージョンでは、RedGrittyBrickの答えは正しいままです。 7.54.0以降のバージョンのcurlでは、オプション--tlsv1.0
、--tlsv1.1
および--tlsv1.2
curlが使用するTLSのminimumバージョンを設定します。最大値を指定するには、--tls-max <VERSION>
。
manpage から:
--tls-max
(SSL)VERSIONは、サポートされる最大のTLSバージョンを定義します。最小許容バージョンは、tlsv1.0、tlsv1.1、tlsv1.2、またはtlsv1.3によって設定されます。
--cipherオプション manpageを参照 および OpenSSL docs をご覧ください。特定のバージョンを強制する暗号リストを提供できるはずです。