我正在Ubuntu服务器上设置SSL。 作为build立CSR的一部分,它要求的一个领域是“挑战密码”。 那是什么? 默认为空白。 我需要input吗?
作为CSR生成的一部分请求的“质询密码”与用于encryption密钥的密码不同( 在密钥生成时请求,或者明文密钥稍后被encryption – 然后每当启用SSL时再次请求使用它的服务启动 )。
这是一个正在生成的密钥,以及生成的密钥的开头:
[madhatta@anni tmp]$ openssl genpkey -algorithm rsa -out foo.key ............++++++ ...++++++ [madhatta@anni tmp]$ head -3 foo.key -----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt
这个密钥没有密码。 在创作时我没有被提示,也没有input。 现在,让我们生成一个encryption的密钥:
[madhatta@anni tmp]$ openssl genpkey -algorithm rsa -des3 -out bar.key ...........................................++++++ .....................................++++++ Enter PEM pass phrase: Verifying - Enter PEM pass phrase: [madhatta@anni tmp]$ head -3 bar.key -----BEGIN ENCRYPTED PRIVATE KEY----- MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQInfwj1iv3icMCAggA MBQGCCqGSIb3DQMHBAizMHBklBexiwSCAoDtRKf1WtMiVMH7HraGTIG0rlQS6Xuj
所以应该清楚一个encryption的私钥(哪个apache或任何其他启用SSL的服务器在启动时需要解锁)以及明文私钥(在服务启动时不需要解锁)看起来像。 现在我将使用 未encryption的密钥生成一个带挑战密码的CSR:
[madhatta@anni tmp]$ 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-----
只是为了表明密钥没有被神奇地encryption:
[madhatta@anni tmp]$ head -3 foo.key -----BEGIN PRIVATE KEY----- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt
所以我再说一遍:作为CSR一代所要求的“质询密码”与用于encryption密钥的密码不同。 “挑战密码”基本上是你和SSL证书颁发者(又名证书颁发机构,或CA)之间的共享秘密随机数,embedded在CSR中,发行者可能用它来validation你的身份,如果需要的话。 一些SSL证书颁发者比其他人更清楚, 往下看这个页面的底部,看看他们在哪里说挑战密码是需要的 – 这不是当你重新启动Apache时:
如果您selectinput并使用质询密码,则需要确保将该密码保存在安全的地方。 如果您因任何原因需要重新安装证书,则需要input该密码。