informatique:logiciels:openssl
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
informatique:logiciels:openssl [2009/01/30 17:41] – créée pteu | informatique:logiciels:openssl [2024/12/20 07:40] (current) – [Création de la CRL] pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{tag> | ||
- | |||
======OpenSSL====== | ======OpenSSL====== | ||
+ | =====Signer un certificat===== | ||
Pour générer un certificat (par exemple pour Apache) : | Pour générer un certificat (par exemple pour Apache) : | ||
- | | + | <code bash> |
+ | openssl req -new -x509 -days 365 -nodes -out / | ||
+ | </ | ||
* '' | * '' | ||
Line 12: | Line 13: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | |||
+ | =====Afficher des informations===== | ||
+ | |||
+ | Il faut d' | ||
+ | |||
+ | Lire les informations d'un fichier local : | ||
+ | <code bash> | ||
+ | # afficher le contenu de la requête | ||
+ | openssl req -noout -text -verify -in request.csr | ||
+ | # ou en plus court | ||
+ | openssl req -noout -subject -verify -in request.csr | ||
+ | |||
+ | # afficher l' | ||
+ | openssl x509 -noout -in fichier.pem -text | ||
+ | |||
+ | # afficher toutes les infos sauf la signature chiffrée | ||
+ | openssl x509 -noout -in fichier.pem -text -certopt no_sigdump | ||
+ | |||
+ | # afficher uniquement le sujet, l' | ||
+ | openssl x509 -noout -in fichier.pem -subject | ||
+ | openssl x509 -noout -in fichier.pem -email | ||
+ | openssl x509 -noout -in fichier.pem -serial | ||
+ | # 2 équivalents : | ||
+ | openssl x509 -noout -in fichier.pem -dates | ||
+ | openssl x509 -noout -in fichier.pem -startdate -enddate | ||
+ | |||
+ | # pas d' | ||
+ | openssl x509 -noout -in fichier.pem -subject | sed -e ' | ||
+ | |||
+ | # afficher uniquement les extensions x509v3 | ||
+ | # (on est d' | ||
+ | openssl x509 -noout -in fichier.pem -text -certopt \ | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Pour un site web (distant) donné : | ||
+ | <code bash> | ||
+ | openssl s_client -connect google.fr: | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====Convertir un certificat===== | ||
+ | |||
+ | Pour convertir un certificat du format PEM vers DER par exemple : | ||
+ | <code bash> | ||
+ | openssl x509 -inform pem -in fichier.pem -outform der -out fichier.der | ||
+ | </ | ||
+ | |||
+ | =====Vérifier si un certificat est révoqué===== | ||
+ | |||
+ | Un certificat peut être invalide s'il n'est pas signé par une CA reconnue, s'il est expiré (ou pas encore valide :D), et s'il a été révoqué. Pour vérifier ce dernier cas il faut récupérer le numéro de série du certificat et vérifier s'il n’apparaît pas dans la liste de révocation (CRL) de la CA. En très sale ça donnerait ceci : | ||
+ | <code bash> | ||
+ | # on récupère le numéro de série du certificat à tester | ||
+ | SN=$(openssl x509 -noout -in louche.pem -serial | cut -d" | ||
+ | # rechercher son occurence dans la liste de révocation | ||
+ | openssl crl -noout -text -in crl.pem | grep -A1 " | ||
+ | </ | ||
+ | Si le certificat est révoqué ça nous retournera quelque chose du style : | ||
+ | <code bash> | ||
+ | Serial Number: 0007 | ||
+ | Revocation Date: Nov 6 14:23:40 2017 GMT | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====Révoquer un certificat===== | ||
+ | |||
+ | A faire sur la CA évidemment ; cela permet d' | ||
+ | <code bash> | ||
+ | openssl ca -config openssl.cnf -revoke fired-employee.pem | ||
+ | </ | ||
+ | |||
+ | Puis il faut re-générer la CRL. | ||
+ | |||
+ | |||
+ | =====Création de la CRL===== | ||
+ | |||
+ | La liste de révocation et un fichier signé par la CA, qui contient tous les certificats révoqués ; il est à mettre à disposition de tous afin que chacun puisse connaître et rejeter les certificats qui ont été révoqués. | ||
+ | |||
+ | <code bash> | ||
+ | openssl ca -config openssl.cnf -gencrl -out crl.pem | ||
+ | </ | ||
+ | |||
+ | Pour avoir une version texte de cette liste, dans crl.txt par exemple : | ||
+ | <code bash> | ||
+ | openssl crl -inform PEM -text -noout -in crl.pem >crl.txt | ||
+ | </ | ||
+ | =====Revalider un certificat révoqué===== | ||
+ | |||
+ | <code bash> | ||
+ | # Récupérer son SN | ||
+ | SN=$(openssl x509 -noout -in revalid-cert.pem -serial | cut -d" | ||
+ | |||
+ | # Vérifier que le certificat figure dans l' | ||
+ | grep -n " | ||
+ | 666:R | ||
+ | |||
+ | # Modifier le flag " | ||
+ | sed -i -e '/' | ||
+ | #V | ||
+ | |||
+ | # Regénérer la CRL | ||
+ | openssl ca -config openssl.cnf -gencrl -out crl.pem | ||
+ | </ |
informatique/logiciels/openssl.1233337315.txt.gz · Last modified: 2013/10/14 20:55 (external edit)