Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
reseau:certificat:certificatautosigne [2021/11/28 15:47] techer.charles_educ-valadon-limoges.fr [Création de la requête de demande de signature du certificat] |
reseau:certificat:certificatautosigne [2021/11/28 19:02] (Version actuelle) techer.charles_educ-valadon-limoges.fr |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Créer un certificat autosigné ====== | + | ====== Créer un certificat autosigné |
===== Présentation ===== | ===== Présentation ===== | ||
Ligne 47: | Ligne 47: | ||
</ | </ | ||
- | ===== Générer la clé publique RSA (contenu dans le fichier user.pem) ===== | + | <WRAP center round info> |
+ | Pour ne pas associer de pass-phrase à la clé privée ne précisez pas l' | ||
+ | <code shell> | ||
+ | $ openssl genrsa -out user-private.pem 2048 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Générer la clé publique RSA (contenu dans le fichier user-private.pem) ===== | ||
<code shel> | <code shel> | ||
$ openssl rsa -in user-private.pem -out user-public.pem -pubout | $ openssl rsa -in user-private.pem -out user-public.pem -pubout | ||
Ligne 75: | Ligne 82: | ||
* Saisissez la commande suivante : | * Saisissez la commande suivante : | ||
<code shell> | <code shell> | ||
- | $ openssl req -new -key user-private.pem | + | $ openssl req -new -key user-private.pem |
You are about to be asked to enter information that will be incorporated | You are about to be asked to enter information that will be incorporated | ||
Ligne 104: | Ligne 111: | ||
* **-out** : Indique le fichier de sortie | * **-out** : Indique le fichier de sortie | ||
- | ===== Génération du certificat | + | ===== Génération du certificat auto-signé ===== |
+ | Lors de la génération d'un certificat autosigné, vous avez à préciser | ||
<code shell> | <code shell> | ||
- | $ openssl x509 -req -days 365 -in user.csr -signkey user-private.key -out user.crt | + | $ openssl x509 -req -days 365 -in user.csr -signkey user-private.pem -out user.crt |
- | </ | + | |
- | Le certificat généré est le fichier **.crt** et la clé privée associée, le fichier **.key**. | + | |
- | ====== Notes ====== | + | |
- | ===== Création clé privée du CA : ===== | + | |
- | + | ||
- | <code shel> | + | |
- | openssl genrsa 2048 -out ca-key.pem | + | |
- | </ | + | |
- | Une clé maintenant : | + | |
- | * la clé privée de votre autorité de certification (CA) ca-key.pem. | + | |
- | |||
- | ===== Création certificat du CA en renseignant les informations d' | ||
- | ===== | ||
- | <code shell> | ||
- | openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem | ||
- | </ | ||
- | |||
- | Deux clés maintenant : | ||
- | * la clé privée de l' | ||
- | * le fichier du certificat de l' | ||
- | |||
- | ===== Création de la clé privée pour un serveur ===== | ||
- | Création de la clé privée du serveur en utilisant les deux fichiers créés auparavant et en indiquant un Common Name unique et en définissant un mot de passe comme chalenge password pour protéger la clé privée. | ||
- | <code shell> | ||
- | $ sudo openssl req -newkey rsa:2048 -nodes -keyout server-key.pem -out server-req.pem | ||
- | Generating a RSA private key | ||
- | writing new private key to ' | ||
- | Country Name (2 letter code) [AU]:FR | ||
- | State or Province Name (full name) [Some-State]: | ||
- | Locality Name (eg, city) []:Limoges | ||
- | Organization Name (eg, company) [Internet Widgits Pty Ltd]:BTS SIO CNED | ||
- | Organizational Unit Name (eg, section) []: | ||
- | Common Name (e.g. server FQDN or YOUR name) []:MariaDB server | ||
- | Email Address []: | ||
- | |||
- | Please enter the following ' | ||
- | to be sent with your certificate request | ||
- | A challenge password []: | ||
- | An optional company name []: | ||
- | </ | ||
- | |||
- | ===== Traitement de la clé privée du serveur MariaDB pour obtenir un type de clé RSA : ===== | ||
- | <code shell> | ||
- | $ openssl rsa -in server-key.pem -out server-key.pem | ||
- | writing RSA key | ||
- | </ | ||
- | ===== Signature du certificat du serveur par votre autorité de certification (CA) : ===== | ||
- | <code shell> | ||
- | $ openssl x509 -req -in server-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem | ||
Signature ok | Signature ok | ||
- | subject=C = FR, ST = Haute-Vienne, | + | subject=C = FR, ST = Haute-Vienne, |
- | Getting | + | Getting Private |
+ | Enter pass phrase for user-private.pem: | ||
+ | sio@vpsdebian: | ||
</ | </ | ||
- | Vous disposez maintenant de deux fichiers supplémentaires qui permettront de sécuriser la communication le serveur : | + | Le certificat |
- | * Le fichier de certificat | + | |
- | | + | |
- | ===== Vérification que le certificat | + | ===== Visualisation des informations du certificat ===== |
- | <code shell> | + | * sous Linux, vous pouvez constater que le certificat est auto-signé : |
- | $ openssl verify | + | {{ : |
- | server-cert.pem: OK | + | |
- | </ | + | |
- | ===== Création du certificat SSL pour un utilisateur ===== | + | * Sous Windows, après |
- | Création de la clé privée de l'utilisateur en définissant un mot de passe comme chalenge password : | + | {{ :reseau:certificat:certificat_02.png?400 |}} |
- | <code shell> | + | |
- | $ sudo openssl req -newkey rsa:2048 -nodes -keyout user-key.pem -out user-req.pem | + | |
- | Generating a RSA private key | + | |
- | writing new private key to ' | + | |
- | Country Name (2 letter code) [AU]:FR | + | |
- | State or Province Name (full name) [Some-State]:Haute-Vienne | + | |
- | Locality Name (eg, city) []:Limoges | + | |
- | Organization Name (eg, company) [Internet Widgits Pty Ltd]:BTS SIO | + | |
- | Organizational Unit Name (eg, section) []: | + | |
- | Common Name (e.g. server FQDN or YOUR name) []:user | + | |
- | Email Address []: | + | |
- | Please enter the following ' | + | ===== Utilisation de la clé publique pour une connexion distance en SSH ===== |
- | to be sent with your certificate request | + | Génération de des informations qui seront ensuite copiée dans le fichier **~/ |
- | A challenge password []: | + | |
- | An optional company name []: | + | |
- | </ | + | |
- | ===== Traitement de la clé privée du client pour obtenir un type de clé RSA : ===== | ||
- | <code shell> | ||
- | $ sudo openssl rsa -in user-key.pem -out user-key.pem | ||
- | writing RSA key | ||
- | </ | ||
- | ===== Signature du certificat du client MariaDB par votre autorité de certification (CA) : ===== | ||
- | <code shell> | ||
- | $ sudo openssl x509 -req -in user-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out user-cert.pem | ||
- | Signature ok | ||
- | subject=C = FR, ST = Haute-Vienne, | ||
- | Getting CA Private Key | ||
- | </ | ||
- | ===== Vérification du certificat du client MariaDB : ===== | ||
<code shell> | <code shell> | ||
- | $ openssl verify | + | # ssh-keygen |
- | user-cert.pem: OK | + | |
</ | </ | ||
+ | Le contenu du fichier **nom_fichier** doit être ajouter au contenu du fichier **~/ | ||
- | ====== Format de fichier ====== | + | Vous pouvez" |
- | Les identités numériques sont enregistrées dans des conteneurs protégés et standardisés | + | |
- | * la clé privée | + | |
- | * le certificat de l' | + | |
- | * le certificat de la CA signataire | + | |
- | + | ||
- | Ce fichier qui contient l' | + | |
- | + | ||
- | ===== Convertir le fichier PFX/P12 au format PEM===== | + | |
<code shell> | <code shell> | ||
- | # openssl pkcs12 | + | $ ssh -i user-private.pem user@adresseIPserverur |
</ | </ | ||
- | ===== Extraire la clé privée de votre certificat au format PFX/P12 ===== | ||
- | <code shell> | ||
- | # openssl pkcs12 -in moncertificat.p12 -out maclessh.pem -nodes -nocerts | ||
- | </ | ||
- | |||
- | ===== Extraire la clé publique du certificat au format PEM et ajout de celle-ci dans le fichier contenant la clé privée ===== | ||
- | |||
- | <code shell> | ||
- | # openssl x509 -in moncertificat.pem -pubkey -noout >> maclessh.pem | ||
- | </ | ||
- | |||
- | ===== Utilisation de ssh-keygen pour créer l' | ||
- | <code shell> | ||
- | # ssh-keygen -i -m PKCS8 -f maclessh.pem | ||
- | </ | ||
- | La ligne obtenu doit être copié sur le serveur, dans le fichier ~/ | ||
- | |||
- | Test de la connexion | ||
- | Maintenant, vous pouvez tester la connexion au serveur avec de l' | ||
- | # ssh -i maclessh.pem utilisateur@NOM_DU_SERVEUR | ||
- | |||
- | Optionnel : ajout du fichier maclessh.pem dans la configuration du client | ||
- | Si vous le souhaitez, vous pouvez ajouter les lignes suivantes dans le fichier de configuration de votre client SSH. Celui se trouve généralement à l' | ||
- | Host NOM_DU_SERVEUR | ||
- | IdentityFile chemin/ | ||
- | |||
- | |||
- | Une fois que cela est fait, vous n'avez plus qu'à taper ceci pour accéder au serveur : | ||
- | # ssh utilisateur@NOM_DU_SERVEUR | ||
- | |||
- | |||
- | Pour extraire Ortu extraire | ||
- | Ressources : https:// | ||
- | |||
- | CSR (Certificate Signing Request) : demande externe de certificat à la CA en fournissant la clé publique et des informations d' | ||
====== Format de fichier ====== | ====== Format de fichier ====== | ||
Ligne 276: | Ligne 163: | ||
* **PKCS12** | * **PKCS12** | ||
* **DER** : format parent de PEM et est à considéré comme une version binaire du fichier PEM codé en base64. Pas couramment utilisé en dehors de Windows. | * **DER** : format parent de PEM et est à considéré comme une version binaire du fichier PEM codé en base64. Pas couramment utilisé en dehors de Windows. | ||
+ | |||