Sto configurando SSL su un server Ubuntu. Uno dei campi richiesti come parte dell'impostazione del CSR è una "password di verifica". Cos'è quello? L'impostazione predefinita è vuota. Devo inserirne uno?
Sto configurando SSL su un server Ubuntu. Uno dei campi richiesti come parte dell'impostazione del CSR è una "password di verifica". Cos'è quello? L'impostazione predefinita è vuota. Devo inserirne uno?
Risposte:
La "password di verifica" richiesta come parte della generazione CSR, è diversa dalla passphrase utilizzata per crittografare la chiave segreta ( richiesta al momento della generazione della chiave o quando una chiave di testo in chiaro viene successivamente crittografata) e quindi richiesta nuovamente ogni volta che è abilitato SSL servizio che lo utilizza si avvia ).
Ecco una chiave generata e l'inizio della chiave generata:
$ openssl genpkey -algorithm rsa -out foo.key
............++++++
...++++++
$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt
Questa chiave non ha passphrase. Non mi è stato richiesto per uno alla creazione e non ne ho inserito uno. Ora generiamo una chiave crittografata:
$ 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
Quindi dovrebbe essere chiaro quale aspetto di una chiave privata crittografata (quale apache, o qualsiasi altro server abilitato per SSL, avrà bisogno di sbloccarsi all'avvio) e una chiave privata in chiaro (che non richiede lo sblocco all'avvio del servizio) . Ora genererò un CSR con una password di verifica dalla chiave non crittografata :
$ 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-----
E solo per dimostrare che la chiave non è stata magicamente crittografata:
$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt
Quindi ripeto: la "password di verifica" richiesta come parte della generazione CSR non è la stessa cosa di una passphrase utilizzata per crittografare la chiave segreta. La "password di prova" è fondamentalmente un nonce condiviso-segreto tra l'utente e l'emittente del certificato SSL (noto anche come autorità di certificazione o CA), incorporato nel CSR, che l'emittente può utilizzare per autenticare l'utente qualora fosse necessario. Alcuni emittenti di certificati SSL lo rendono più chiaro di altri; guarda in fondo a questa pagina per vedere dove dicono che è necessaria la password sfida - non è quando riavvii apache:
Se si sceglie di inserire e utilizzare una password di verifica, è necessario assicurarsi di salvare la password in un luogo sicuro. Se dovessi mai reinstallare il certificato per qualsiasi motivo, ti verrà richiesto di inserire quella password.