Demande de signature de certificat

Voir https://fr.wikipedia.org/wiki/Demande_de_signature_de_certificat

Généralités


Avant de créer un CSR, le requérant crée une paire de clés (une publique et une privée) en gardant la clé privée secrète
Le CSR contient des informations d'identification du demandeur, et la clé publique choisie par le demandeur. La clé privée correspondante n'est pas incluse dans le CSR, mais est utilisée pour signer numériquement la demande.
Si la demande est acceptée, l'autorité de certification retourne un certificat d'identité signé numériquement avec la clé privée de l'autorité de certification (le CA).

La demande

A réaliser par le responsable SSL qui génère et installe le certificat:

Partie administrative: par exemple un formulaire PDF signé électroniquement (si pas de certificat, Acrobat en génère un) avec scan de la carte d'identité ou du passeport du réquérant.

Partie technique
Le CSR: Certificate Signing Request (spécification PKCS#10)
le format PEM est le résultat du codage base64 du format PKCS#10

  1. inf = fichier config pour création de la paire de clés
  2. fichier .key = clé privée protégée par mot de passe
  3. fichier .csr = clé publique au format PEM, à envoyer à l'UE
Génération par commande certreq –new erru.fr.testa.eu.inf erru.fr.testa.eu.csr ou via openSSL en interactif ou via la sous-commande req de OpenSSL qui permet de créer rapidement de tels fichiers (et d'en afficher le contenu) :

openssl req -newkey rsa:2048 -sha256 -keyout erru.fr.testa.eu.key -out erru.fr.testa.eu.csr -batch -subj "/emailAddress=ec-movehub-certificates@ec.europa.eu/C=FR/ST=Ile-de-France/L= Paris/O=Ministere des Transports/OU=CPII/OU=SNUM/CN=erru.fr.testa.eu" -reqexts SAN -extensions SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:erru.fr.testa.eu"))

informations d'identification

Voici les informations typiquement présentes dans un CSR :
Common Name (CN=)
Le nom complet (FQDN) du domaine Internet à sécuriser par exemple « www.wikipedia.org »
Nom de l'entreprise / Organisation (O=)
Nom d'une société ou d'une association légalement constituée.
Nom du département / Unité Organisationnelle (OU=)
Par exemple RH, finance, informatique
Localité (L=)
Par exemple Paris, Londres
Province, Région ou État (S=)
Par exemple Normandie, Ile-de-France
Pays (C=)
Le code à deux lettres ISO pour le pays où est situé l'organisme. Par exemple FR, CA
Une adresse e-mail
Une adresse e-mail pour contacter l'organisation. Habituellement l'adresse email de l'administrateur de certificats
Au final ça donne: SUBJECT = "CN=erru.acceptance.fr.testa.eu,O=Ministere des Transports,OU=CPII,ST=Ile-de-France,L=Paris,C=FR,E=toto.dupont@developpement-durable.gouv.fr"