OpenSSL-ワンラインでSAN対応のCSRを発行する
以前クライアント証明書の発行を記事にしましたが、最近のサーバ証明書はSAN(SubjectAltName)への対応が必須とのことで、OpensSSLでのサーバ証明書発行に関する記事を記載します。
CAのコンフィグをサーバ証明書発行用にする。
既にCAが構築してある前提で話を進めます。
証明書の用途をServerにします。openssl.cnfの以下の場所を編集してください。
[ usr_cert ] (中略) nsCertType=Server #ほかのnsCertTypeの値はコメントアウトしておく。
また、CAが証明書を発行する際にSANを含められるよう、以下の値のコメントアウトを外しておきましょう。
# copy_extensions = copy copy_extensions = copy
上記の値は外さなくてもCSRは発行できますが、CAで証明書を作成した場合にSANの値が無視されます。
CSRを作成する。
SANをCSRの情報に付与する場合は、「-addext」オプションを使います。
以下に設定例を記載します。-subjに通常のパラメータを設定した後、-addextでSANを付与していることがお分かりいただけると思います。
openssl req -new -key /etc/pki/CA/private/server_key.pem -out /etc/pki/CA/csr/server_csr.pem -subj="/CN=test.local/OU=DummyUnit/O=DummyOrg/L=hogehoge/ST=Tokyo/C=JP" -addext="subjectAltName=DNS:test.local"
証明書の発行自体はCSRによる通常の証明書発行手順で発行できます。
急ぎで書いた文章のため、粗くて申し訳ありませんが以上となります。