チャレンジパスワードとは何ですか?


170

UbuntuサーバーでSSLをセットアップしています。CSRの設定の一部として要求するフィールドの1つは、「チャレンジパスワード」です。それは何ですか?デフォルトは空白です。入力する必要がありますか?

回答:


152

CSR生成の一部として要求される「チャレンジパスワード」は、秘密鍵の暗号化に使用されるパスフレーズとは異なります(鍵生成時、または平文鍵が後で暗号化されるときに要求され、SSL対応のたびに再度要求されます)それを使用するサービスが開始されます)。

生成されるキーと生成されたキーの始まりは次のとおりです。

$ openssl genpkey -algorithm rsa -out foo.key
............++++++
...++++++

$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

このキーにはパスフレーズがありません。作成時にプロンプ​​トが表示されず、入力もされていません。次に、暗号化されたキーを生成しましょう。

$ openssl genpkey -algorithm rsa -des3 -out bar.key
...........................................++++++
.....................................++++++
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

$ head -3 bar.key
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQInfwj1iv3icMCAggA
MBQGCCqGSIb3DQMHBAizMHBklBexiwSCAoDtRKf1WtMiVMH7HraGTIG0rlQS6Xuj

そのため、暗号化された秘密鍵(Apacheまたは他のSSL対応サーバーは、起動時にロックを解除する必要があります)とプレーンテキストの秘密鍵(サービス開始時にロック解除を必要としない)がどのように見えるかを明確にする必要があります。次に、暗号化されていないキーからチャレンジパスワードを使用してCSR 生成します。

$ openssl req -new -key foo.key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:asdfasdf
An optional company name []:
-----BEGIN CERTIFICATE REQUEST-----
MIIBmzCCAQQCAQAwQjELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0
eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAn2M0Abg2jL/+v9J54r+ASAY5XQFmbQJiaBJAaPg/o3dwmw+U
awbzSopPFMXCgSJeczcFV4GkN1eEYq2Cmam3tH6t8mVDh0/UryJSWBsaFm9mh9RF
gIpP0hEkYZTf/0X+X06ukt9S/Id9Z/tVgPsZA3TcNjNhJfVaTm81/4ykq8UCAwEA
AaAZMBcGCSqGSIb3DQEJBzEKDAhhc2RmYXNkZjANBgkqhkiG9w0BAQUFAAOBgQCa
ivuDRBlHOhBjg6wPbH9NvCnvEnxeEAkYi0Sl/Grdo/WCk17e+sv9wgqEW1QSIdbV
XzMeWidurv4AtcATwhfk9tBcYBCTxANkTONzhJG7Yk9OAz8g8Ljo8EEvPf4oHqpw
tBg10DCD2op0lCwL2LBdPO3RG20f/HD6fEXPVxZdOQ==
-----END CERTIFICATE REQUEST-----

そして、キーが魔法のように暗号化されていないことを示すためだけに:

$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

だから私はもう一度言います:CSR生成の一部として要求される「チャレンジパスワード」は、秘密鍵を暗号化するために使用されるパスフレーズと同じものではありません。「チャレンジパスワード」は基本的に、CSRと埋め込まれたSSL証明書発行者(別名、認証局、またはCA)間の共有秘密のナンスであり、発行者は必要に応じて認証に使用できます。一部のSSL証明書発行者は、他のSSL証明書発行者よりも明確にしています。見て、このページの下部にダウン彼らはチャレンジパスワードが必要とされていると言う場所を確認するために-それはだない Apacheを再起動すると:

チャレンジパスワードの入力と使用を選択した場合は、そのパスワードを安全な場所に保存する必要があります。何らかの理由で証明書を再インストールする必要がある場合は、そのパスワードを入力する必要があります。


2
「SSL発行者」とCA(認証局)に違いはありますか?
ジョナサン

3
技術的には、SSLプロトコル自体を発行するのではなく、SSL互換の証明書を発行します。SSL発行者はあまり明確ではないと感じています。私の謙虚な意見では、SSL証明書発行者は明らかです。
ジョナサン

6
私見が必要でなかったときの非常に(非常に)完全な答え。尋ねられた質問に基づいて、「チャレンジパスワード」は基本的に共有秘密のナンスです...」以外は、すべての回答を削除できます。気を散らす無関係な情報を少なくすれば、質問とまったく同じように完全に答えられたと思います。
ジョー

3
@joeありがとう!あなたが見ることができないのは(あなたが担当者を持っていないため)、非常に高い評価のユーザー(この場合、残念ながら間違っていた)によってそれ以来削除された以前の回答に応答していたということですポイントごとの反論。作者によって行われなかったその後の削除は、私のものを少し奇妙に見せますが、今まで私はそれをそのままにしておくことを選択しました。他の人があなたのコメントを支持することであなたの見解を支持するなら、私は私の答えを修正します。
MadHatter

3
私はこれとまったく同じ質問に困惑し、この回答は主題の限られた理解(それが書かれている方法のため)には役に立たないが、幸いにもsecurity.stackexchange.com/a/77082/67048
ザグリムサン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.