X509(1SSL)

NOM
x509 - Utilitaire d'affichage et de signature de certificat

SYNOPSIS
openssl x509 [-inform DER|PEM|NET] [-outform DER|PEM|NET] [-keyform DER|PEM] [-CAform DER|PEM] [-CAkeyform DER|PEM] [-in nom_fichier] [-out nom_fichier] [-serial] [-subject_hash] [-issuer_hash] [-ocspid] [-subject] [-issuer] [-nameopt option] [-email] [-ocsp_uri] [-startdate] [-enddate] [-purpose] [-dates] [-checkend num] [-modulus] [-pubkey] [-fingerprint] [-alias] [-noout] [-trustout] [-clrtrust] [-clrreject] [-addtrust param] [-addreject param] [-setalias param] [-days param] [-set_serial n] [-signkey nom_fichier] [-passin param] [-x509toreq] [-req] [-CA nom_fichier] [-CAkey nom_fichier] [-CAcreateserial] [-CAserial nom_fichier] [-force_pubkey clef] [-text] [-certopt option] [-C] [-md2|-md5|-sha1|-mdc2] [-clrext] [-extfile nom_fichier] [-extensions section] [-engine id]

DESCRIPTION
La commande x509 a plusieurs rôles. Elle peut être utilisée pour afficher les informations sur le certificat, convertir les certificats en diverses formes, signer les demandes de certificat comme les « mini CA » ou éditer les paramètres de confiance du certificat.

Comme il y a un grand nombre d'options, elles vont se repartir en plusieurs sections.

OPTIONS

  OPTIONS D’ENTRÉE, DE SORTIE ET DIVERSES

-inform DER|PEM|NET
    Indique le format normal d’entrée que la commande attendra d’un certificat X509 mais cela peut changer si d'autres options comme -req sont indiquées. Le format DER est l'encodage DER du certificat et PEM est l'encodage base64 de l'encodage DER avec des hauts de page et des pieds de pages ajoutés. L'option NET est un obscur format de serveur Netscape qui est à présent obsolète.

-outform DER|PEM|NET
    Indique le format de sortie. Les options ont la même signification que pour l'option -inform.

-in nom_fichier
    Indique le nom du fichier d'entrée à partir duquel le certificat sera lu. Par défaut, le certificat est lu depuis l'entrée standard si cette option est omise.

-out nom_fichier
    Indique le nom du fichier de sortie. La sortie standard est utilisée par défaut.

-md2|-md5|-sha1|-mdc2
    La fonction de hachage à utiliser. Cela affecte toute option de signature ou d'affichage qui utilise un condensé, comme les options -fingerprint, -signkey et -CA. Si elle n'est pas spécifiée, alors SHA1 est utilisée. Si la clé utilisée pour s'identifier est une clé DSA, alors cette option n'a pas d'effet : SHA1 est toujours utilisée avec les clés DSA.

-engine id
    Indiquer un moteur (en utilisant son identifiant unique id) conduira x509 à essayer d'obtenir une référence fonctionnelle pour le moteur indiqué, et l'initialiser si nécessaire. Le moteur sera ensuite utilisé par défaut pour tous les algorithmes disponibles.

  OPTIONS D'AFFICHAGE
Remarque : les options -alias et -purpose sont également des options d'affichage mais elles sont décrites dans la section PARAMÈTRES DE CONFIANCE.

-text
    Affiche le certificat sous forme de texte. Tous les détails sont affichés, y compris la clé publique, les algorithmes de signature, les noms d'émetteur et de sujet, le numéro de série des extensions présentes et tous les paramètres de confiance.

-certopt option
    Personnalise le format de sortie utilisé avec -text. L'option peut être une simple option ou plusieurs options séparées par des virgules. -certopt peut également être utilisé plus d'une fois pour définir plusieurs options. Voir la section OPTIONS DE TEXTE pour de plus amples informations.

-noout
    Cette option empêche la sortie de la version codée de la demande.

-pubkey
    Affiche la structure SubjectPublicKeyInfo du certificat au format PEM.

-modulus
    Cette option affiche la valeur du modulo de la clé publique contenue dans le certificat.

-serial
    Affiche le numéro de série du certificat.

