tech:memento_openssl
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| tech:memento_openssl [2025/11/09 19:34] – Jean-Baptiste | tech:memento_openssl [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Memento OpenSSL | ||
| + | |||
| + | Source http:// | ||
| + | |||
| + | 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' | ||
| + | |||
| + | Si DSA | ||
| + | ~~~bash | ||
| + | openssl gendsa -des3 -out macle.key dsaparam.pem | ||
| + | ~~~ | ||
| + | |||
| + | Si Elliptic Curve key | ||
| + | ~~~bash | ||
| + | # | ||
| + | ~~~ | ||
| + | |||
| + | N' | ||
| + | |||
| + | ## 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' | ||
| + | |||
| + | ~~~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' | ||
| + | ~~~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 / | ||
| + | echo 0000 > / | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## 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 " | ||
| + | ~~~ | ||
| + | ¢ 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' | ||
| + | |||
| + | Il faut disposer de la clé privé et du certificat pour les exporter au format pkcs12 : | ||
| + | ~~~bash | ||
| + | openssl pkcs12 -export -inkey macle.key | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## 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 | ||
| + | ~~~ | ||
| + | |||
