「curlでTLSバージョンを指定する方法」の版間の差分
提供: セキュリティ
(ページの作成:「Transport Layer Security とは、暗号化通信で使われる仕組みです。UNIXのcurlコマンドは、HTTPクラインです。curlでTLSのバージョン...」) |
|||
(同じ利用者による、間の1版が非表示) | |||
行6: | 行6: | ||
== 概要 == | == 概要 == | ||
− | UNIX の curl | + | UNIX の curl コマンドは、[[HTTP]]クライアントです。コマンドラインで、HTTPの通信を行うことができます。 curl は、TLS のバージョンを指定するオプションがあります。 TLS は、[[Transport Layer Security]] の略で、暗号化通信の仕組みです。 |
任意の TLS を指定する場合には | 任意の 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> | ||
== メモ == | == メモ == | ||
Ubuntu に curl をインストールしたら、依存関係として libcur3-gnutls が入ってきた。 | Ubuntu に curl をインストールしたら、依存関係として libcur3-gnutls が入ってきた。 | ||
== 関連項目 == | == 関連項目 == | ||
− | * [[Transport Layer Security]] | + | * [[Transport Layer Security]] (TLS) |
+ | * [[Hypertext Transfer Protocol]] (HTTP) | ||
+ | * [[HTTPS]] | ||
* [[メインページ]] | * [[メインページ]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
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
- メインページ