L'obtention d'un certificat SSL auprès de l'une des principales autorités de certification (AC) peut coûter 100 $ et plus. Ajoutez au mélange des nouvelles qui semblent indiquer que toutes les autorités de certification établies ne sont pas fiables à 100 % du temps et vous pourriez décider de contourner l'incertitude et d'effacer le coût en devenant votre propre autorité de certification.
Pas
Partie 1 sur 4: Création de votre certificat CA
Étape 1. Générez la clé privée de votre autorité de certification en exécutant la commande suivante
-
openssl genrsa -des3 -out server. CA.key 2048
-
Les options expliquées
- openssl - le nom du logiciel
- genrsa - crée une nouvelle clé privée
- -des3 - chiffre la clé à l'aide du chiffrement DES
- -out server. CA.key - le nom de votre nouvelle clé
- 2048 - la longueur, en bits, de la clé privée (Veuillez consulter les avertissements)
- Conservez ce certificat et le mot de passe dans un endroit sûr.
Étape 2. Créez une demande de signature de certificat
-
openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256
-
Les options expliquées:
- req - Crée une demande de signature
- -verbose - vous montre les détails de la demande au fur et à mesure de sa création (facultatif)
- -new - crée une nouvelle demande
- -key server. CA.key - La clé privée que vous venez de créer ci-dessus.
- -out server. CA.csr - Le nom de fichier de la demande de signature que vous créez
- sha256 - L'algorithme de chiffrement à utiliser pour signer les demandes (si vous ne savez pas ce que c'est, ne le changez pas. Vous ne devriez le changer que si vous savez ce que vous faites)
Étape 3. Remplissez les informations autant que possible
-
Nom du pays (code à 2 lettres) [AU]:
nous
-
Nom de l'État ou de la province (nom complet) [un État]:
Californie
-
Nom de la localité (par exemple, ville) :
Silicon Valley
-
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Nom de l'unité organisationnelle (par exemple, section) :
-
Nom commun (par exemple, FQDN du serveur ou VOTRE nom) :
-
Adresse e-mail :
Étape 4. Auto-signez votre certificat:
-
openssl ca -extensions v3_ca -out server. CA-signed.crt -keyfile server. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server. CA.csr
-
Les options expliquées:
- ca - Charge le module Autorité de certification
- -extension v3_ca - Charge l'extension v3_ca, indispensable pour une utilisation sur les navigateurs modernes
- -out server. CA-signed.crt - Le nom de votre nouvelle clé signée
- -keyfile server. CA.key - La clé privée que vous avez créée à l'étape 1
- -verbose - vous montre les détails de la demande au fur et à mesure de sa création (facultatif)
- -selfsign - Indique à openssl que vous utilisez la même clé pour signer la demande
- -md sha256 - L'algorithme de cryptage à utiliser pour le message. (Si vous ne savez pas ce que c'est, ne le changez pas. Vous ne devriez le changer que si vous savez ce que vous faites)
- -enddate 330630235959Z - La date de fin du certificat. La notation est AAMMJJHHMMSSZ où Z est en GMT, parfois appelée heure « Zoulou ».
- -infiles server. CA.csr - le fichier de demande de signature que vous avez créé à l'étape ci-dessus.
Étape 5. Inspectez votre certificat CA
- openssl x509 -noout -text -in server. CA.crt
-
Les options expliquées:
- x509 - Charge le module x509 pour inspecter les certificats signés.
- -noout - Ne pas sortir le texte encodé
- -text - affiche les informations à l'écran
- -in server. CA.crt - Charge le certificat signé
- Le fichier server. CA.crt peut être distribué à toute personne qui utilisera votre site Web ou utilisera des certificats que vous prévoyez de signer.
Partie 2 sur 4: Création de certificats SSL pour un service, tel qu'Apache
Étape 1. Créez une clé privée
-
openssl genrsa -des3 -out server.apache.key 2048
-
Les options expliquées:
- openssl - le nom du logiciel
- genrsa - crée une nouvelle clé privée
- -des3 - chiffre la clé à l'aide du chiffrement DES
- -out server.apache.key - le nom de votre nouvelle clé
- 2048 - la longueur, en bits, de la clé privée (Veuillez consulter les avertissements)
- Conservez ce certificat et le mot de passe dans un endroit sûr.
Étape 2. Créez une demande de signature de certificat
-
openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256
-
Les options expliquées:
- req - Crée une demande de signature
- -verbose - vous montre les détails de la demande au fur et à mesure de sa création (facultatif)
- -new - crée une nouvelle demande
- -key server.apache.key - La clé privée que vous venez de créer ci-dessus.
- -out server.apache.csr - Le nom de fichier de la demande de signature que vous créez
- sha256 - L'algorithme de chiffrement à utiliser pour signer les demandes (si vous ne savez pas ce que c'est, ne le changez pas. Vous ne devriez le changer que si vous savez ce que vous faites)
Étape 3. Utilisez votre certificat CA pour signer la nouvelle clé
-
openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr
-
Les options expliquées:
- ca - Charge le module Autorité de certification
- -out server.apache.pem - Le nom de fichier du certificat signé
- -keyfile server. CA.key - Le nom de fichier du certificat CA qui signera la demande
- -infiles server.apache.csr - Le nom de fichier de la demande de signature de certificat
Étape 4. Remplissez les informations autant que possible:
-
Nom du pays (code à 2 lettres) [AU]:
nous
-
Nom de l'État ou de la province (nom complet) [un État]:
Californie
-
Nom de la localité (par exemple, ville) :
Silicon Valley
-
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd]:
wikiHow, Inc.
- Nom de l'unité organisationnelle (par exemple, section) :
-
Nom commun (par exemple, FQDN du serveur ou VOTRE nom) :
-
Adresse e-mail :
Étape 5. Enregistrez une copie de votre clé privée dans un autre emplacement
Créez une clé privée sans mot de passe pour empêcher Apache de vous demander un mot de passe:
-
openssl rsa -in server.apache.key -out server.apache.unsecured.key
-
Les options expliquées:
- rsa - Exécute le programme de chiffrement RSA
- -in server.apache.key - Le nom de la clé que vous souhaitez convertir.
- -out server.apache.unsecured.key - Le nom de fichier de la nouvelle clé non sécurisée
Étape 6. Utilisez le fichier server.apache.pem résultant avec la clé privée que vous avez générée à l'étape 1 pour configurer votre fichier apache2.conf
Partie 3 sur 4: Création d'un certificat utilisateur pour l'authentification
Étape 1. Suivez toutes les étapes de _Création de certificats SSL pour Apache_
Étape 2. Convertissez votre certificat signé en PKCS12
openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
Partie 4 sur 4: Création de certificats de messagerie S/MIME
Étape 1. Créez une clé privée
openssl genrsa -des3 -out private_email.key 2048
Étape 2. Créez une demande de signature de certificat
openssl req -new -key private_email.key -out private_email.csr
Étape 3. Utilisez votre certificat CA pour signer la nouvelle clé
openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr
Étape 4. Convertissez le certificat en PKCS12
openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
Étape 5. Créez un certificat de clé publique pour la distribution
openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "Clé publique de WikiHow"
Des astuces
Vous pouvez faire varier le contenu des clés PEM en exécutant la commande suivante: openssl x509 -noout -text -in certificate.pem
Mises en garde
- Les clés de 1024 bits sont considérées comme obsolètes. Les clés de 2048 bits sont considérées comme sécurisées pour les certificats utilisateur jusqu'en 2030, mais sont considérées comme insuffisantes pour les certificats racine. Tenez compte de ces vulnérabilités lorsque vous créez vos certificats.
- Par défaut, la plupart des navigateurs modernes affichent un avertissement « Certificat non approuvé » lorsque quelqu'un visite votre site. Il y a eu beaucoup de débats sur la formulation de ces avertissements, car les utilisateurs non techniques peuvent être pris au dépourvu. Il est souvent préférable d'utiliser une autorité majeure afin que les utilisateurs ne reçoivent pas les avertissements.
-
-