WebサーバーのSSL証明書CSRを生成するために公式に推奨される方法(RHEL6およびCentOS 6のドキュメントによる)は、genkeyユーティリティを使用することです。ドキュメントに従って使用すると、SHA1署名付きのCSRが生成されます。私たちのCAは、SHA256署名付きのCSRをリクエストしました(新しいchrome/ieブラウザー要件に従ってSHA256 SSL証明書が必要なため)。 genkeyを使用してこれを行う方法に関するドキュメントを見つけることができませんでした。 --sha256コマンドラインフラグを試しましたが、genkeyで認識されません。誰でもこれを行う方法を説明できますか?
対話型のgenkeyコマンドでは、デフォルトを変更するオプションは提供されませんが、そのコマンドを本当に使用したい場合は、/ etc/pki/tls/openssl.cnfを更新できるはずです。
変化する:
default_md = sha1
に:
default_md = sha256
または、opensslコマンドを直接使用することもできます。ハッシュアルゴリズムがデフォルトでSHA1に設定されている場合、スイッチ-sha256を使用してSHA2を強制できます。
openssl req -new -sha256 -key private.key> new_sha256.csr
参照している署名は、CSRではなくSSL証明書にあります。これが、オプションが見つからない理由です。 :)
あなたがしなければならないことは、あなたの証明書発行者があなたのCSRに基づいて正しいオプションであなたの証明書を生成していることを確認することです。そのための正確な方法は、CAによって異なります。たとえば、GoDaddyは通常、CSRを貼り付ける場所のすぐ下の証明書リクエスト画面にドロップダウンボックスがあり、SHA-1またはSHA-2(SHA256証明書を生成します)を選択できます。