TLS SHA256証明書リクエストを作成する方法


10

ビジネスパートナーの1人が、TLS SHA256証明書を使用してAPIに接続するように要求しています。これらのリクエストを生成する方法がわかりません。以前、opensslを使用してこれらのリクエストを作成しましたが、SHa1を使用してSSL証明書を生成しました。opensslを使用してこのリクエストを生成できますか?そうでない場合、どうすれば彼らが求めているものを生成できますか?

私はこの分野の専門家ではないので、私が求めていることが理にかなっているかどうかさえわかりません。

tls  openssl 

SHA1の代わりにSHA256 CSRを返すように今日私が言わなければならなかった12人の1人だったら、私には面白いでしょう。
Hyppy、2015

@Hyppy今年の年末でもお楽しみいただけることを願っています:)
Maarten Bodewes 2015

回答:


12

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を使用しています。


5

OpenSSLを使用している場合-sha256は、SHA-256署名アルゴリズムでCSRを生成するコマンドラインオプションを追加するだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.