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]
[
-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.
- -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 certificats. Cela produit une erreur si une liste valable de
révocations de certificats 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 certificats.
- -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 certificats, comme les listes indirectes de
révocations de certificats et les clefs de signature alternatives de
liste de révocations de certificats.
- -use_deltas
- Activer la prise en charge pour les deltas de listes de
révocations de certificats.
- -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 quel 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 certificats 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
corresponde 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 certificats
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 corresponde 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 certificats n'est pas
encore valable.
- 12 X509_V_ERR_CRL_HAS_EXPIRED: CRL has expired
- La liste de révocations de certificats 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
certificats 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
certificats 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 qu'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 supposent 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.