curlでTLSバージョンを指定する方法
提供: セキュリティ
スポンサーリンク
Transport Layer Security とは、暗号化通信で使われる仕組みです。UNIXのcurlコマンドは、HTTPクラインです。curlでTLSのバージョンを指定して実行することができます。
読み方
概要
UNIX の curl コマンドは、HTTPクライアントです。コマンドラインで、HTTPの通信を行うことができます。 curl は、TLS のバージョンを指定するオプションがあります。 TLS は、Transport Layer Security の略で、暗号化通信の仕組みです。
任意の TLS を指定する場合には
- --tlsv1.0
- --tlsv1.1
- --tlsv1.2
といったオプションを指定します。
インストール
Ubuntu の場合
sudo apt install curl
使い方
curl --tlsv1.0 https://foo.bar.com/
curl --tlsv1.1 https://foo.bar.com/
curl --tlsv1.2 https://foo.bar.com/
おそらく将来的には、TLS1.3に対応され、以下のようになると考えられます。
curl --tlsv1.3 https://foo.bar.com/
指定したTLSのバージョンに対応していない場合
Webサーバが指定したTLSバージョンに対応していない場合は、 curl コマンドは接続に失敗して、以下のようになります。
$ curl --version curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets $ curl --tlsv1.0 https://login.starbucks.co.jp/login curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated. [1] 8832 exit 35 curl --tlsv1.0 https://login.starbucks.co.jp/login
メモ
Ubuntu に curl をインストールしたら、依存関係として libcur3-gnutls が入ってきた。
関連項目
- Transport Layer Security (TLS)
- Hypertext Transfer Protocol (HTTP)
- HTTPS
- メインページ
ツイート
スポンサーリンク