205 votes

Qu'est-ce qu'un mot de passe de défi ?

Je suis en train de mettre en place le SSL sur un serveur Ubuntu. L'un des champs demandés dans le cadre de la configuration de la RSC est un "mot de passe de défi". Quel est ce mot de passe ? La valeur par défaut est vide. Dois-je en saisir un ?

181voto

MadHatter Points 77602

Le "mot de passe de défi" demandé dans le cadre de la génération du CSR, est différent de la phrase de passe utilisée pour chiffrer la clé secrète ( demandée au moment de la génération de la clé, ou lorsqu'une clé en clair est ensuite cryptée, puis redemandée à chaque fois que le service SSL qui l'utilise démarre. ).

Voici une clé en cours de génération, et le début de la clé générée :

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

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

Cette clé n'a pas de phrase de passe. Je n'ai pas été invité à en saisir une lors de la création, et je n'en ai pas saisi. Maintenant, nous allons générer une clé cryptée :

$ 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

Il devrait donc être clair à quoi ressemble une clé privée cryptée (qu'apache, ou tout autre serveur SSL, devra débloquer au démarrage) et une clé privée en clair (qui ne nécessite pas de déblocage au démarrage du service). Maintenant, je vais générer un CSR avec un mot de passe de défi de la part de l non crypté clé :

$ 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-----

Et juste pour montrer que la clé n'est pas devenue magiquement cryptée :

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

Je le répète donc : le " mot de passe challenge " demandé dans le cadre de la génération du CSR est no la même chose qu'une phrase de passe utilisée pour crypter la clé secrète. Le "mot de passe de défi" est essentiellement un nonce secret partagé entre vous et l'émetteur du certificat SSL (alias l'autorité de certification, ou CA), intégré dans le CSR, que l'émetteur peut utiliser pour vous authentifier si cela s'avère nécessaire. Certains émetteurs de certificats SSL sont plus clairs que d'autres. en bas de cette page pour voir où ils disent que le mot de passe de défi est nécessaire - c'est no quand vous redémarrez Apache :

Si vous choisissez d'entrer et d'utiliser un mot de passe de défi, vous devrez vous assurer que vous sauvegardez ce mot de passe dans un endroit sûr. Si vous devez réinstaller votre certificat pour quelque raison que ce soit, il vous sera vous devrez saisir ce mot de passe.

2 votes

Y a-t-il une différence entre un "émetteur SSL" et une autorité de certification (CA) ?

0 votes

Je ne pense pas ; préférez-vous que j'utilise le terme alternatif ?

3 votes

Techniquement, ils n'émettent pas le protocole SSL lui-même, mais plutôt un certificat compatible SSL. J'ai l'impression que l'émetteur SSL est moins clair. SSL Certificate Issuer serait plus clair, à mon humble avis.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X