blog.monophile.net

コンピュータに関するメモ。

著者

山本一彰(Takaaki Yamamoto)

東京工業大学において計算機科学と応用数学を学び、 情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 2015年にコンビネータ論理を基に計算完備な計算手法 "論理珠算"を開発し、 それを含む体系である"算道"を構成した。 その成果により、2016年に 第19回 文化庁メディア芸術祭 アート部門 新人賞 (文部科学大臣賞) を受賞。 現在はSRE(サイト信頼性エンジニア)として生計をたててている。

投稿

OpenSSL で証明書の順番を確認してみる

概要

TLS 証明書は大抵の場合で中間認証局によって発行されているので、 サーバに設定する証明書は証明書+中間証明書の組み合わせになっていると思うが、 くっつける順番がいつもわからなくなるので、正しく設定できているか不安になる。 そこで、確認する方法を調べてみた。

稼働しているWebサーバの場合

このブログの Web サーバ (blog.monophile.net) の証明書を確認する場合は↓のようにすれば良い。 (このブログは CloudFront+S3 で配信されていて、 さらに AWS CertificateManager を使っているので、証明書の確認をする必要はほぼない。)

↑を行うと↓が出力される。 ※ 後の説明のために行番号も付与している。

 1  subject=/CN=*.monophile.net
 2  issuer=/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
 3
 4  subject=/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
 5  issuer=/C=US/O=Amazon/CN=Amazon Root CA 1
 6
 7  subject=/C=US/O=Amazon/CN=Amazon Root CA 1
 8  issuer=/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
 9
10  subject=/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
11  issuer=/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority
12

1行目のsubjectを2行目のissuerが証明していて、 4行目のsubjectを5行目のissuerが証明していて、 7行目のsubjectを8行目のissuerが証明していて、 10行目のsubjectを11行目のissuerが証明していることがわかる。

Let’s Encrypt の場合

Let’s Encryptで取得した証明書の場合は fullchain.pem を入力にすればよい。

subject=/CN=example.net
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3

subject=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
issuer=/O=Digital Signature Trust Co./CN=DST Root CA X3

参考