curlでTLSバージョンを指定する方法

提供: セキュリティ
2018年3月24日 (土) 18:29時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

Transport Layer Security とは、暗号化通信で使われる仕組みです。UNIXのcurlコマンドは、HTTPクラインです。curlでTLSのバージョンを指定して実行することができます。

読み方

Transport Layer Security

概要

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 が入ってきた。

関連項目




スポンサーリンク