Le client génère localement une paire de clés asymétriques :
openssl genpkey -algorithm RSA -out ma_cle_privee.pem -pkeyopt rsa_keygen_bits:2048
Le client crée une CSR contenant sa clé publique et ses informations d'identité. Cette CSR est signée avec sa clé privée pour prouver sa possession.
openssl req -new -key ma_cle_privee.pem -out ma_demande.csr -subj "/CN=client.exemple.com/O=MonOrganisation"
Le client envoie la CSR à la CA via un canal sécurisé (HTTPS, ACME, SCEP, EST...).
La CA :
La CA renvoie un certificat signé. Le client peut l'utiliser avec sa clé privée locale pour s'authentifier ou chiffrer.
[Client] [CA] | | |-- Génère clé privée/publique ----------->| |-- Crée CSR signée (clé publique) ------->| | | |<-- Certificat signé (X.509) -------------| | |
openssl x509 -req -in ma_demande.csr -CA ca-cert.pem -CAkey ca-key.pem \
-CAcreateserial -out cert_client.pem -days 365 -sha256
Pour les certificats les plus basiques (DV), la CA vérifie que le demandeur contrôle le domaine. Cela peut se faire par plusieurs moyens :
👉 Ces méthodes permettent à la CA de vérifier que la personne qui fait la demande contrôle bien le domaine. Mais aucune vérification d'identité de l'entreprise ou de la personne n’est faite.
La CA vérifie en plus que :
Des échanges de documents ou appels téléphoniques sont parfois nécessaires.
C’est la validation la plus stricte, notamment pour les certificats HTTPS à haut niveau de confiance (ex : banques, grandes entreprises). Tous les éléments de la validation OV s'appliquent.
En plus, la CA doit vérifier l'identité de la personne faisant la demande (pièce d'identité, fonction dans l'entreprise). Vérification de l'autorité du signataire de la CSR.