openssl
死ぬほど面倒くさい。
検証環境で中間証明書から発行されたオレオレサーバ証明書を作ろうとして嵌る。
テキトーにコマンドでオレオレ証明書発行して、nodejsのexpressサーバに中間証明書を設定すると、
chromeブラウザからの検証でエラーになって、強制的にページを見ることも叶わなくなる。
中間証明書はルート証明書と違い、以下の拡張要素が必要になるようだ。
[ v3_ca_middle ] subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer basicConstraints = CA:true
フツーのエンド証明書と違い、(ルート証明書と同じく)basicConstrainsでCA:trueを設定しなくてはならないが、
ルート証明書と違い、(ユーザ証明書と同じく)authorityKeyIdentifierに、keyid,issuerを設定しなくてはならない。
(ルート証明書のauthorityKeyIdentifierは、keyid:always,issuer が設定されている。)
違いはよく分かってない。
でも確かに、むかーしRFCで読んだような気がしないでもない。