概要
前提
- 「自己署名証明書」(通称:オレオレ証明書)はそんなに安全ではない、という理解。
- オレオレ証明局を用意している状態。
- サーバー用のCSR情報ファイルを作成している状態。
自己署名証明書作成
SSL証明書の自己署名証明書の話。
オレオレ証明局を使って任意のサーバー用のSSL証明書を発行する場合に、
認証局とサーバー用のcsr情報が完全一致じゃないと怒られる(例 The organizationName field needed to be the same
)ので
オプション(-policy policy_anything
)を付けて回避しましょうと。
調べても断片的な情報しか出てこないので、自分用に各オプションをついでにメモ。
$ # ca(certification authority)コマンドで、認証局を通してSSLを作成
$ openssl ca \
-keyfile ./ca_nagait84.key \
-cert ./ca_nagait84.crt \
-outdir ./ \
-policy policy_anything \
-in ./server.csr \
-out ./server.crt \
-days 36500 \
-extfile ./san.ext
-
-keyfile ./ca_nagait84.key
オレオレ証明局の秘密鍵を指定 -
-cert ./ca_nagait84.crt
オレオレ証明局のCRTを指定 -
-outdir ./
発行されるSSL証明書の複製を保存するパスを指定?? -
-policy policy_anything
オレオレ証明局の情報とサーバー用のCSR情報が完全一致である必要がないとき -
-in ./server.csr
サーバー用のCSR情報ファイルを指定 -
-out ./server.crt
発行されるSSL証明書のパスを指定 -
-days 36500
発行されるSSL証明書の有効期限を指定 -
-extfile ./san.ext
Chromeの「SSL_ERROR_BAD_CERT_DOMAIN」エラー対策。SAN(SubjectAltName)の指定が必要なとき、SAN情報を書いているファイルを指定。(前提としてopenssl.cnf
の[ usr_cert ]
セクションのsubjectAltName = @alt_names
などの設定が必要。もしくは-config
オプションにして上書きする)