-subject_hash
    Affiche le « hash » du nom du sujet du certificat. Cela est utilisé dans OpenSSL pour former un index permettant de rechercher un certificat dans un répertoire avec le nom de sujet.

-issuer_hash
    Affiche le « hash » du nom de l'émetteur du certificat.

-ocspid
    Affiche les valeurs de hachage OCSP pour le nom du sujet et la clé publique.

-hash
    Synonyme de « -subject_hash » pour des raisons de compatibilité descendante.

-subject_hash_old
    Affiche le « hash » du nom de sujet du certificat en utilisant l'ancien algorithme utilisé dans les versions d'OpenSSL avant 1.0.0.

-issuer_hash_old
    Affiche le « hash » du nom de l'émetteur du certificat en utilisant l'ancien algorithme utilisé dans les versions d'OpenSSL avant 1.0.0.

-subject
    Affiche le nom du sujet.

-issuer
    Affiche le nom de l'émetteur.

-nameopt option
    L'option qui détermine la façon dont les noms d'objet ou d'émetteur sont affichés. L'argument option peut être une simple option ou plusieurs options séparées par des virgules. Vous pouvez également utiliser -nameopt plus d'une fois pour définir plusieurs options. Voir la section OPTIONS DE NOM pour de plus amples informations.

-email
    Affiche la ou les adresses électroniques le cas échéant.

-ocsp_uri
    Affiche la ou les adresses du répondeur OCSP le cas échéant.

-startdate
    Affiche la date de début du certificat, qui correspond à la date « notBefore » (littéralement « pas avant »).

-enddate
    Affiche la date d'expiration du certificat, qui correspond à la date « notAfter » (littéralement « pas après »).

-dates
    Affiche les dates de début et de fin du certificat.

-checkend param
    Vérifie si le certificat expire dans les prochaines param secondes et quitte avec une valeur de retour non nulle si c’est le cas, ou zéro sinon.

