Outils pour utilisateurs

Outils du site


Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
150-crypt:030_openssl [le 05/06/2025 à 14:55] – [Les demandes de certificats] prof150-crypt:030_openssl [le 08/06/2025 à 15:42] (Version actuelle) prof
Ligne 22: Ligne 22:
             40:40:17:57:0c:8d:62:ee:ad:e6:63:15:28:03:59:4d             40:40:17:57:0c:8d:62:ee:ad:e6:63:15:28:03:59:4d
         Signature Algorithm: sha256WithRSAEncryption         Signature Algorithm: sha256WithRSAEncryption
-        Issuer: C = FR, O = DHIMYOTIS, OU = 0002 48146308100036, organizationIdentifier = NTRFR-48146308100036, CN = Certigna Services CA +<span class="hly">        Issuer: C = FR, O = DHIMYOTIS, OU = 0002 48146308100036, organizationIdentifier = NTRFR-48146308100036, CN = Certigna Services CA</span> 
-        Validity+<span class="hlg">        Validity
             Not Before: Nov 19 23:00:00 2024 GMT             Not Before: Nov 19 23:00:00 2024 GMT
-            Not After : Nov 19 22:59:59 2025 GMT +            Not After : Nov 19 22:59:59 2025 GMT</span> 
-        Subject: C = FR, L = PARIS, O = DIRECTION DES SERVICES ADMINISTRATIFS ET FINANCIERS, CN = info.gouv.fr, serialNumber = S328360770+<span class="hlo">        Subject: C = FR, L = PARIS, O = DIRECTION DES SERVICES ADMINISTRATIFS ET FINANCIERS, <b>CN = info.gouv.fr</b>, serialNumber = S328360770</span>
         Subject Public Key Info:         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption             Public Key Algorithm: rsaEncryption
-                Public-Key: (2048 bit)+<span class="hlv">                Public-Key: (2048 bit)
                 Modulus:                 Modulus:
                     00:b1:ac:14:ed:8f:8c:64:dc:14:84:0d:97:db:56:                     00:b1:ac:14:ed:8f:8c:64:dc:14:84:0d:97:db:56:
Ligne 49: Ligne 49:
                     cd:07:5a:0c:cf:ca:c9:20:5e:3a:7f:86:5b:36:1c:                     cd:07:5a:0c:cf:ca:c9:20:5e:3a:7f:86:5b:36:1c:
                     ec:e5                     ec:e5
-                Exponent: 65537 (0x10001)+                Exponent: 65537 (0x10001)</span>
         X509v3 extensions:         X509v3 extensions:
-            Authority Information Access: +<span class="hlr">            Authority Information Access: 
                 CA Issuers - URI:http://autorite.dhimyotis.com/servicesca.der                 CA Issuers - URI:http://autorite.dhimyotis.com/servicesca.der
                 CA Issuers - URI:http://autorite.certigna.fr/servicesca.der                 CA Issuers - URI:http://autorite.certigna.fr/servicesca.der
                 OCSP - URI:http://servicesca.ocsp.certigna.fr                 OCSP - URI:http://servicesca.ocsp.certigna.fr
-                OCSP - URI:http://servicesca.ocsp.dhimyotis.com+                OCSP - URI:http://servicesca.ocsp.dhimyotis.com</span>
             X509v3 Authority Key Identifier:              X509v3 Authority Key Identifier: 
                 AC:EC:86:8F:4B:37:1C:B8:7F:17:1B:19:D0:AE:E8:4E:E3:34:5C:12                 AC:EC:86:8F:4B:37:1C:B8:7F:17:1B:19:D0:AE:E8:4E:E3:34:5C:12
Ligne 160: Ligne 160:
 Plutôt rébarbatif, mais les plus courageux retrouveront les principales informations, aussi bien concernant les divers chiffrements, hachages utilisés que concernant le propriétaire du certificat et l'autorité qui l'a signé. Plutôt rébarbatif, mais les plus courageux retrouveront les principales informations, aussi bien concernant les divers chiffrements, hachages utilisés que concernant le propriétaire du certificat et l'autorité qui l'a signé.
  
 +Dans l'ordre des surlignages:
 +  - en jaune, l'autorité de certification,
 +  - en orange, le propriétaire du certificat et le(s) domaine(s) qu'il certifie comme légitimes,
 +  - en gris, la clé publique,
 +  - en rouge, les chemins d'accès aux listes de révocation. Tout propriétaire d'un certificat a la possibilité et surtout, le devoir, de signaler à la CA émettrice que le certificat doit être révoqué, c'est-à-dire rendu caduque avant sa date d'expiration, s'il a été compromis ou s'il n'a plus de raison d'être. OCSP (Online Certificate Status Protocol) permet au client utilisant TLS/SSL de vérifier la validité du certificat.
 C'est une bonne pratique, que de vérifier les informations des certificats surtout lorsqu'il s'agit de sites marchands ou nécessitant de donner des informations à caractère personnel (login, mot de passe, etc.). Normalement, un certificat périmé, répudié, auto-signé ou signé par une CA inconnue du système doit déclencher une alarme, sauf si le système de l'utilisateur a été compromis. C'est une bonne pratique, que de vérifier les informations des certificats surtout lorsqu'il s'agit de sites marchands ou nécessitant de donner des informations à caractère personnel (login, mot de passe, etc.). Normalement, un certificat périmé, répudié, auto-signé ou signé par une CA inconnue du système doit déclencher une alarme, sauf si le système de l'utilisateur a été compromis.
  
  
  
