自前サーバの自前CAで署名した自前サーバ証明書をインストールした装置にアクセスしたときに、こんなメッセージが表示された。
「このアプリケーションのデジタル署名は、信頼できる認証局からの証明書を使用して生成されましたが、その認証局によって失効されていないことを確認できません。」
だから、「信頼できる認証局からの証明書を使用して生成されました」となっている。
だが、CRLを設定していない。
[1]CRL Distribution Point
Distribution Point Name:
Full Name:
URL=http://crl.pki.goog/GTS1O1core.crl
という値が設定されている。
私が自前で発行したサーバー証明書にはこの項目がない。
そうか、CRL配布ポイントを証明書発行のときに設定してやればいいのか....
sanを設定したのと同様にテキスト(ext.txt)に書いて、署名時に -extfile ext.txt
を付けてやればよい。
crlDistributionPoints = URI:https://www.example.com/hoge.crl
これでCRL配布ポイントが証明書に入った。
サーバ証明書を入れ替えて再度アクセスしてみると、
今度は登録した CRL配布ポイントのアクセスが信頼できませんと言われてしまった。
ちょっと考えて、気づいた。
そもそもhttpsアクセスするための証明書なのに、それを検証するCRLの宛先もhttpsになっていたらそれも検証しなければならず、永遠に検証が終わらない。
というわけで、CRL配布ポイントのURLをhttpsでなくhttpにしたら、警告が消えた。
crlDistributionPoints = URI:http://www.example.com/hoge.crl