Loading

NOM

       req - utilitaire de génération de certificats et de demandes de
       certificat PKCS#10.

SYNOPSIS

       openssl req [-inform PEM|DER] [-outform PEM|DER] [-in filename]
       [-passin arg] [-out filename] [-passout arg] [-text] [-pubkey] [-noout]
       [-verify] [-modulus] [-new] [-rand file(s)] [-newkey rsa:bits] [-newkey
       dsa:file] [-nodes] [-key filename] [-keyform PEM|DER] [-keyout
       filename] [-[md5|sha1|md2|mdc2]] [-config filename] [-subj arg]
       [-multivalue-rdn] [-x509] [-days n] [-set_serial n] [-asn1-kludge]
       [-newhdr] [-extensions section] [-reqexts section] [-utf8] [-nameopt]
       [-batch] [-verbose] [-engine id]

       La commande req crée et traite des demandes de certificats au format
       PKCS#10. En plus, elle peut créer des certificats autosignés servant
       par exemple comme CA racine.

OPTIONS DE LA COMMANDE

       -inform DER|PEM
           Ceci spécifie le format d’entrée. L’option DER utilise l’encodage
           ASN1 DER compatible avec le format PKCS#10. La forme PEM est le
           format par défaut : il s’agit du format DER encodée base64 avec des
           lignes supplémentaires au début et à la fin.

       -outform DER|PEM
           Spécifie le format de sortie. Les options ont la même signification
           que pour l’option -inform.

       -in nom_fichier
           Ceci spécifie le nom du fichier d’entrée à partir duquel la demande
           est lue. Par défaut, l’entrée standard sera lue si cette option
           n’est pas spécifiée. Une demande est uniquement lue si les options
           de création (-new et -newkey) ne sont pas spécifiées.

       -passin param
           la source de mot de passe d’entrée. Pour plus d’informations
           concernant le format de param, référez-vous à la section PHRASE DE
           PASSE EN PARAMÈTRE d’openssl(1).

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

       -passout param
           la source de mot de passe pour le fichier de sortie. Pour plus
           d’informations concernant le format de param, référez-vous à la
           section PHRASE DE PASSE EN PARAMÈTRE d’openssl(1).

       -text
           Affiche la demande de certificat au format texte.

       -pubkey
           Produit la clé publique.

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

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

       -verify
           Vérifie la signature de la demande.

       -new
           Cette option génère une nouvelle demande de certificat. Il sera
           demandé à l’utilisateur de fournir les valeurs des champs
           nécessaires. Ces champs demandés sont spécifiés ainsi que leur
           valeurs maximales et minimales sont spécifiées dans le fichier de
           configuration ainsi que dans les extensions.

           Si l’option -key n’est pas utilisée, une nouvelle clé privée RSA
           sera générée en utilisant l’information du fichier de
           configuration.

       -rand fichier(s)
           Un ou plusieurs fichiers contenant des données aléatoires utilisées
           pour initialiser le générateur de nombres pseudo-aléatoires, ou une
           socket EGD (consultez RAND_egd(3)). Plusieurs fichiers peuvent être
           spécifiés en les séparant par le séparateur du système
           d’exploitation: «;» pour MS-Windows, «,» pour OpenVMS et «:» pour
           tous les autres.

       -newkey param
           Cette option crée une nouvelle demande de certificat et une
           nouvelle clé privée. Le paramètre utilise l’une des deux formes
           suivantes: rsa:nombre_bits, où nombre_bits est le nombre de bits,
           génère une clé RSA de taille nombre_bits, dsa:nom_fichier génère
           une clé DSA utilisant les paramètres de nom_fichier.

       -key nom_fichier
           Ceci spécifie le fichier de clé privée à lire. Il accepte aussi
           bien des clés privées au format PKCS#8 que des fichiers au format
           PEM.

       -keyform PEM|DER
           Le format de la clé privée spécifiée avec l’option -key. PEM est le
           format par défaut.

       -keyout nom_fichier
           Ceci donne le nom de fichier où la clé privée créée sera écrite.
           Par défaut, le nom spécifié par le fichier de configuration est
           utilisé.

       -nodes
           Avec cette option, si une clé privée est créée, elle ne sera pas
           chiffrée.

       -[md5|sha1|md2|mdc2]
           Ceci spécifie le type de condensé à utiliser pour signer la
           demande. Si elle est présente, cette option prévaut à celle donnée
           dans le fichier de configuration. Cette option est ignorée pour les
           demandes DSA: elles utilisent toujours SHA1.

       -config nom_fichier
           Ceci permet d’utiliser un fichier de configuration alternatif, à la
           place de celui spécifié lors de la compilation ou avec la variable
           d’environnement OPENSSL_CONF.

       -subj param
           sets subject name for new request or supersedes the subject name
           when processing a request.  The arg must be formatted as
           /type0=value0/type1=value1/type2=..., characters may be escaped by
           \ (backslash), no spaces are skipped.

       -multivalue-rdn
           this option causes the -subj argument to be interpreted with full
           support for multivalued RDNs. Example:

           /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

           Si -multi-rdn est utilisée, alors la valeur de l’UID est
           123456+CN=John Doe.

       -x509
           Cette option génère un certificat auto-signé à la place d’une
           demande de certificat. Elle est utilisée typiquement pour générer
           des certificats de test ou le certificat auto-signé racine d’une
           CA. Les extensions à ajouter au certificat, s’il y en a, sont
           spécifiées dans le fichier de configuration. À moins qu’il ne soit
           précisé par l’option set_serial, le numéro de série sera 0.

       -days n
           Lorsque l’option -x509 est utilisée, elle spécifie le nombre de
           jours pour lequel le certificat sera certifié. La valeur par défaut
           est 30 jours.

       -set_serial n
           serial number to use when outputting a self signed certificate.
           This may be specified as a decimal value or a hex value if preceded
           by 0x.  It is possible to use negative serial numbers but this is
           not recommended.

       -extensions section
       -reqexts section
           Ces options précisent des sections alternatives d’extension de
           certificat (si l’option -x509 est présente), ou de demandes de
           certificat à inclure. Ceci permet d’utiliser des sections
           différentes du même fichier de configuration servant à des propos
           variés.

       -utf8
           cette option indique que les valeurs des champs doivent être
           interprétées comme des chaînes UTF8. Par défaut, elles sont
           interprétées comme des chaînes ASCII. Ce la signifie que les
           valeurs des champs, qu’elles soient demandée sur le terminal ou
           fournies par le fichier de configuration, doivent être des chaînes
           UTF8 valables.

       -nameopt option
           option which determines how the subject or issuer names are
           displayed. The option argument can be a single option or multiple
           options separated by commas.  Alternatively the -nameopt switch may
           be used more than once to set multiple options. See the x509(1)
           manual page for details.

       -asn1-kludge
           Par défaut, la commande req génère des demandes de certificats sans
           attributs dans un format PKCS#10 valable. Toutefois, certaines CA
           acceptent uniquement des demandes sans attributs sous une forme non
           valable qui est produite avec cette option.

           Plus précisément, les attributs d’une demande de certificat PKCS#10
           sont définies comme un ensemble d’attributes (SET OF Attribute).
           Ils ne sont pas de type OPTIONAL, ainsi, si aucun attribut n’est
           présent, une entrée vide SET OF devrait le signaler. La forme non
           valable n’inclut pas cette entrée alors que la forme valable le
           fait.

           Notons que très peu de CAs nécessitent encore l’utilisation de
           cette option.

       -newhdr
           Ajoute le mot NEW aux lignes de tête et de fin du fichier PEM de la
           demande de certificat créée. Certains logiciels (Netscape
           certificate server) et certaines CAs ont besoin de ceci.

       -batch
           non-interactive mode.

       -verbose
           print extra details about the operations being performed.

       -engine id
           spécifie un moteur (en utilisant son identifiant unique id) qui
           indique à req d’essayer d’obtenir une référence fonctionnelle pour
           le moteur spécifié, et l’initialiser si nécessaire. Le moteur sera
           ensuite utilisé par défaut pour tous les algorithmes disponibles.

