Outils pour utilisateurs

Outils du site


tuto:linux:openssl

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tuto:linux:openssl [2011/07/11 14:48] roottuto:linux:openssl [2014/02/16 10:32] (Version actuelle) – [Lecture d'un fichier PEM] root
Ligne 1: Ligne 1:
 ====== Openssl ====== ====== Openssl ======
 +===== Générer un certitifcat auto-signé =====
 +<code>
 +openssl genrsa -des3 -out server.key 2048
 +openssl req -new -key server.key -out server.csr
 +openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
 +</code>
 +
  
 ===== Tester que le .key est bien associé au .crt ===== ===== Tester que le .key est bien associé au .crt =====
Ligne 10: Ligne 17:
 Si les 2 commandes ne génèrent pas le meme md5 c'est que le le .key n'est pas celui qui à servi pour générer le .crt. Si les 2 commandes ne génèrent pas le meme md5 c'est que le le .key n'est pas celui qui à servi pour générer le .crt.
  
-====== Lecture d'un fichier crt ======+===== Hash d'un certificat ===== 
 +<code> 
 +$ openssl x509 -hash -in ssl/server.crt -noout 
 +deb1aaa8 
 +</code>
  
-  openssl x509 -noout -text -in <file>.crt+===== Voir l'émetteur du certificat ===== 
 +<code> 
 +$ openssl x509 -noout -issuer -subject -in google.crt -nameopt multiline 
 +issuer= 
 +    countryName               = US 
 +    organizationName          = Google Inc 
 +    commonName                = Google Internet Authority G2 
 +subject= 
 +    countryName               = US 
 +    stateOrProvinceName       = California 
 +    localityName              = Mountain View 
 +    organizationName          = Google Inc 
 +    commonName                = google.com 
 +</code> 
 +===== Tester la validité d'un certificat (erreur si auto-signé) ===== 
 +<code> 
 +openssl verify ssl/server.crt 
 +</code> 
 + 
 +<code> 
 +$ openssl verify -CAfile ssl/ca.crt ssl/server.crt 
 +ssl/server.crt: OK 
 +</code> 
 +===== Lecture d'un fichier CSR ===== 
 +<code> 
 +openssl req -noout -text -in keys/server.csr 
 +</code> 
 + 
 + 
 + 
 +===== Lecture d'un fichier PEM ===== 
 + 
 +<code> 
 +openssl x509 -noout -text -in <file>.crt 
 +</code> 
 +===== Lecture d'un fichier DER (binaire) ===== 
 + 
 +<code> 
 +openssl x509 -noout -text -in nnn -inform DER 
 +</code> 
 + 
 +===== Fingerprint ===== 
 +<code> 
 +openssl x509 -fingerprint -noout -in client.crt 
 +</code> 
 + 
 +===== Conversion  ===== 
 +==== PEM to DER ==== 
 +<code> 
 +openssl x509 -in input.crt -inform PEM –out output.crt -outform DER 
 +</code> 
 + 
 +<code> 
 +openssl rsa -in input.key -inform PEM -out output.key -outform DER 
 +</code> 
 + 
 +==== DER to PEM ==== 
 +<code> 
 +openssl x509 -in input.crt -inform DER -out output.crt -outform PEM 
 +</code> 
 + 
 +<code> 
 +openssl rsa -in input.key -inform DER -out output.key -outform PEM 
 +</code> 
 + 
 +===== Voir le certificat d'un site distant ===== 
 + 
 +<code> 
 +openssl s_client -showcerts -connect www.google.com:443 
 +openssl s_client -port 443 -host www.google.com 
 +</code>
  
 ===== Connexion sur port SSL ===== ===== Connexion sur port SSL =====
Ligne 20: Ligne 101:
 </code> </code>
  
 +===== Crypter / signer un fichier =====
 +==== signer ====
 +<code>
 +openssl smime -sign -in message -out signed-message \
 + -signer /path/to/your/certificate.pem \
 + -inkey  /path/to/your/secret-key.pem -text
 +</code>
 +
 +==== crypter ====
 +<code>
 +openssl smime -encrypt -out encrypted-signed-message \
 + -in signed-message /path/to/intended-operators/certificate.pem
 +</code>
 +
 +==== Décrypter ====
 +<code>
 +openssl smime -decrypt -in encrypted-signed-message \
 + -out received-msg \
 + -recip /path/to/operators/certificate.pem \
 + -inkey /path/to/operators/private-key.pem
 +</code>
 +
 +==== Cypter / Décrypter un dossier ou fichier ====
 +<code>
 +$ tar -zcf - directory | openssl aes-128-cbc -salt -out directory.tar.gz.aes  # Encrypt
 +$ openssl aes-128-cbc -d -salt -in directory.tar.gz.aes | tar -xz -f -        # Decrypt
 +</code>
 +
 +<code>
 +$ openssl aes-128-cbc -salt -in file -out file.aes
 +$ openssl aes-128-cbc -d -salt -in file.aes -out file
 +</code>
 +
 +==== Vérifier la signature ====
 +<code>
 +openssl smime -verify -text -CApath /global/globus/share/certificates \
 + -in received-msg
 +</code>
tuto/linux/openssl.1310395694.txt.gz · Dernière modification : 2011/07/11 14:48 de root