-====== Mise en œuvre d'une CA avec OpenSSL ====== 
-Sans aller jusqu'à réaliser une PKI complète, nous allons réaliser une autorité de certification auto-signée. Elle permettra de réaliser des certificats au format X509 à usage interne uniquement bien sûr. L'objectif étant surtout ici de comprendre le mécanisme. Tout va se faire avec les privilèges «root» 
  
-Nous commençons par créer un répertoire de travail: 
-  mkdir /democa 
-  cd /democa 
-===== Le certificat de l'autorité ===== 
-==== Réalisation d'une clé privée ==== 
-Il faut une clé privée, propriété exclusive de la CA. C'est elle qui permettra de signer les certificats que notre CA va émettre.  
-Créons une clé ECDSA (Elliptic Curve Digital Signature Algorithm) de 256 bits :  
-  openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out democa.key 
-   
-La clé privée ne doit pouvoir être lue que par «root». Les bons droits ont été normalement attribués. Si ce n'est pas le cas: 
-  chown <root>:<root> democa.key 
-  chmod 600 democa.key   
-==== Réalisation de la clé publique ==== 
-Créons maintenant un certificat X509 qui va contenir la clé publique associée à notre CA. Ce certificat servira aux clients de la CA de vérifier que les certificats demandés sont bien authentiques (chiffrement avec la clé privée = signature, déchiffrement au moyen de la clé publique pour authentifier la signature). 
-  openssl req -key democa.key -new -x509 -days 3650 -addext keyUsage=critical,keyCertSign,cRLSign -subj "/CN=myca" -out democa.crt 
-   
-Ce sertificat sera valide depuis sa date de création et pour une durée de 3650 jours soit en gros en peu moins de 10 ans. 
-Le certificat devra être communiqué à tous les clients potentiels, qui devront l'ajouter à leur liste de confiance. Ici, tout dépendra de la distribution GNU/Linux. Sur Debian, le paquet ''ca-certificates'' installe et maintient les autorités de certification connues du système. Il y en a un peu partout: 
-  - ''/etc/ssl/certs'' contient les certificats des CA officielles et mondialement connues, 
-  - ''/usr/share/ca-certificates/'' contient des certificats proposés par la fondation Mozilla 
-  - ''/usr/local/share/ca-certificate'' par défaut ne continent rien, mais il est possible ici d'ajouter le certificat de notre CA interne 
-Pour que notre CA interne puisse être connue des clients potentiels, il faut sur chaque client: 
-  - copier le certificat de notre CA dans ''/usr/local/share/ca-certificates/'' 
-  - exécuter la commande ''update-ca-certificates'' 
-Ceci doit répondre quelque chose du genre: 
-<html><pre class="code"> 
-Updating certificates in /etc/ssl/certs... 
-<span class="bhly">1 added</span>, 0 removed; done. 
-Running hooks in /etc/ca-certificates/update.d... 
-done. 
-</pre></html> 
-====== Les demandes de certificats ====== 
-une PKY digne de ce nom propose à ses clients une interface permettant de construire leur requête. Le but étant ici de faire la preuve du concept, l'administrateur construira lui-même la requête pour ses clients. La construction d'un CSR («Certificat Signing Request»,demande de signature de certificat) ne nécessite aucun privilège particulier. 
- 
-==== Création de sa clé privée ==== 
-<html><pre class="code"> 
-<b>openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out MyPrivate.key</b> 
-</pre></html> 
-==== Création de la CSR ==== 
-<html><pre class="code"> 
-<b>openssl req -key MyPrivate.key  -new -out MyCert.csr</b> 
- 
-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. 
-<span class="txtb"># Suit donc une liste de questions:</span> 
------ 
-Country Name (2 letter code) [AU]:<b>FR</b> 
-State or Province Name (full name) [Some-State]:<b>PACA</b> 
-Locality Name (eg, city) []:<b>Marseille</b> 
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:<b>experiences diverses</b> 
-Organizational Unit Name (eg, section) []:<b>informatique</b> 
-Common Name (e.g. server FQDN or YOUR name) []:<b>monserveur.mondomaine.tld</b> 
-Email Address []:<b>sysop@mondomaine.tld</b> 
- 
-Please enter the following 'extra' attributes 
-to be sent with your certificate request 
-<span class = "txtb"> Nous allons nous en passer...</span> 
-A challenge password []:<span class = "txtb">Cette entrée est obsolète. Laisser vide</span> 
-An optional company name []:<span class = "txtb"> Nous allons aussi nous en passer...</span> 
-</pre></html> 
-Dans le répertoire de travail, nous retrouvons: 
-<html><pre class="code"> 
-<b>ls -l</b> 
- 
-total 12 
--rw-rw-r-- 1 user user  570  2 juin  18:54 MyCert.csr 
--rw------- 1 user user  241  2 juin  18:48 MyPrivate.key 
-</pre></html> 
-==== Demande de certification ==== 
-Il faut maintenant transmettre le CSR à notre CA pour qu'elle la signe. 
- 
-openssl x509 -req -in <server-cert.csr> -CA <ca.crt> -CAkey <ca.key> -days 365 -extfile <openssl.cnf> -extensions <server-cert> -out <server-cert.crt> 
Les certificats X509: Dernière modification le: 05/06/2025 à 14:55 par prof