FORMAT DU FICHIER DE CONFIGURATION

       Les options de configuration sont spécifiées dans la section req du
       fichier de configuration. Comme avec tous les fichiers de
       configuration, si aucune valeur n’est donnée dans la section
       correspondante (c’est-à-dire req), la section initiale sans nom ou la
       section default est également parcourue.

       Les options disponibles sont décrites en détail ci-dessous.

       input_password output_password
           Les mots de passe pour le fichier de clé privée d’entrée (si
           présent) et pour le fichier de clé privée de sortie (si une clé est
           créée). Les options de ligne de commande passin et passout
           remplacent les valeurs du fichier de configuration.

       default_bits
           Ceci spécifie la taille par défaut des clés, en bits. Si elle n’est
           pas spécifiée, la valeur 512 est utilisée. Elle est utilisée lors
           de l’emploi de l’option -new. Elle peut être écrasée par l’option
           -newkey.

       default_keyfile
           Ceci est le nom de fichier par défaut où la clé privée sera écrite.
           Si elle n’est pas spécifiée, la clé sera écrite sur la sortie
           standard. Ceci peut être écrasé par l’option -keyout.

       oid_file
           Ceci spécifie le fichier contenant des IDENTIFIANTS DOBJET)
           supplémentaires. Chaque ligne consiste en la forme numérique de
           l’identifiant d’objet suivi par des espaces puis le libellé court
           suivi à son tour par des espaces et finalement le libellé long.

       oid_section
           Ceci spécifie une section du fichier de configuration contenant
           d’autres identifiants d’objet. Chaque ligne est constituée du
           libellé court de l’identifiant d’objet suivi de = et de la forme
           numérique. Le libellé court et le libellé long sont identiques
           quand cette option est utilisée.

       RANDFILE
           Ceci spécifie le fichier où les graines pour les nombres aléatoires
           sont lues et écrites, ou une socket EGD (consultez RAND_egd(3)).
           C’est utilisé pour la génération de clé privée.

       encrypt_key
           Si ceci vaut no, lors de la génération d’une clé privée, elle n’est
           pas chiffrée. Ceci équivaut à l’option -nodes de la ligne de
           commande. Pour assurer la compatibilité, encrypt_rsa_key est une
           option équivalente.

       default_md
           Cette option spécifie l’algorithme à utiliser pour les condensés.
           Les valeurs possibles sont md5 sha1 mdc2. Si cette option n’est pas
           présente, MD5 sera utilisé. Cette option peut être écrasée avec
           l’option correspondante de la ligne de commande.

       string_mask
           Cette option masque l’utilisation de certains types de chaîne de
           caractères dans certains champs. La plupart des utilisateurs
           n’auront pas besoin de modifier cette option.

           Elle peut se voir affecter diverses valeurs: default qui est la
           valeur par défaut et qui utilise PrintableStrings, T61Strings et
           BMPStrings. Si la valeur pkix est spécifiée, uniquement
           PrintableStrings et BMPStrings seront utilisés. Ceci suit la
           recommandation PKIX dans la RFC2459. Si l’option utf8only est
           employée, alors seules les UTF8Strings sont employés: ceci est la
           recommandation PKIX dans la RFC2459 pour après 2003. Finalement
           l’option nombstr utilise seulement PrintableStrings et T61Strings:
           certains logiciels ont des problèmes avec les BMPStrings et les
           UTF8Strings, en particulier Netscape.

       req_extensions
           Ceci spécifie la section du fichier de configuration contenant une
           liste d’extensions à ajouter à la demande de certificat. Elle peut
           être remplacée par l’option -reqexts de la ligne de commande.

       x509_extensions
           Ceci spécifie la section du fichier de configuration contenant une
           liste d’extensions à ajouter au certificats générés avec l’option
           -x509. Elle peut être remplacée par l’option -extensions de la
           ligne de commande.

       prompt
           Si ceci vaut no, aucun champ du certificat ne sera demandé à
           l’utilisateur et les valeurs du fichier de configuration sont
           prises d’office. Ceci change également le format attendu des
           sections distinguished_name et attributes.

       utf8
           if set to the value yes then field values to be interpreted as UTF8
           strings, by default they are interpreted as ASCII. This means that
           the field values, whether prompted from a terminal or obtained from
           a configuration file, must be valid UTF8 strings.

       attributes
           Ceci spécifie la section contenant les attributs pour les demandes:
           son format est identique à celui de la section distinguished_name.
           Typiquement, ces attributs contiennent les types challengePassword
           et unstructuredName. Ils sont actuellement ignorés par les
           utilitaires de signature d’OpenSSL mais peuvent être requis par
           certaines CAs.

       distinguished_name
           Ceci spécifie la section contenant les champs des noms distingués
           («distinguished name») à demander lors d’une génération de
           certificat ou d’une demande de certificat. Le format est décrit
           dans la section suivante.

FORMAT DES SECTIONS DE NOM DISTINGUÉ ET DATTRIBUT
       Il y a deux formats différents pour les sections de nom distingué et
       d’attribut. Lorsque l’option prompt vaut no, alors ces sections
       contiennent uniquement les noms des champs et leurs valeurs. Par
       exemple:

        CN=My Name
        OU=My Organization
        emailAddress=someone@somewhere.org

       Ceci permet aux programmes externes (par exemple des interfaces
       graphiques) de générer un fichier modèle à passer à req. Un exemple de
       ce type de fichier de configuration se trouve dans la section EXEMPLES.

       Dans l’absence de l’option prompt ou si celle-ci ne vaut pas no, le
       fichier contient des informations pour la demande à l’invite de
       commandes. Ceci se présente sous la forme suivante:

        nomChamp="invite"
        nomChamp_default="Valeur du champ par défaut"
        nomChamp_min= 2
        nomChamp_max= 4

       «nomChamp» est le nom du champ à utiliser, par exemple commonName (ou
       CN, nom commun). La chaîne «invite» est affichée lors de la demande à
       l’utilisateur. Si l’utilisateur ne saisit rien, alors la valeur par
       défaut, «nomChamp_default», est prise, si présente, ou alors le champ
       est omis. Un champ peut toujours être omis en saisissant uniquement le
       caractère «.».

       Le nombre de caractères saisis doit être entre les limites de
       nomChamp_min et nomChamp_max: il peut y avoir d’autres contraintes
       basées sur le champ utilisé (par exemple, countryName doit toujours
       avoir une longueur de deux et doit entrer dans un PrintableString).

       Certains champs (comme organizationName) peuvent être utilisés plus
       d’une fois dans un DN. Ceci pose problème car dans les fichiers de
       configuration, le même nom de champ ne sera pas pris en compte à deux
       reprises. Pour éviter ce problème, si le nomChamp contient des
       caractères suivi d’un point («.»), ils seront ignorés. Ainsi, par
       exemple, une deuxième entrée pour organizationName peut être entrée en
       l’appelant «1.organizationName».

       Les noms de champ permis sont les libellés longs ou courts de tous les
       identifiants d’objet. Ceux-ci sont compilés avec OpenSSL et incluent
       les libellés longs usuels comme commonName, countryName, localityName,
       organizationName, organizationUnitName, stateOrProvinceName. En plus,
       emailAddress est présent tout comme name, surname, givenName, initials
       et dnQualifier.

       Des identifiants d’objet supplémentaires peuvent être définis dans un
       fichier (oid_file) ou une section (oid_section) dans le fichier de
       configuration. Tous les champs supplémentaires sont traités comme des
       DirectoryString.

EXEMPLES

       Examiner et vérifier une demande de certificat:

        openssl req -in req.pem -text -verify -noout

       Créer une clé privée et générer la demande de certificat
       correspondante:

        openssl genrsa -out key.pem 1024
        openssl req -new -key key.pem -out req.pem

       La même chose en utilisant uniquement req:

        openssl req -newkey rsa:1024 -keyout key.pem -out req.pem

       Générer un certificat auto-signé racine:

        openssl req -x509 -newkey rsa:1024 -keyout key.pem -out req.pem

       Exemple d’un fichier spécifié avec l’option oid_file:

        1.2.3.4        shortName       A longer Name
        1.2.3.6        otherName       Other longer Name

       Exemple d’une section pouvant être référencé par oid_section utilisant
       l’expansion de variables:

        testoid1=1.2.3.5
        testoid2=${testoid1}.6

       Fichier de configuration type demandant les valeurs des champs:

        [ req ]
        default_bits           = 1024
        default_keyfile        = privkey.pem
        distinguished_name     = req_distinguished_name
        attributes             = req_attributes
        x509_extensions        = v3_ca

        dirstring_type = nobmp

        [ req_distinguished_name ]
        countryName                    = Nom du pays (code 2 lettres )
        countryName_default            = FR
        countryName_min                = 2
        countryName_max                = 2

        localityName                   = Nom du lieu (par exemple, la ville)

        organizationalUnitName         = Nom de l'unité dans l'organisation (par exemple, la section)

        commonName                     = Nom commun (par exemple, VOTRE nom)
        commonName_max                 = 64

        emailAddress                   = Adresse électronique
        emailAddress_max               = 40

        [ req_attributes ]
        challengePassword              = Un mot de passe
        challengePassword_min          = 4
        challengePassword_max          = 20

        [ v3_ca ]

        subjectKeyIdentifier=hash
        authorityKeyIdentifier=keyid:always,issuer:always
        basicConstraints = CA:true

       Configuration type contenant tous les valeurs des champs:

        RANDFILE               = $ENV::HOME/.rnd

        [ req ]
        default_bits           = 1024
        default_keyfile        = fichier_clé.pem
        distinguished_name     = req_noms_distingué
        attributes             = req_attributs
        prompt                 = no
        output_password        = mon_pass

        [ req_distinguished_name ]
        C                      = FR
        ST                     = Département de test
        L                      = Lieu de test
        O                      = Nom de l'organisation
        OU                     = Nom de l'unité dans l'organisation
        CN                     = Nom commun
        emailAddress           = test@email.adresse

        [ req_attributes ]
        challengePassword              = A challenge password

