curlでSSL証明書の有効期限や発行者、コモンネームを確認する方法

目次

スポンサードリンク

curlコマンドはサーバーとの間でデータ転送するためのツールです。この記事では、curlコマンドを使ってWebサーバーに配置したSSL証明書の発行者情報や有効期限を確認する方法を紹介します。

curlコマンドの基本構文

curlコマンドの基本的な構文は以下です。コマンドの後にオプションと通信するサーバーのURLを入力します。curlコマンドは様々なプロトコルに対応したデータ転送ツールですが、この記事ではWebサーバーと通信した結果について紹介します。

curl [オプション] [URL]

SSL証明書の情報を取得する方法

curlコマンドは -vオプション をつけて実行するとWebサーバーから取得した情報を詳細に表示してくれます。

下記はこのブログにアクセスしたみた結果です。HTTPリクエストヘッダーやレスポンスヘッダー、取得したHTMLソースなどが表示されています。Server certificate から続く5行がSSL証明書の情報です。証明書のコモンネーム(CN:証明書が発行されたドメイン名)や発行者(issuer:証明書を発行した機関)、証明書の有効期限など、証明書の情報を確認することができます。

[root@hostname tmp]# curl -v https://uchy.me/blog/
* About to connect() to uchy.me port 443 (#0)
*   Trying 49.212.235.185...
* Connected to uchy.me (49.212.235.185) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
*       subject: CN=uchy.me
*       start date: Jun 27 19:34:56 2024 GMT
*       expire date: Sep 25 19:34:55 2024 GMT
*       common name: uchy.me
*       issuer: CN=R11,O=Let's Encrypt,C=US
> GET /blog/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: uchy.me
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 14 Aug 2024 10:43:52 GMT
< Content-Type: text/html
< Content-Length: 21525
< Connection: keep-alive
< Last-Modified: Tue, 13 Aug 2024 10:25:25 GMT
< ETag: "5415-61f8e07168f40"
< Accept-Ranges: bytes
<
<!DOCTYPE html>
<html lang="ja">

※以降、WebページのHTMLソースが続きます

証明書情報のみを抽出する方法

grepコマンドと組み合わせれば、証明書情報のみ抽出することができます。下記例では、curlで取得した結果を、grepコマンドでフィルタリングしています。

[root@hostname tmp]# curl -v https://uchy.me/blog 2>&1 | grep -E "subject|issuer|start date|expire date|common name"
*       subject: CN=uchy.me
*       start date: Jun 27 19:34:56 2024 GMT
*       expire date: Sep 25 19:34:55 2024 GMT
*       common name: uchy.me
*       issuer: CN=R11,O=Let's Encrypt,C=US


関連記事
curlコマンドの–verboseオプションの見方を解説
curlコマンドが対応しているプロトコル一覧



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon