Outils pour utilisateurs

Outils du site


tech:memento_openssl

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
tech:memento_openssl [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:memento_openssl [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon openssl TLS}}
 +
 +# Memento OpenSSL
 +
 +Source http://www.vincentliefooghe.net/node/113
 +
 +Pour chiffrement de fichier voir **scrypt**
 +
 +## 1 Si DSA :
 +
 +~~~bash
 +openssl dsaparam -out dsaparam.pem 4096
 +~~~
 +
 +
 +## 2 Génération de la clef privée:
 +
 +Si RSA 
 +~~~bash
 +#openssl genrsa -des3 -out macle.key 2048
 +openssl genrsa -out macle.key 2048
 +~~~
 +
 +Note : avec l'option `-des3` openssl demande une passphrase 
 +
 +Si DSA
 +~~~bash
 +openssl gendsa -des3 -out macle.key dsaparam.pem
 +~~~
 +
 +Si Elliptic Curve key
 +~~~bash
 + #openssl ecparam -genkey ....
 +~~~
 +
 +N'oubliez pas de noter la pass phrase, elle sera utilisée par la suite
 +
 +## 3 Génération d'un certificat auto-signé
 +
 +~~~bash
 +openssl req -new -x509 -days 3650 -key macle.key -sha256 -extensions v3_ca -out macle.crt
 +~~~
 +
 +Génération de la paire de certificat + clef en une seule ligne
 +~~~bash
 +openssl req -nodes -new -x509  -keyout server.key -out server.cert
 +~~~
 +### 4 Génération d'une demande de certificat (CSR)
 +
 +Si on ne veut pas générer un certificat auto-signé (pas reconnu dans les navigateurs et clients), il faut généralement passer par une étape intermédiaire : générer un CSR (Certificate Signing Request) qui sera signé par une autorité de certification (les sociétés telles que Verisign, Thwate & Co). On peut aussi utiliser son propre certificat auto-signé comme certificat d'autorité par la suite.
 +
 +~~~bash
 +openssl req -sha256 -new -key macle.key -out macle.csr -days 3650
 +~~~
 +
 +
 +## 5 Signature d'un CSR
 +
 +On va signer la demande de certificat (.csr) avec la clé et le certificat de l'autorité de certification :
 +~~~bash
 +openssl ca -in macle.csr -out macle.crt -keyfile ca.key -cert ca.crt -days 3650 -extensions usr_cert -notext -md sha256
 +~~~
 +Il est parfois nécessaire de créer un fichier index.txt et serial (selon les O.S.). Par exemple sur un Linux RHEL / CentOS :
 +~~~bash
 +touch /etc/pki/CA/index.txt
 +echo 0000 > /etc/pki/CA/serial
 +~~~
 +
 +
 +## 6 Vérification
 +
 +On peut vérifier le certificat de plusieurs manières :
 +
 +avec `openssl verify`, qui vérifie son DN et sa validité \\
 +avec `openssl x509`, qui dump le contenu du certificat
 +
 +on peut ajouter une option pour vérifier le "chaining" avec le certificat de l'autorité :
 +~~~
 +¢ openssl verify -CAfile ca.crt macle.crt
 +macle.crt: OK
 +~~~
 +
 +## Autre
 +
 +### Suppression de la pass-phrase d'une clé
 +
 +~~~
 +$ cp macle.key macle.key.avecpass
 +$ openssl rsa -in macle.key.avecpass -out maclesanspass.key
 +Enter pass phrase for macle.key.avecpass:
 +writing RSA key
 +~~~
 +
 +
 +### Conversion en format PKCS12
 +
 +Le format PKCS12 contient le certificat et la clé ; il est parfois utilisé pour l'import d'un certificat dans des keystore Java ou par des utilitaires Windows.
 +
 +Il faut disposer de la clé privé et du certificat pour les exporter au format pkcs12 :
 +~~~bash
 +openssl pkcs12 -export -inkey macle.key  -in macle.crt -name AliasDeLaCle -out macle.p12
 +~~~
 +
 +
 +## Conversion
 +
 +Convert PEM to PKCS12
 +~~~bash
 +openssl pkcs12 -export -inkey privatekey.pem -in cert.pem -certfile cacert.pem -out bundle.p12
 +~~~
 +
 +Convert PKCS12 file to PEM (you can then chop the files up with a text editor)
 +~~~bash
 +openssl pkcs12 -nodes -in bundle.p12 -out bundle.pem
 +~~~
 +
 +Convert DER (binary) to PEM
 +~~~bash
 +openssl x509 -inform der -in plop.local.cer -out plop.local.pem
 +~~~
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki