はじめに
CT(Certificate Transperency)の仕組みにより、認証局がどのような証明書を発行したかという情報は調べることができます。
crt.sh というツールを使用して、特定の認証局で発行された証明書の一覧を検索してみたいと思います。
認証局を選ぶ
私の環境でデフォルトでインストールされているルート証明書の中から、
適当な認証局を選びます。例えば、国内のルート認証局であるセコムにしてみます。
$ ls /usr/share/ca-certificates/mozilla/ | grep Security Security_Communication_EV_RootCA1.crt Security_Communication_RootCA2.crt Security_Communication_Root_CA.crt
Security_Communication_RootCA2.crt の中身はこんな感じです。
$ cat Security_Communication_RootCA2.crt | openssl x509 -text -noout Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: sha256WithRSAEncryption Issuer: C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication RootCA2 Validity Not Before: May 29 05:00:39 2009 GMT Not After : May 29 05:00:39 2029 GMT Subject: C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication RootCA2 Subject Public Key Info: 以下略
IssuerとSubjectが同じ値になっていますので、ルート証明書であることがわかります。
こいつがルートとなっている(中間)証明書にはどんなものがあるのか検索してみます。
crt.shで証明書を検索する
crt.shのトップページから、「Advanced」 のリンクを選択します。 すると以下の様な感じの画面になるので、「Select search Type」から 「organizationUnitName」を選択してOUの値で検索します。 OUの値として、「Security Communication RootCA2」を入力します。
以下の表のような結果が返るので上の行のIssuer Nameの列をクリックします。
crt.sh ID | Logged At | Not Before | Not After | Issuer Name |
---|---|---|---|---|
1176879 | 2015-08-20 | 2009-05-29 | 2029-05-29 | C=JP, O="SECOM Trust Systems CO.,LTD.", OU=Security Communication RootCA2 |
6986985 | 2015-08-20 | 2015-03-24 | 2023-09-29 | C=JP, O=SECOM Trust.net, OU=Security Communication RootCA1 |
すると、一番下の行のChild CAsに、Security Communication RootCA2をルートとする中間認証局の一覧が表示されます。
Child CAs |
---|
C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain CA - G4 |
C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain Code Signing CA - G2 |
C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain S/MIME CA |
C=JP, O=CrossTrust, CN=CrossTrust DV CA3 |
C=JP, O=CrossTrust, CN=CrossTrust DV CA4 |
C=JP, O=CrossTrust, CN=CrossTrust OV CA3 |
C=JP, O=CrossTrust, CN=CrossTrust OV CA4 |
C=JP, O="FreeBit Co.,Ltd.", CN=YourNet SSL for business2 |
C=JP, O="FreeBit Co.,Ltd.", CN=YourNet SSL for domain2 |
C=JP, O=FUJIFILM, CN=FUJIFILM Fnet CA - C |
C=JP, O=FUJIFILM, CN=FUJIFILM Fnet CA - S |
C=JP, O=FUJIFILM, CN=FUJIFILM Fnet CA - S2 |
C=JP, O=Fuji Xerox, CN=Fuji Xerox Certification Authority - G2 |
C=JP, O=Fuji Xerox, CN=Fuji Xerox Product CA 2 - S |
C=JP, O=Fuji Xerox, CN=Fuji Xerox Product CA - S |
C=JP, O=Fuji Xerox, CN=Fuji Xerox Xnet CA - C |
C=JP, O=Fuji Xerox, CN=Fuji Xerox Xnet CA - S |
C=JP, O=Fuji Xerox, CN=Fuji Xerox Xnet CA - S2 |
C=JP, O=INTEC INC., CN=EINS/PKI Public Certification Authority V3 |
C=JP, O=INTEC INC., CN=EINS/PKI Public Certification Authority V3 |
C=JP, O=Japanese Government, OU=Ministry of Defense, CN=Certification Authority |
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Domain Validation Authority - G1 |
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Domain Validation Authority - G2 |
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Organization Validation Authority - G1 |
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Organization Validation Authority - G2 |
C=JP, O=KDDI Web Communications Inc., CN=KDDI Web Communications Certification Authority |
C=JP, O=KDDI Web Communications Inc., CN=KDDI Web Communications Certification Authority 2 |
C=JP, O=National Institute of Informatics, CN=NII Open Domain CA - G5 |
C=JP, O="Nijimo, Inc.", CN=FujiSSL Public Certification Authority - G1 |
C=JP, O="Nijimo, Inc.", CN=FujiSSL Public Certification Authority - G2 |
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web EV 2.0 CA |
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web MH CA |
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web SR 3.0 CA |
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web SR 3.0 CA |
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM TimeStamping CA2 |
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SubordinateCA6 |
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA4 |
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA5 |
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA6 |
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA7 |
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA8 |
C=JP, O=Sumitomo Mitsui Banking Corporation, OU=SMBC Authority, CN=SMBC Certificate Authority CA2 |
C=JP, O=XiPS, CN=XiPS CA2 |
リスト中の気になる中間認証局を適当にクリックします。
ここでは、C=JP, O=National Institute of Informatics, CN=NII Open Domain CA - G5にします。
Issued Certificates の行にEnter search termという検索窓があるので、%.go.jpなど適当に検索をすると、
この中間認証局で発行された go.jpドメインに対するすべての証明書 を確認することができます。