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で読んだような気がしないでもない。