Openssl
De Wiki doc
Création d'un couple de clés
Publique/privé
openssl req -x509 -nodes -days 5000 -newkey rsa:4096 -out /etc/ssl/certs/serveur.crt -keyout /etc/ssl/private/serveur.key
ASTUCE
il est possible de pré-remplir les informations qui seront demandées pour la création du certificat afin de désactiver l’interaction de la commande en ajoutant le paramètre suivant à votre commande :-subj "/C=FR/ST=Paris/L=Paris/O=Entreprise 1/OU=Pôle recherche/CN=toto.exemple.fr, emailAddress = admin@exemple.fr"
.Restriction d'accès à la clé privée
chmod 400 /etc/ssl/private/serveur.key
Chaînage du certificat
cat /etc/ssl/certs/serveur.crt /etc/ssl/private/serveur.key > /root/chaine.pem
Vérifier un couple de clés
Contrôler et afficher une clé privée et publique
openssl rsa -noout -text -check -in doc.ycharbi.fr.key
Afficher le contenu décodé d'un certificat en format PEM
openssl x509 -noout -text -in doc.ycharbi.fr.pem
Afficher le contenu d'un certificat en format PKCS#7
openssl pkcs7 -print_certs -in doc.ycharbi.fr.p7b
Afficher le contenu d'un certificat et d'une clé en format PKCS#12
openssl pkcs12 -info -in doc.ycharbi.fr.p12
Contrôler une connexion TLS et afficher tous les certificats intermédiaires
openssl s_client -connect doc.ycharbi.fr:443
Convertir des certificats
Non testé.
Conversion du format PKCS#12 vers le format PEM
Le format PKCS#12, généralement utilisé par Microsoft Windows et les versions mobiles d'OpenVPN, comporte généralement les extensions .pfx ou .p12.
openssl pkcs12 -nodes -in doc.ycharbi.fr.p12 -out doc.ycharbi.fr.crt
Conversion du format PEM vers le format PKCS#12
openssl pkcs12 -export -in doc.ycharbi.fr.crt -inkey doc.ycharbi.fr.key -out doc.ycharbi.fr.p12
Conversion du format PKCS#7 vers le format PEM
Le format PKCS#7 comporte généralement les extensions .p7b ou .p7c.
openssl pkcs7 -print_certs -in doc.ycharbi.fr.p7b -out doc.ycharbi.fr.crt
Conversion du format PEM vers le format PKCS#7
openssl crl2pkcs7 -nocrl -certfile doc.ycharbi.fr.crt -out doc.ycharbi.fr.p7b
Conversion du format DER vers le format PEM
Le format DER comporte généralement les extensions .crt .cer ou .der.
openssl x509 -inform der -in doc.ycharbi.fr.cer -out doc.ycharbi.fr.pem
Simuler un serveur WEB
Il est possible de simuler un serveur WEB HTTPS en une commande. Ceci peut être utile à des fins de test (la page affichera les capacités d'OpenSSL).
openssl s_server -cert /tmp/tls/serveur.crt -key /tmp/tls/serveur.key -accept 44330 -www
OpenSSL écoute alors les requêtes HTTP via TLS sur le port 44330 (toutes adresses source).
Il est possible d'afficher cette page avec un navigateur ou directement depuis le client intégré à OpenSSL :
openssl s_client -connect localhost:44330