NOTES

       Les lignes de tête et de fin dans le format PEM sont normalement:

        -----BEGIN CERTIFICATE REQUEST-----

        -----END CERTIFICATE REQUEST-----
       Certains logiciels (certaines versions de Netscape certificate server)
       nécessitent à la place:

        -----BEGIN NEW CERTIFICATE REQUEST-----

        -----END NEW CERTIFICATE REQUEST-----
       qui est produit avec l’option -newhdr mais reste compatible autrement.
       À l’entrée, les deux versions sont acceptées de façon transparente.

       Les demandes de certificat générées par Xenroll avec MSIE ont des
       extensions supplémentaires. Elles incluent une extension keyUsage qui
       détermine le type de la clé (signature ou général) et tous les OIDs
       supplémentaires entrés par le script dans une extension
       extendedKeyUsage.

DIAGNOSTIC

       Les messages suivants soulèvent souvent des interrogations:

               Using configuration from /some/path/openssl.cnf
               Unable to load config info

       Qui est suivi peu après par:

               unable to find 'distinguished_name' in config
               problems making Certificate Request

       Le premier message explique le tout: le fichier de configuration est
       introuvable! Certaines opérations (telle que la vérification d’une
       demande de certificat) ne nécessitent pas de fichier de configuration,
       alors son utilisation n’est pas renforcée. La génération de certificats
       ou de demandes, au contraire, nécessitent un fichier de configuration.
       Ceci peut être considéré comme un bogue.

       Un autre message portant à confusion est:

               Attributes:
                   a0:00

       Ceci est affiché lorsqu’aucun attribut n’est présent et que la demande
       inclut la structure vide SET OF correcte (dont l’encodage DER est 0xa0
       0x00). Si vous voyez uniquement:

               Attributes:

       alors le SET OF manque et l’encodage ainsi techniquement non valable.
       Référez-vous à la description de l’option -asn1-kludge pour plus
       d’information.

VARIABLES DENVIRONNEMENT
       La variable OPENSSL_CONF si définie permet un fichier de configuration
       alternatif. Un autre fichier sera utilisé si l’option -config de la
       ligne de commande est présente. Pour des raisons de compatibilité, la
       variable SSLEAY_CONF a la même utilisation, mais son utilisation est
       déconseillé.

BOGUES

       La gestion des T61Strings (ou TeletexStrings) est cassée: elles sont
       traitées effectivement comme des chaînes ISO-8859-1 (Latin 1), Netscape
       et MSIE ont un comportement similaire. Ceci peut poser problème lorsque
       vous avez besoin de caractères qui ne sont pas disponibles dans les
       PrintableStrings et que vous ne voulez ou pouvez pas utiliser les
       BMPStrings.

       La conséquence de cette gestion de T61String est que la seule façon
       correcte de représenter des caractères accentués dans OpenSSL est
       d’utiliser un BMPString: malheureusement, Netscape ne les aime pas.
       Ainsi, pour utiliser les caractères accentués avec Netscape et MSIE,
       vous devrez utiliser actuellement le format non valable des T61Strings.

       La demande à l’invite de commande n’est pas très ergonomique. Vous ne
       pouvez confirmer les saisies et les extensions doivent être définies de
       façon statique dans le fichier de configuration. Quelques-unes comme
       par exemple une adresse électronique dans le subjectAltName devraient
       être données par l’utilisateur.

VOIR AUSSI

       x509(1), ca(1), genrsa(1), gendsa(1), config(5)

TRADUCTION

       Cette page de manuel a été traduite par arne en 2002 et est maintenue
       par 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.