Outils pour utilisateurs

Outils du site


sysadmin:linux:gestion_certificats:creation_des_csr

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sysadmin:linux:gestion_certificats:creation_des_csr [2021/10/27 15:20] – créée yoannsysadmin:linux:gestion_certificats:creation_des_csr [2021/10/27 23:17] (Version actuelle) yoann
Ligne 84: Ligne 84:
 Pour créer le certificat, la CSR émise doit être validée/signée par l'Autorité de Certification; Dans notre cas l'autorité de certification intermédiaire telle que définie dans le wiki Pour créer le certificat, la CSR émise doit être validée/signée par l'Autorité de Certification; Dans notre cas l'autorité de certification intermédiaire telle que définie dans le wiki
  
-Deux modes de création du certificat +Deux options openssl permettent la création d'un certificat 
-  * openssl ca +  * openssl ca: contrôle la validité des champs en fonction de la stratégie utilisée. Base de suivi des certificats émis 
-  * openssl x509+  * openssl x509: pas de vérification, pas de suivi 
 + 
 +Dans l'exemple ci dessous la CSR émise contient volontairement un ''Country Name'' différent. La politique du CA intermédiaire est définie pour refuser les requêtes dont le champ ''Country Name'' n'est pas identique: 
 + 
 +<code bash> 
 +openssl ca -config openssl.cnf -extensions server_cert \ 
 +  -days 365 -notext -md sha256 \ 
 +  -in csr/local.csr -out certs/local.cert.pem 
 +</code> 
 + 
 +La commande retourne: 
 +<code> 
 +Using configuration from openssl.cnf 
 +Enter pass phrase for /home/yoann/.private/intermediate_ca/private/intermediate_ca.key: 
 +Check that the request matches the signature 
 +Signature ok 
 +The countryName field is different between 
 +CA certificate (FR) and the request (BE) 
 +</code> 
 + 
 +Si on utilise l'option x509, la création du certificat aboutie 
 +<code bash> 
 +openssl x509 -req -days 90 -in csr/local.csr -CA certs/intermediate_ca.cert.pem -CAkey private/intermediate_ca.key -CAcreateserial -out certs_x509/local.crt 
 +</code> 
 + 
 +On peut vérifier le contenu du certificat via la commande: 
 +<code bash> 
 +openssl x509 -noout -text -in certs_x509/local.crt 
 +</code> 
 + 
 + 
 +===== Le certificat SAN ===== 
 + 
 +Un certificat **SAN** (abrégeant **S**ubject **A**lternative **N**ame) peut être utilisé sur de multiples noms de domaines par exemple abc.com ou xyz.com où les noms de domaines sont complètement différents mais pourront utiliser ce même certificat. 
 + 
 +  * De multiples noms peuvent être associés au certificat 
 +  * On définit une liste dadresse IP ou ed noms de domaines qui pourront être utilisés en lieu et place du champ ''Common Name''
 + 
 +<note> 
 +On parle parfois de certificat wilcard 
 +</note> 
 + 
 +Avant de pouvoir créer des certificats SAN il est nécessaire d'ajouter certaines valeurs à la configuration des listes d'extensions x509 d'openssl. 
 + 
 +<file conf CSR_SAN.cnf> 
 +# Fichiers de configuration des demandes de certificats 
 +# Certificate Signing Request (CSR) 
 + 
 +[ req ] 
 +# définitions des options de  l'argument openssl req 
 +default_bits        = 2048 
 +distinguished_name  = distinguished_name 
 +string_mask         = utf8only 
 + 
 +# SHA-1 is deprecated, so use SHA-2 instead. 
 +default_md          = sha256 
 + 
 +req_extensions      = req_ext_san 
 +# Extension to add when the -x509 option is used. 
 +#x509_extensions     = v3_ca 
 + 
 +[ distinguished_name ] 
 +countryName                     = Country Name (2 letter code) 
 +countryName_default             = FR 
 +countryName_min                 = 2 
 +countryName_max                 = 2 
 + 
 +stateOrProvinceName             = State or Province Name 
 +stateOrProvinceName_default     = France 
 + 
 +localityName                    = Locality Name 
 +localityName_default            = Haute Garonne 
 + 
 +0.organizationName              = Organization Name 
 +0.organizationName_default      = Mairie de Tournefeuille 
 + 
 +organizationalUnitName          = Organizational Unit Name 
 +organizationalUnitName_default  = Labo Informatique 
 + 
 +emailAddress                    = Email Address 
 +emailAddress_default            = administrateur@mairie-tournefeuille.fr 
 + 
 +commonName                      = Common Name (user name, hostname or FQDN) 
 +commonName_max                  = 64 
 + 
 + 
 +[ req_ext_san ] 
 +subjectAltName = @alt_names 
 + 
 +[alt_names] 
 +IP.1 = 127.0.0.1 
 +DNS.1 = fbaea6818592 
 +DNS.2 = localhost 
 +DNS.3 = node-7c87 
 +</file> 
 + 
 +La commande de signature du CSR avec SAN diffère, on spécifie le fichier avec les extensions à intégrer: 
 +<code bash> 
 +openssl x509 -req -days 90 -in csr/local.csr -CA certs/intermediate_ca.cert.pem -CAkey private/intermediate_ca.key -CAcreateserial -extfile server_san_ext.cnf -out certs_x509/local.crt 
 +</code> 
 + 
 + 
 +===== Références ===== 
 + 
 +  * https://www.golinuxcloud.com/openssl-generate-csr/ 
 +  * https://www.golinuxcloud.com/openssl-generate-csr-create-san-certificate/ 
 +  * https://www.golinuxcloud.com/things-to-consider-when-creating-csr-openssl/ 
 +  * https://fabianlee.org/2018/02/17/ubuntu-creating-a-self-signed-san-certificate-using-openssl/ 
 +  * https://techbrahmana.blogspot.com/2013/10/creating-wildcard-self-signed.html
sysadmin/linux/gestion_certificats/creation_des_csr.1635348058.txt.gz · Dernière modification : 2021/10/27 15:20 de yoann