ビジネスパートナーの1人が、TLS SHA256証明書を使用してAPIに接続するように要求しています。これらのリクエストを生成する方法がわかりません。以前、opensslを使用してこれらのリクエストを作成しましたが、SHa1を使用してSSL証明書を生成しました。opensslを使用してこのリクエストを生成できますか?そうでない場合、どうすれば彼らが求めているものを生成できますか?
私はこの分野の専門家ではないので、私が求めていることが理にかなっているかどうかさえわかりません。
ビジネスパートナーの1人が、TLS SHA256証明書を使用してAPIに接続するように要求しています。これらのリクエストを生成する方法がわかりません。以前、opensslを使用してこれらのリクエストを作成しましたが、SHa1を使用してSSL証明書を生成しました。opensslを使用してこのリクエストを生成できますか?そうでない場合、どうすれば彼らが求めているものを生成できますか?
私はこの分野の専門家ではないので、私が求めていることが理にかなっているかどうかさえわかりません。
回答:
CSRハッシュと証明書ハッシュは関連していません
リクエストと実際の証明書のハッシュタイプは互いに関連していません。
CAはCSRの署名をチェックします。このようにして、CAはCSRが転送中に変更されなかったことを確認できます。これがCSRの署名のすべてです。
必要なハッシュをCAに通知する公式(または準公式)のインバンド方法はありません。代わりに、CA会社は複数のCAを実行する場合があり、そのうちの1つはSHA256のみを使用します。SHA256が必要な場合は、その特定のSHA256-only-CAのWebサイトでCSRを送信します。(そしてSHA1-CAのウェブサイトにはありません。)
理論化されることが多いのは、次のようなものです。「SHA1で署名されたCSRを送信すると、私の証明書はSHA1で署名されます。」これは通常行われません。(これをしばらくの間使用していたことがわかっている唯一のCAは、Gandi.netでした。)
SHA256でCSRに署名する方法とはいえ
、-sha256
パラメーターを使用してSHA256でCSRに署名するには、次のようにします。
openssl req -new -newkey rsa:2048 -nodes -sha256 -out www.example.com.sha256.csr -keyout www.example.com.key -subj "/ C = US / ST = ExampleState / L = ExampleLocation / O = ExampleOrganization / CN = www.example.com "
CSRのハッシュタイプをチェックする方法
これは、CSRのハッシュタイプを確認する方法です。
$ openssl req -in www.example.com.sha256.csr -noout -text | grep Signature
Signature Algorithm: sha256WithRSAEncryption
良い。希望どおりにSHA256を使用しています。