-fingerprint
    Affiche l'empreinte de la version encodée DER de l'ensemble du certificat (voir les options d'empreinte).

-C  Affiche le certificat sous la forme d'un fichier source C.

  PARAMÈTRES DE CONFIANCE
Veuillez noter que ces options sont expérimentales et peuvent être amenées à changer.

Un certificat de confiance est un certificat ordinaire auquel plusieurs éléments d'information supplémentaires sont rattachés, tels que les utilisations permises et interdites du certificat et un « alias ».

Normalement, quand un certificat est contrôlé, au moins un certificat doit être « de confiance ». Par défaut, un certificat de confiance doit être stocké localement et doit être une autorité de certification racine : toute chaîne de certificat à la fin de ce certificat est alors utilisable dans n'importe quel but.

Les paramètres de confiance sont actuellement utilisés avec une autorité de certification racine. Ils permettent un contrôle plus fin des différentes certifications racines ayant divers usages. Par exemple, un CA est fiable pour le client SSL, mais pas pour l'utilisation d'un serveur SSL.

Voir la description de l'utilitaire verify pour plus d'informations sur la signification des paramètres de confiance.

Les futures versions d'OpenSSL reconnaîtront les paramètres de confiance sur n'importe quel certificat : pas seulement les autorités de certification racine.

-trustout
    Permet à x509 de délivrer un certificat de confiance. Un certificat ordinaire ou de confiance peut être entré, mais par défaut un certificat ordinaire est sorti et les paramètres de confiance sont rejetés. Avec l'option -trustout un certificat de confiance est sorti. Un certificat de confiance est sorti automatiquement si les paramètres de confiance sont modifiés.

-setalias param
    Définit l'alias du certificat. Cela permettra au certificat d'être référencé par un surnom par exemple « Le certificat de Steve ».

-alias
    Fournit en sortie l'alias de certificat, s’il existe.

-clrtrust
    Efface toutes les utilisations autorisées ou de confiance du certificat.

-clrreject
    Efface tous les usages interdits ou rejetés du certificat.

-addtrust param
    Ajoute une utilisation de confiance de certificat. Tout nom d'objet peut être utilisé ici, mais actuellement seulement clientAuth (utilisation de client SSL), serverAuth (utilisation de serveur SSL) et emailProtection (courriel S/MIME) sont utilisés. D'autres applications OpenSSL peuvent définir d'autres utilisations.

-addreject param
    Ajoute un usage interdit. Les mêmes valeurs que l'option -addtrust sont acceptées.

-purpose
    Cette option effectue des tests sur les extensions de certificat et affiche les résultats. Pour une description plus complète, voir la section des EXTENSIONS DE CERTIFICAT.

  OPTIONS POUR LA SIGNATURE
L'utilitaire x509 peut être utilisé pour signer des certificats et des demandes : il peut donc se comporter comme une « mini CA ».

-signkey nom_fichier
    Cette option autorise le fichier d'entrée à être autosigné avec la clé privée fournie.

    Si le fichier d'entrée est un certificat, il définit le nom de l'émetteur comme nom de sujet (c’est-à-dire, le rend autosigné), change la clé publique à la valeur fournie et modifie les dates de début et de fin. La date de début est réglée sur l'heure courante et la date de fin est réglée à une valeur déterminée par l'option -days. Toutes les extensions de certificat sont conservées sauf si l'option -clrext est fournie.

    Si l'entrée est une demande de certificat, alors un certificat autosigné est créé en utilisant la clé privée fournie et utilisera le nom de l'objet dans la demande.

-passin param
    La source du mot de passe de la clef. Pour plus d'informations sur le format de param, consultez la section PARAMÈTRES DE PHRASE SECRÈTE d'openssl(1).

-clrext
    Supprime toutes les extensions d'un certificat. Cette option est utilisée quand un certificat est créé à partir d'un autre certificat (par exemple avec les options -signkey ou -CA). Normalement, toutes les extensions sont conservées.

-keyform PEM|DER
    Indique le format (DER ou PEM) du fichier de clé privée utilisé par l'option -signkey.

-days param
    Indique le nombre de jours pendant lesquels le certificat doit être valable. La valeur par défaut est de 30 jours.

-x509toreq
    Convertit le certificat en demande de certificat. L'option -signkey est utilisée pour passer la clé privée.

-req
    Par défaut, un certificat est attendu en entrée. Avec cette option une demande de certificat est attendue à la place.

-set_serial n
    Précise le numéro de série à utiliser. Cette option peut être utilisée avec l'option -signkey ou -CA. Si elle est utilisée en conjonction avec l'option -CA le fichier de numéro de série (comme spécifié par l'option <-CAserial> ou -CAcreateserial) n'est pas utilisé.

    Le numéro de série peut être décimal ou hexadécimal (si précédé par 0x). Des numéros de série négatifs peuvent aussi être utilisés, mais leur utilisation n'est pas recommandée.

-CA nom_fichier
    Précise le certificat CA à utiliser pour la signature. Lorsque cette option est présente, x509 se comporte comme une « mini CA ». Le fichier d'entrée est signé par cette autorité de certification en utilisant cette option : c’est-à-dire, le nom de l'émetteur est le nom d’objet de la CA et est signé numériquement à l'aide de la clé privée de la CA.

    Cette option est normalement combinée avec l'option -req. Sans l'option -req l'entrée est un certificat qui doit être autosigné.

-CAkey nom_fichier
    Définit la clé privée de la CA avec laquelle signer un certificat. Si cette option n'est pas spécifiée, alors il est supposé que la clé privée est présente dans le fichier de certificat de la CA.

-CAserial nom_fichier
    Définit le fichier de numéro de série de la CA à utiliser.

    Lorsque l'option -CA est utilisée pour signer un certificat, un numéro de série indiqué dans un fichier est utilisé. Ce fichier se compose d'une ligne contenant un nombre pair de chiffres hexadécimaux avec le numéro de série à utiliser. Après chaque utilisation, le numéro de série est incrémenté et écrit à nouveau dans le fichier.

    Le nom de fichier par défaut se compose du nom de base du fichier de certificat de la CA avec « .srl » comme extension. Par exemple, si le fichier de certificat CA est appelé « mycacert.pem », il s'attend à trouver un fichier de numéro de série appelé « mycacert.srl ».

-CAcreateserial
    Avec cette option, le fichier de numéro de série de la CA est créé s'il n'existe pas : il contiendra le numéro de série « 02 » et le certificat qui a été signé aura le 1 comme numéro de série. Normalement, si l'option -CA est spécifiée et que le fichier n'existe pas, c'est une erreur.

-extfile nom_fichier
    Fichier contenant les extensions de certificat à utiliser. S'il n'est pas spécifié, alors aucune extension n'est ajoutée au certificat.

-extensions section
    La section où prendre les extensions de certificats à ajouter. Si cette option n'est pas spécifiée, alors les extensions devraient soit être contenues dans la section sans nom (défaut) ou alors la section par défaut devrait contenir une variable appelée « extensions » qui contient la section à utiliser. Voir la page de manuel de x509v3_config(5) pour les détails du format de section des extensions.

-force_pubkey clé
    Quand un certificat est créé, définit sa clé publique à clé à la place de la clé dans le certificat ou demande de certificat. Cette option est utile pour créer des certificats lorsque l'algorithme ne peut pas signer normalement les demandes, par exemple DH.

    Le format ou la clé peuvent être spécifiés en utilisant l'option -keyform.

  OPTIONS DE NOM
L’option de ligne de commande nameopt détermine la façon dont les noms de l'objet et de l'émetteur sont affichés. Si aucune option nameopt n'est présente, le format par défaut « oneline » est utilisé, ce qui est compatible avec les versions précédentes d'OpenSSL. Chaque option est décrite en détail ci-dessous, toutes les options peuvent être précédées d'un - pour désactiver l'option. Seules les quatre premières seront normalement utilisées.

compat
    Utilise l'ancien format. Cela est équivalent à ne spécifier aucune option de nom.

RFC2253
    Affiche les noms compatibles avec la RFC2253. Équivalent à esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, dump_unknown, dump_der, sep_comma_plus, dn_rev et sname.

oneline
    Un format d’une seule ligne qui est plus lisible qu’avec la RFC2253. Il revient à spécifier les options esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, dump_der, use_quote, sep_comma_plus_space, space_eq et sname.

multiline
    Un format multiligne. Il est équivalent à esc_ctrl, esc_msb, sep_multiline, space_eq, lname et align.

esc_2253
    Protège les caractères « spéciaux » requis par la RFC2253 dans un champ, c'est-à-dire ,+"<>;. De plus, # est protégé au début d'une chaîne ainsi que l’espace au début ou à la fin d'une chaîne.

esc_ctrl
    Protège les caractères de contrôle : ceux dont la valeur ASCII est inférieure à 0x20 (espace) et le caractère (0x7f) de suppression. Ils sont protégés en utilisant la notation \XX de la RFC2253 (où XX sont deux chiffres hexadécimaux représentant la valeur du caractère).

esc_msb
    Protège les caractères avec l'ensemble MSB, c'est-à-dire avec des valeurs ASCII supérieures à 127.

use_quote
    Protège quelques caractères en entourant toute la chaîne avec les caractères ". Sans cette option, tout l'échappement est réalisé avec le caractère \.

utf8
    Convertit d'abord toutes les chaînes au format UTF8. Cela est requis par la RFC2253. Si vous êtes assez chanceux pour avoir un terminal compatible UTF8, alors l'utilisation de cette option (et sans la mise en esc_msb) peut entraîner l'affichage correct des caractères multi-octets (internationaux). Si cette option n'est pas présente, alors les caractères multi-octets plus grands que 0xff seront représentés en utilisant le format \UXXXX pour 16 bits et \WXXXXXXXX pour 32 bits. Aussi, si cette option est désactivée, toute chaîne UTF8 sera d'abord convertie en caractères.

ignore_type
    Cette option ne vise en aucune façon à interpréter les caractères multi-octets. Leurs octets de contenu sont simplement affichés comme si un octet représentait un caractère. Cela est utile à des fins de diagnostic, mais se traduira par une sortie plutôt étrange.

show_type
    Montre le type de la chaîne de caractère ASN1. Le type précède le contenu des champs. Par exemple « BMPSTRING : Bonjour tout le monde ».

dump_der
    Lorsque cette option est utilisée, tous les champs qui doivent être affichés en hexadécimal seront affichés en utilisant l'encodage DER du champ. Sinon seulement les octets de contenu seront affichés. Les deux options utilisent le format #XXXX... de la RFC2253.

dump_nostr
    Vide les types qui ne sont pas des chaînes de caractères (par exemple OCTET STRING). Si cette option n'est pas activée, alors les types qui ne sont pas des chaînes de caractères seront affichés comme si chaque octet de contenu représente un seul caractère.

dump_all
    Vide tous les champs. Lorsque cette option est utilisée avec dump_der, elle permet le codage DER de la structure devant être déterminée sans ambiguïté.

dump_unknown
    Vide tout champ dont l'OID n'est pas reconnu par OpenSSL.

sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, sep_multiline
    Ces options déterminent les séparateurs de champs. Le premier caractère est entre les « Relative Distinguished Name » (RDN) et le second entre plusieurs « Attribute Value Assertion » (AVA) (plusieurs sont très rares et leur utilisation est déconseillée). Les options se terminant par « espace » placent en outre une espace après le séparateur pour une meilleure lisibilité. sep_multiline utilise un caractère de saut de ligne pour le séparateur des RDN et un + entouré d'espaces pour le séparateur des AVA. Il indente aussi les champs par quatre caractères.

dn_rev
    Inverse les champs des DN. Cela est requis par la RFC2253. Comme un effet secondaire, cela inverse également l'ordre de plusieurs AVA mais cela est permis.

nofname, sname, lname, oid
    Ces options modifient la façon dont le nom de domaine est affiché. nofname n'affiche pas le champ du tout. sname utilise la forme « nom court » (CN pour commonName par exemple). lname utilise la forme longue. oid représente l'OID sous forme numérique et est utile à des fins de diagnostic.

align
    Aligne les valeurs de champ pour une sortie plus lisible. Seulement utilisable avec sep_multiline.

space_eq
    Place des espaces autour du caractère = qui suit le nom de champ.

  OPTIONS POUR LA SORTIE TEXTE
Comme pour la personnalisation du format du nom de sortie, il est également possible de personnaliser les champs réellement affichés en utilisant les options certopt lorsque l'option de text est présente. Le comportement par défaut est d'afficher tous les domaines.

compatible
    Utilise l'ancien format. Cela est équivalent à ne spécifier aucune option de sortie du tout.

no_header
    N'affiche pas les informations d'en-tête : c'est-à-dire les lignes comprenant « certificat » et « Data ».

no_version
    N'affiche pas le numéro de version.

no_serial
    N'affiche pas le numéro de série.

no_signame
    N'affiche pas l'algorithme de signature utilisé.

no_validity
    N'affiche pas la validité, à savoir les champs de notBefore et notAfter.

no_subject
    N'affiche pas le nom de l'objet.

no_issuer
    N'affiche pas le nom de l'émetteur.

no_pubkey
    N'affiche pas la clé publique.

no_sigdump
    N'affiche pas la signature du certificat en hexadécimal.

no_aux
    N'affiche pas les informations de confiance du certificat.

no_extensions
    N'affiche pas toutes les extensions de X509v3.

ext_default
    Conserve le comportement de l'extension par défaut : essaie d'afficher les extensions de certificat non prises en charge.

ext_error
    Affiche un message d'erreur pour les extensions de certificat non prises en charge.

ext_parse
    Analyse avec ASN1 les extensions non prises en charge.

ext_dump
    Affichage hexadécimal des extensions non prises en charges.

ca_default
    La valeur utilisée par l'utilitaire ca. Équivalent à no_issuer, NO_PUBKEY, no_header, no_version, no_sigdump et no_signame.

EXEMPLES
Remarque : dans ces exemples, le « \ » signifie que l'exemple doit être sur une seule ligne.

Affiche le contenu d'un certificat :

 openssl x509 -in cert.pem -noout -text

Affiche le numéro de série du certificat :

 openssl x509 -in cert.pem -noout -serial

Affiche le nom du sujet du certificat :

 openssl x509 -in cert.pem -noout -subject

Affiche le nom du sujet du certificat au format de la RFC 2253 :

 openssl x509 -in cert.pem -noout -subject -nameopt RFC2253

Affiche le nom du sujet du certificat en une seule ligne sur un terminal supportant UTF8 :

 openssl x509 -in cert.pem -noout -subject -nameopt oneline,-esc_msb

Affiche l'empreinte MD5 du certificat :

 openssl x509 -in cert.pem -noout -fingerprint

Affiche l'empreinte SHA1 du certificat :

 openssl x509 -sha1 -in cert.pem -noout -fingerprint

Convertit un certificat du format PEM vers le format DER :

 openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER

Convertit un certificat en une demande de certificat :

 openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem

Convertit une demande de certificat en un certificat autosigné en utilisant les extensions pour une CA :

 openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca \
        -signkey key.pem -out cacert.pem

Signe une demande de certificat en utilisant le certificat précédent de la CA et ajoute les extensions de certificat utilisateur :

 openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr \
        -CA cacert.pem -CAkey key.pem -CAcreateserial

Définit un certificat à être approuvé pour l'utilisation par un client SSL et règle son alias à « CA classe 1 de Steve »

 openssl x509 -in cert.pem -addtrust clientAuth \
        -setalias "CA classe 1 de Steve" -out trust.pem

NOTES
Le format PEM utilise les lignes d'en-tête et de bas de page suivantes :

 -----BEGIN CERTIFICATE-----
 -----END CERTIFICATE-----

Il prendra également en charge les fichiers contenant :

 -----BEGIN X509 CERTIFICATE-----
 -----END X509 CERTIFICATE-----

Les certificats de confiance ont les lignes :

 -----BEGIN TRUSTED CERTIFICATE-----
 -----END TRUSTED CERTIFICATE-----

La conversion au format UTF8 utilisée avec les options de nom considère que T61Strings utilise le jeu de caractères ISO8859-1. Cela est faux, mais Netscape et MSIE font ainsi, ainsi que de nombreux certificats. Ainsi, bien que ce ne soit pas correct, la plupart des certificats ont plus de chances de s’afficher correctement.

L'option -fingerprint prend le condensé du certificat codé DER. Cela est communément appelé « une empreinte ». En raison de la nature des condensats de message, l'empreinte d'un certificat est propre à ce certificat, et deux certificats ayant la même empreinte peuvent être considérés comme étant les mêmes.

L'empreinte Netscape utilise MD5 alors que celle de MSIE utilise SHA1.

L'option -email recherche le nom de l'objet et l'extension de nom alternatif de sujet. Seules les adresses de courriel uniques seront affichées : la même adresse ne sera pas affichée plus d'une fois.

EXTENSIONS DE CERTIFICAT
L'option -purpose vérifie les extensions de certificat et détermine ce pourquoi le certificat peut être utilisé. Les contrôles réels réalisés sont assez complexes et comprennent diverses bidouilles et des solutions de contournement des certificats et des logiciels cassés.

Le même code est utilisé lors de la vérification des certificats non approuvés dans les chaînes : cette section est utile si une chaîne est rejetée par l’utilitaire verify.

Le drapeau d'extension basicConstraints de la CA est utilisé pour déterminer si le certificat peut être utilisé comme une CA. Si le drapeau de la CA est vrai, alors il est une autorité de certification, si le drapeau de la CA est faux, alors il n'est pas une CA. Toutes les autorités de certification doivent avoir le drapeau de la CA à vrai.

Si l'extension basicConstraints est absente, alors le certificat est considéré comme une « CA possible ». Les autres extensions sont contrôlées selon l'utilisation prévue du certificat. Un avertissement est donné dans ce cas, car le certificat ne devrait vraiment pas être considéré comme une autorité de certification : mais il est permis d'être une CA pour contourner certains logiciels cassés.

Si le certificat est un certificat V1 (et donc n'a pas d’extension) et qu’il est autosigné, il est également supposé être une CA mais un avertissement est de nouveau donné : c'est pour contourner le problème des racines Verisign qui sont des certificats V1 autosignés.

Si l'extension keyUsage est présente, des restrictions supplémentaires sont faites sur les utilisations du certificat. Un certificat de CA doit avoir le bit keyCertSign défini si l'extension keyUsage est présente.

L'extension de l’utilisation de clé étendue impose des restrictions supplémentaires sur les utilisations de certificats. Si cette extension est présente (critique ou non) la clé ne peut être utilisée aux fins prévues.

Une description complète de chaque contrôle est livrée ci-dessous. Les commentaires sur basicConstraints, KeyUsage et les certificats V1 ci-dessus s'appliquent à tous les certificats de CA.

SSL Client
    L'extension d'utilisation de clé étendue doit être absente ou inclure l'OID « web client authentication ». keyUsage doit être absent ou doit avoir le bit digitalSignature activé. Le type de certificat Netscape doit être absent ou il doit avoir le bit SSL client activé.

SSL Client CA
    L'extension d'utilisation de clé étendue doit être absente ou inclure l'OID « web client authentication ». Le type de certificat Netscape doit être absent ou doit avoir le bit de SSL CA activé : cela est utilisé comme un contournement si l'extension basicConstraints est absente.

SSL Server
    L'extension d'utilisation de clé étendue doit être absente ou inclure l'OID « web client authentication » et/ou l'un des OID SGC. keyUsage doit être absent ou avoir un des bits digitalSignature, keyEncipherment activé, ou les deux. Le type de certificat Netscape doit être absent ou avoir le bit SSL server activé.

SSL Server CA
    L'extension d'utilisation de clé étendue doit être absente ou inclure l'OID « web server authentication » et/ou l'un des OID SGC. Le type de certificat Netscape doit être absent ou le bit de SSL CA doit être activé : il est utilisé comme contournement si l'extension basicConstraints est absente.

Netscape SSL Server
    Pour que les clients SSL Netscape puisse se connecter à un serveur SSL, il doit avoir le bit keyEncipherment activé si l'extension keyUsage est présente. Ce n'est pas toujours valable parce que certaines suites de chiffrement utilisent la clé pour la signature numérique. Sinon, il est identique à un serveur SSL normal.

Common S/MIME Client Tests
    L'extension d'utilisation de clé étendue doit être absente ou inclure l'OID « email protection ». Le type de certificat Netscape doit être absent ou devrait avoir le bit S/MIME activé. Si le bit S/MIME n'est pas défini dans le type de certificat Netscape, le bit SSL client est toléré comme une alternative, mais un message d'avertissement apparaît : c'est parce que certains certificats Verisign ne fixent pas le bit S/MIME.

S/MIME Signing
    En plus de « common S/MIME client tests », le bit digitalSignature doit être activé si l'extension keyUsage est présente.

S/MIME Encryption
    En plus de « common S/MIME client tests », le bit keyEncipherment doit être activé si l'extension keyUsage est présente.

S/MIME CA
    L'extension d'utilisation de clé étendue doit être absente ou inclure l'OID « email protection ». Le type de certificat Netscape doit être absent ou doit avoir le bit S/MIME CA activé : cela est utilisé comme contournement si l'extension basicConstraints est absente.

CRL Signing
    L'extension keyUsage doit être absente ou doit avoir le bit CRL signing activé.

CRL Signing CA
    Les contrôles normaux de la CA s'appliquent. Sauf dans ce cas, l'extension basicConstraints doit être présente.

BOGUES
Les extensions dans les certificats ne sont pas transférées à des demandes de certificats et vice versa.

Il est possible de produire des certificats ou des demandes valides en indiquant une mauvaise clé privée ou en utilisant des options incompatibles dans certains cas : cela doit être vérifié.

Il devrait y avoir des options pour définir explicitement des choses telles que les dates de début et de fin, plutôt qu'un décalage par rapport à l'heure actuelle.

Le code pour implémenter le comportement de verify décrit dans les PARAMÈTRES DE CONFIANCE est en cours d'élaboration. Il décrit ainsi le comportement attendu plutôt que le comportement actuel. Il est à espérer qu'il saura représenter la réalité dans OpenSSL 0.9.5 et plus tard.

VOIR AUSSI
req(1), ca(1), genrsa(1), gendsa(1), verify(1), x509v3_config(5)

HISTORIQUE
Avant OpenSSL 0.9.8, l’algorithme de hachage par défaut pour les clés RSA était MD5

L'algorithme de hachage utilisé dans les options -subject_hash et -issuer_hash avant OpenSSL 1.0.0 était basé sur l'algorithme MD5 obsolète et l'encodage du nom distinctif. Dans OpenSSL 1.0.0 et plus tard, il est basé sur une version canonique de DN en utilisant SHA1. Cela signifie que tous les répertoires utilisant l'ancienne forme doivent avoir leurs liens reconstruits à l'aide de c_rehash ou similaire.

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.