「curlでTLSバージョンを指定する方法」の版間の差分
提供: セキュリティ
行31: | 行31: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
curl --tlsv1.3 https://foo.bar.com/ | curl --tlsv1.3 https://foo.bar.com/ | ||
+ | </syntaxhighlight> | ||
+ | == 指定したTLSのバージョンに対応していない場合 == | ||
+ | [[Webサーバ]]が指定したTLSバージョンに対応していない場合は、 curl コマンドは接続に失敗して、以下のようになります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ 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 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== メモ == | == メモ == |
2018年3月24日 (土) 18:29時点における最新版
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
- メインページ