NOM¶
verify - Utilitaire de vérification de certificats
SYNOPSIS¶
openssl verify [
-CApath répertoire]
[
-CAfile fichier] [
-purpose raison]
[
-policy param] [
-ignore_critical] [
-crl_check]
[
-crl_check_all] [
-policy_check] [
-explicit_policy] [
-inhibit_any] [
-inhibit_map] [
-x509_strict]
[
-extended_crl] [
-use_deltas] [
-policy_print]
[
-untrusted fichier] [
-help] [
-issuer_checks]
[
-attime horodatage] [
-verbose] [
-] [
certificats]
DESCRIPTION¶
La commande
verify vérifie des chaînes de certificats.
OPTIONS DE LA COMMANDE¶
- -CApath répertoire
- Un répertoire de certificats de confiance. Les certificats
devraient avoir des noms de la forme : hachage.0 ou avoir
des liens symboliques vers eux de cette forme («
hachage » est le nom de sujet du certificat
haché : consultez l'option -hash de l'utilitaire
x509). Sous UNIX, le script c_rehash créera
automatiquement les liens symboliques vers un répertoire de
certificats.
- -CAfile fichier
- Un fichier avec des certificats de confiance. Le fichier doit contenir des
certificats au format PEM, concaténés.
- -untrusted fichier
- Un fichier avec des certificats qui ne sont pas de confiance. Le fichier
doit contenir des certificats au format PEM,
concaténés.
- -purpose raison
- Le but de ce certificat. Si cette option n'est pas indiquée,
verify ne considérera pas la raison du certificat lors de la
vérification de chaîne. Les utilisations actuellement
acceptées sont : sslclient, sslserver,
nssslserver, smimesign et smimeencrypt. Consultez la
section OPÉRATION DE VÉRIFICATION pour de plus amples
renseignements.
- -help
- Afficher un message sur l'utilisation.
- -verbose
- Afficher des informations supplémentaires à propos des
opérations effectuées.
- -issuer_checks
- Afficher les diagnostics relatifs aux recherches du certificat
émetteur du certificat actuel. Cela montre la raison pour laquelle
chaque certificat émetteur candidat a été
rejeté. La présence de messages de rejets n'implique pas
qu'il y a un problème ; lors du processus de
vérification normal, plusieurs rejets peuvent avoir lieu.
- -attime horodatage
- Réaliser les vérifications de validation en utilisant la
date indiquée par horodatage au lieu de la date
système actuelle. horodatage est le nombre de secondes
écoulées depuis le 1er janvier 1970 (date
UNIX).
- -policy param
- Activer le traitement de la politique et ajouter param à
user-initial-policy-set (consultez la RFC 5280). La politique
param peut être un nom d'objet ou un OID sous forme
numérique. Cet argument peut être fourni plus d'une
fois.
- -policy_check
- Activer le traitement de la politique de certificat.
- -explicit_policy
- Définir la variable de politique require-explicit-policy (consultez
la RFC 5280).
- -inhibit_any
- Définir la variable de politique inhibit-any-policy (consultez la
RFC 5280).
- -inhibit_map
- Définir la variable de politique inhibit-policy-mapping (consultez
la RFC 5280).
- -policy_print
- Afficher les diagnostics relatifs au traitement de politique.
- -crl_check
- Vérifier la fin de validité d'une entité de
certificat en essayant de rechercher une liste valable de
révocations de certificat. Cela produit une erreur si une liste
valable de révocations de certificat ne peut pas être
trouvée.
- -crl_check_all
- Vérifier la validité de tous les certificats de la
chaîne en essayant de rechercher une liste valable de
révocations de certificat.
- -ignore_critical
- Normalement, si une extension critique non gérée mais
présente n'est pas prise en charge par OpenSSL, le certificat est
rejeté (conformément à la RFC 5280). Si cette
option est définie, les extensions critiques sont
ignorées.
- -x509_strict
- Pour une conformité X.509 stricte, désactiver les
contournements non conformes pour les certificats cassés.
- -extended_crl
- Activer les fonctionnalités étendues de liste de
révocations de certificat, comme les listes indirectes de
révocations de certificat et les clefs de signature alternatives de
liste de révocations de certificat.
- -use_deltas
- Activer la prise en charge pour les deltas de listes de révocations
de certificat.
- -check_ss_sig
- Vérifier la signature du certificat racine autosigné de
l'autorité de certification. C'est désactivé par
défaut parce que cela n'ajoute aucune sécurité.
- -
- Indiquer la dernière option. Tous les arguments suivants sont
considérés comme des fichiers de certificat. C'est pratique
si le premier nom de fichier de certificat commence par un -.
- certificats
- Un ou plusieurs certificats à vérifier. Si aucun certificat
n'est donné, verify essayera de lire un certificat depuis
l'entrée standard. Les certificats devraient être au format
PEM.
OPÉRATION DE VÉRIFICATION¶
Le programme
verify utilise les mêmes fonctions que les
vérifications internes SSL et S/MIME, par conséquent cette
description s'applique aussi à ces opérations de
vérification.
Une différence fondamentale existe entre les opérations de
vérification réalisées par le programme
verify : à chaque fois que c'est possible, une tentative
de continuer est essayée après une erreur, alors que
l'opération de vérification se serait normalement
arrêtée après la première erreur. Cela permet de
déterminer tous les problèmes avec une chaîne de
certificats.
L'opération de vérification est constituée de plusieurs
étapes séparées.
D'abord, une chaîne de certificats est construite à partir du
certificat fourni jusqu'au certificat racine de l'autorité de
certification. C'est une erreur si la chaîne complète ne peut
pas être construite. La chaîne est construite en recherchant le
certificat émetteur du certificat actuel. Si le certificat
trouvé est son propre émetteur, il est considéré
comme le certificat racine de l'autorité de certification.
Le processus de « recherche du certificat
émetteur » lui-même implique un certain nombre
d'étapes. Jusqu'à la version 0.9.5a d'OpenSSL, le premier
certificat dont le nom de sujet correspond au nom de l'émetteur du
certificat actuel était considéré comme le certificat
émetteur. Dans OpenSSL 0.9.6 et les versions suivantes, tous les
certificats dont le nom de sujet correspond au nom de l'émetteur du
certificat actuel sont sujets à d'autres tests. Les composants
identificateurs concernant la clef d'autorité du certificat actuel
(s'ils existent) doivent correspondre au sujet de l'identificateur de clef
(s'il existe), et l'émetteur, le numéro de série de
l'émetteur candidat, en plus de l'extension keyUsage de
l'émetteur candidat (s'il existe), doivent permettre la signature de
certificat.
La recherche commence par la liste de certificats qui ne sont pas de confiance,
et si aucune correspondance n'est trouvée, la recherche continue avec
les certificats de confiance. Le certificat racine de l'autorité de
certification est toujours recherché dans la liste des certificats de
confiance : si le certificat à vérifier est un certificat
racine, alors une correspondance exacte doit être trouvée dans
la liste des certificats de confiance.
La deuxième opération est de vérifier toutes les extensions
des certificats qui ne sont pas de confiance, en cohérence avec la
raison fournie. Si l'option
-purpose n'est pas incluse, aucune
vérification n'est réalisée. Le certificat fourni ou
« feuille » (VS racine) doit avoir des extensions
compatibles avec la raison fournie et tous les autres certificats doivent
aussi être des certificats d'autorité de certification valables.
Les extensions exactes nécessaires sont décrites plus en
détail dans la section
EXTENSIONS DE CERTIFICATS de l'utilitaire
x509.
La troisième opération est de vérifier les réglages
de confiance du certificat racine de l'autorité de certification. Le
certificat racine de l'autorité de certification devrait être de
confiance pour la raison fournie. Par compatibilité avec les versions
précédentes de SSLeay et OpenSSL, un certificat sans
réglages de confiance est considéré valable dans tous les
cas.
La dernière opération est de vérifier la validité de
la chaîne de certificats. La période de validité est
vérifiée par rapport à l'heure actuelle du système
et les dates notBefore et notAfter du certificat. Les signatures de certificat
sont aussi vérifiées à ce moment.
Si toutes les opérations se terminent avec succès, alors le
certificat est considéré valable. Si n'importe quelle
opération échoue, alors le certificat est incorrect.
DIAGNOSTIC¶
Quand une opération de vérification échoue, les messages de
sortie peuvent être un peu abscons. La forme globale du message
d'erreur est :
server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
error 24 at 1 depth lookup:invalid CA certificate
La première ligne contient le nom du certificat en cours de
vérification suivi par le nom de sujet du certificat. La
deuxième ligne contient le numéro d'erreur et la profondeur. La
profondeur est le nombre de certificats ayant été
vérifiés quand un problème a été
détecté, avec zéro pour le certificat
vérifié lui-même, puis un pour l'autorité de
certification qui a signé le certificat et ainsi de suite. Enfin, la
version texte du numéro d'erreur est présentée.
Une liste exhaustive des codes d'erreur et messages est montrée
ci-dessous, cela inclut également le nom du code d'erreur tel qu'il est
défini dans le fichier d'en-têtes
x509_vfy.h. Certains
codes d'erreur sont définis mais jamais renvoyés : ce
sont ceux décrits comme
« inutilisés ».
- 0 X509_V_OK: ok
- L'opération a réussi.
- 2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer
certificate
- Le certificat émetteur d'un certificat recherché est
introuvable. Cela signifie normalement que la liste de certificats de
confiance n'est pas complète.
- 3 X509_V_ERR_UNABLE_TO_GET_CRL: unable to get certificate CRL
- La liste de révocations de certificat est introuvable.
- 4 X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt
certificate's signature
- La signature de certificat n'a pas pu être
déchiffrée. Cela signifie que la valeur de signature
réelle n'a pas pu être déterminée,
plutôt qu'elle ne correspond pas à la valeur attendue, ce
n'est significatif que pour les clefs RSA.
- 5 X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt CRL's
signature
- La signature de liste de révocations de certificat n'a pas pu
être déchiffrée : cela signifie que la valeur
de signature réelle n'a pas pu être
déterminée, plutôt qu'elle ne correspond pas à
la valeur attendue. Inutilisé.
- 6 X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode
issuer public key
- La clef publique du certificat SubjectPublicKeyInfo n'a pas pu être
lue.
- 7 X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature
failure
- La signature du certificat est incorrecte.
- 8 X509_V_ERR_CRL_SIGNATURE_FAILURE: CRL signature failure
- La signature du certificat est incorrecte.
- 9 X509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid
- Le certificat n'est pas encore valable : la date notBefore est
après la date actuelle.
- 10 X509_V_ERR_CERT_HAS_EXPIRED: certificate has expired
- Le certificat a expiré : c'est parce que la date notAfter
est avant la date actuelle.
- 11 X509_V_ERR_CRL_NOT_YET_VALID: CRL is not yet valid
- La liste de révocations de certificat n'est pas encore
valable.
- 12 X509_V_ERR_CRL_HAS_EXPIRED: CRL has expired
- La liste de révocations de certificat a expiré.
- 13 X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in
certificate's notBefore field
- Le champ notBefore du certificat contient une date incorrecte.
- 14 X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in
certificate's notAfter field
- Le champ notAfter du certificat contient une date incorrecte.
- 15 X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in CRL's
lastUpdate field
- Le champ lastUpdate de la liste de révocations de certificat
contient une date incorrecte.
- 16 X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in CRL's
nextUpdate field
- Le champ nextUpdate de la liste de révocations de certificat
contient une date incorrecte.
- 17 X509_V_ERR_OUT_OF_MEM: out of memory
- Une erreur s'est produite en essayant d'allouer de la mémoire. Cela
ne devrait jamais arriver.
- 18 X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed
certificate
- Le certificat passé est autosigné et le même
certificat est introuvable dans la liste des certificats de
confiance.
- 19 X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in
certificate chain
- La chaîne de certificats aurait pu être construite en
utilisant des certificats qui ne sont pas de confiance mais le certificat
racine est introuvable localement.
- 20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local
issuer certificate
- Le certificat émetteur est introuvable : cela arrive si le
certificat émetteur d'un certificat qui n'est pas de confiance est
introuvable.
- 21 X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the
first certificate
- Aucune signature n'a pu être vérifiée car la
chaîne ne contient qu'un seul certificat et il n'est pas
autosigné.
- 22 X509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long
- La longueur de la chaîne de certificats est plus grande que la
profondeur maximale fournie. Inutilisé.
- 23 X509_V_ERR_CERT_REVOKED: certificate revoked
- Le certificat a été révoqué.
- 24 X509_V_ERR_INVALID_CA: invalid CA certificate
- Un certificat de l'autorité de certification est incorrect. Soit ce
n'est pas une autorité de certification, soit ses extensions ne
sont pas cohérentes avec la raison fournie.
- 25 X509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint
exceeded
- Le paramètre de longueur de chemin basicConstraints a
été dépassé.
- 26 X509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose
- Le certificat fourni n'a pas pu être utilisé pour la raison
fournie.
- 27 X509_V_ERR_CERT_UNTRUSTED: certificate not trusted
- Le certificat racine de l'autorité de certification n'est pas
marqué de confiance pour la raison fournie.
- 28 X509_V_ERR_CERT_REJECTED: certificate rejected
- Le certificat racine de l'autorité de certification est
marqué pour rejeter la raison fournie.
- 29 X509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch
- Le certificat émetteur candidat actuel a été
rejeté car son nom de sujet ne correspondait pas au nom
d'émetteur du certificat actuel. Affiché seulement quand
l'option -issuer_checks est activée.
- 30 X509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier
mismatch
- Le certificat émetteur candidat actuel a été
rejeté car son objet d'identificateur de clef était
présent et ne correspondait pas à l'identificateur de clef
d'autorité du certificat actuel. Affiché seulement quand
l'option -issuer_checks est activée.
- 31 X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial
number mismatch
- Le certificat émetteur candidat actuel a été
rejeté car son nom d'émetteur et son numéro de
série étaient présents et ne correspondaient pas
à l'identificateur de clef d'autorité du certificat actuel.
Affiché seulement quand l'option -issuer_checks est
activée.
- 32 X509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include
certificate signing
- Le certificat émetteur candidat actuel a été
rejeté car son extension keyUsage ne permet pas la signature de
certificat.
- 50 X509_V_ERR_APPLICATION_VERIFICATION: application verification
failure
- Une erreur spécifique à l'application.
Inutilisé.
BOGUES¶
Bien que les vérifications d'émetteur constituent une
amélioration considérable par rapport à l'ancienne
technique, elles souffrent encore des limites de l'interface de programmation
X509_LOOKUP sous-jacente. Une conséquence de cela est que les
certificats de confiance avec un nom de sujet correspondant doivent soit
apparaître dans un fichier (comme indiqué avec l'option
-CAfile), soit dans un répertoire (comme indiqué avec
l'option
-CApath). S'ils apparaissent dans les deux, alors seuls les
certificats du fichier seront reconnus.
Les versions précédentes d'OpenSSL considèrent que les
certificats avec les mêmes noms de sujet sont identiques et les
gèrent mal.
Les versions précédentes de cette documentation inversaient la
signification des codes d'erreur
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT
et
20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY.
VOIR AUSSI¶
x509(1)
TRADUCTION¶
La traduction de cette page de manuel est maintenue par les membres de la liste
<debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler
toute erreur de traduction par un rapport de bogue sur le paquet
manpages-fr-extra.