Loading

NOM

       ca - Exemple d’application minimale pour une authorité de certification

SYNOPSIS

       openssl ca [-verbose] [-config filename] [-name section] [-gencrl]
       [-revoke file] [-crl_reason reason] [-crl_hold instruction]
       [-crl_compromise time] [-crl_CA_compromise time] [-crldays days]
       [-crlhours hours] [-crlexts section] [-startdate date] [-enddate date]
       [-days arg] [-md arg] [-policy arg] [-keyfile arg] [-key arg] [-passin
       arg] [-cert file] [-selfsign] [-in file] [-out file] [-notext] [-outdir
       dir] [-infiles] [-spkac file] [-ss_cert file] [-preserveDN]
       [-noemailDN] [-batch] [-msie_hack] [-extensions section] [-extfile
       section] [-engine id] [-subj arg] [-utf8] [-multivalue-rdn]

       La commande ca est une application CA («Certificate Authority»:
       autorité de certification) minimale. Elle peut être utilisée pour
       signer des demandes de certificats sous différentes formes et génère
       des CRL («Certificate Revocation List»: liste de certificats révoqués).
       D’autre part, elle maintient une liste des certificats délivrés et de
       leurs statuts.

       Les descriptions des options sont divisées par type d’action.

OPTIONS POUR LES AUTORITÉS DE CERTIFICATION

       -config nom_fichier
           spécifie le nom du fichier de configuration.

       -name section
           spécifie la section du fichier de configuration à utiliser
           (remplace default_ca dans la section ca).

       -in nom_fichier
           un nom de fichier en entrée contenant une seule demande de
           certificat à être signée par la CA.

       -ss_cert nom_fichier
           un seul certificat auto-signé à être signé par la CA.

       -spkac nom_fichier
           un fichier contenant une unique clé publique Netscape signée, un
           défi (challenge) et des données supplémentaires à être signées par
           le CA. Référez-vous à la section SPKAC FORMAT pour des informations
           sur le format demandé.

       -infiles
           si elle est présente, elle doit être la dernière option. Tous les
           paramètres suivants sont interprétés comme fichiers contenant des
           demandes de certificats.

       -out nom_fichier
           le fichier de sortie où les certificats seront dirigés. Par défaut
           il s’agit de la sortie standard. Les détails des certificats y
           seront également précisés.

       -outdir répertoire
           le répertoire qui contiendra les certificats. Les certificats
           seront écrits vers des fichiers nommés par le numéro de série en
           hexadécimal portant le suffixe «.pem».

       -cert
           le fichier de certificat de la CA.

       -keyfile nom_fichier
           la clé privée avec laquelle signer les requêtes.

       -key mot_de_passe
           le mot de passe utilisé pour chiffrer la clé privée. Sur certains
           systèmes les paramètres de la ligne de commande sont visibles (par
           exemple sous Unix avec l’utilitaire «ps») une certaine prudence est
           requise pour l’utilisation de cette option.

       -selfsign
           indicates the issued certificates are to be signed with the key the
           certificate requests were signed with (given with -keyfile).
           Cerificate requests signed with a different key are ignored.  If
           -spkac, -ss_cert or -gencrl are given, -selfsign is ignored.

           A consequence of using -selfsign is that the self-signed
           certificate appears among the entries in the certificate database
           (see the configuration option database), and uses the same serial
           number counter as all other certificates sign with the self-signed
           certificate.

       -passin param
           la source du mot de passe de la clé. Pour plus d’informations sur
           le format de param, référez-vous à la section PARAMÈTRES DE PHRASE
           DE PASSE d’openssl(1).

       -verbose
           ceci affiche des détails supplémentaires sur les opérations
           effectuées.

       -notext
           ne pas inclure la version texte d’un certificat dans le fichier de
           sortie.

       -startdate date
           ceci permet de définir la date de début de validité explicitement.
           Le format de date utilisé est AAMMJJHHMMSSZ (comme pour une
           structure UTCTime ASN1).

       -enddate date
           ceci permet de définir la date de fin de validité explicitement. Le
           format de date utilisé est AAMMJJHHMMSSZ (comme pour une structure
           UTCTime ASN1).

       -days param
           le nombre de jours pendant lesquels le certificat sera certifié.

       -md alg
           le type de condensé («digest») de message à utiliser. On trouve
           parmi les valeurs possibles: md5, sha1, ou mdc2. Cette option
           s’applique aussi aux CRL.

       -policy param
           cette option définit la «politique» de la CA à utiliser. Il s’agit
           d’une section du fichier de configuration spécifiant les champs qui
           sont obligatoires ou qui doivent correspondre au certificat de la
           CA. Référez-vous à la section FORMAT DES POLITIQUES pour plus
           d’informations.

       -msie_hack
           this is a legacy option to make ca work with very old versions of
           the IE certificate enrollment control "certenr3". It used
           UniversalStrings for almost everything. Since the old control has
           various security bugs its use is strongly discouraged. The newer
           control "Xenroll" does not need this option.

       -preserveDN
           Normally the DN order of a certificate is the same as the order of
           the fields in the relevant policy section. When this option is set
           the order is the same as the request. This is largely for
           compatibility with the older IE enrollment control which would only
           accept certificates if their DNs match the order of the request.
           This is not needed for Xenroll.

       -noemailDN
           The DN of a certificate can contain the EMAIL field if present in
           the request DN, however it is good policy just having the e-mail
           set into the altName extension of the certificate. When this option
           is set the EMAIL field is removed from the certificate’ subject and
           set only in the, eventually present, extensions. The email_in_dn
           keyword can be used in the configuration file to enable this
           behaviour.

       -batch
           ceci active le mode par lot. Aucune question ne sera posée et tous
           les certificats seront signés automatiquement.

       -extensions section
           the section of the configuration file containing certificate
           extensions to be added when a certificate is issued (defaults to
           x509_extensions unless the -extfile option is used). If no
           extension section is present then, a V1 certificate is created. If
           the extension section is present (even if it is empty), then a V3
           certificate is created.

       -extfile file
           an additional configuration file to read certificate extensions
           from (using the default section unless the -extensions option is
           also used).

       -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.

       -subj param
           supersedes subject name given in the request.  The arg must be
           formatted as /type0=value0/type1=value1/type2=..., characters may
           be escaped by \ (backslash), no spaces are skipped.

       -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.

       -multivalue-rdn
           this option causes the -subj argument to be interpretedt 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.

OPTIONS POUR LES LISTES DE CERTIFICATS RÉVOQUÉS (CRL)

       -gencrl
           cette options génère une CRL basée sur l’information trouvée dans
           le fichier d’index.

       -crldays num
           le nombre de jours avant passage à la CRL suivante. Ce nombre de
           jours, qui est décompté à partir de la date d’exécution, permet de
           définir la date à placer dans le champ nextUpdate de la CRL.

       -crlhours n
           le nombre d’heures avant passage à la CRL suivante.

       -revoke nom_fichier
           le nom du fichier contenant un certificat à retirer.

       -crl_reason raison
           la raison du retrait, où la raison vaut: unspecified («non
           précisée»), keyCompromise («clé compromise»), CACompromise («CA
           compromise»), affiliationChanged («changement d’affiliation»),
           superseded («remplacé»), cessationOfOperation («cessation
           d’activité»), certificateHold («certificat suspendu») ou
           removeFromCRL («retiré de la CRL»). La casse de la raison n’a pas
           besoin de correspondre. L’ajout d’une raison au retrait forcera
           l’utilisation d’une CRL v2.

           En pratique, removeFromCRL n’est pas particulièrement utile parce
           qu’elle n’est utilisée que pour les CRL «delta», qui ne sont pas
           implémentées pour l’instant.

       -crl_hold instruction
           This sets the CRL revocation reason code to certificateHold and the
           hold instruction to instruction which must be an OID. Although any
           OID can be used only holdInstructionNone (the use of which is
           discouraged by RFC2459)  holdInstructionCallIssuer or
           holdInstructionReject will normally be used.

       -crl_compromise moment
           This sets the revocation reason to keyCompromise and the compromise
           time to time. time should be in GeneralizedTime format that is
           YYYYMMDDHHMMSSZ.

       -crl_CA_compromise moment
           Il s’agit de la même chose que crl_compromise, mais la raison de la
           révocation est mise à CACompromise.

       -crlexts section
           la section du fichier de configuration contenant des extensions CRL
           à inclure. Si aucune section d’extension CRL n’est présente, une
           CRL V1 est créée, sinon une CRL V2 sera créée, même si la section
           en question est vide. Les extensions CRL spécifiées sont des
           extensions CRL et non des extensions d’entrée CRL. Remarquons que
           certains logiciels (par exemple Netscape) ne gèrent pas les CRL V2.

OPTIONS DU FICHIER DE CONFIGURATION

       La section du fichier de configuration contenant des options pour ca
       est trouvée de la façon suivante : si l’option de ligne de commande
       -name est utilisée, elle précise le nom de la section à utiliser.
       Autrement, la section qui sera utilisée est celle mentionnée l’option
       default_ca de la section ca du fichier de configuration (ou dans la
       section par défaut du fichier de configuration). À part default_ca, les
       options suivantes sont lues directement dans la section ca:
        RANDFILE
        preserve
        msie_hack À l’exception de RANDFILE, ceci est probablement un bogue et
       risque d’être modifié dans les versions futures.  De nombreuses options
       du fichier de configuration sont identiques à celles de la ligne de
       commande. Si une option est présente à la fois dans le fichier de
       configuration et sur la ligne de commande, la valeur de la ligne de
       commande est prise en compte. Une option décrite comme obligatoire doit
       être présente soit dans le fichier de configuration soit sur la ligne
       de commande (si c’est possible).

       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.

       new_certs_dir
           identique à l’option de ligne de commande -outdir. On spécifie le
           répertoire où les nouveaux certificats seront placés. Obligatoire.

       certificate
           identique à -cert. Elle spécifie le fichier contenant le certificat
           de la CA. Obligatoire.

       private_key
           identique à l’option -keyfile. Le fichier contenant la clé privée
           de la CA. Obligatoire.

       RANDFILE
           a file used to read and write random number seed information, or an
           EGD socket (see RAND_egd(3)).

       default_days
           identique à l’option -days. Le nombre de jours qu’un certificat
           sera certifié.

       default_startdate
           identique à l’option -startdate. La date de début de validité du
           certificat. Si cette option est absente, la date actuelle sera
           utilisée.

       default_enddate
           identique à l’option -enddate. Soit cette option, soit default_days
           (où les équivalents en mode ligne de commande) doivent être
           présent.

       default_crl_hours default_crl_days
           identiques aux options -crlhours et -crldays. Uniquement utilisées
           si aucune des options n’est présente sur la ligne de commande. Au
           moins une de ces options doit être spécifiée pour générer une CRL.

       default_md
           identique à l’option -md. La type de condensé de message à
           utiliser. Obligatoire.

       database
           le fichier texte (base de données) à utiliser. Obligatoire. Ce
           fichier doit être présent même s’il est initialement vide.

       unique_subject
           if the value yes is given, the valid certificate entries in the
           database must have unique subjects.  if the value no is given,
           several valid certificate entries may have the exact same subject.
           The default value is yes, to be compatible with older (pre 0.9.8)
           versions of OpenSSL.  However, to make CA certificate roll-over
           easier, it’s recommended to use the value no, especially if
           combined with the -selfsign command line option.

       serial
           a text file containing the next serial number to use in hex.
           Mandatory.  This file must be present and contain a valid serial
           number.

       crlnumber
           a text file containing the next CRL number to use in hex. The crl
           number will be inserted in the CRLs only if this file exists. If
           this file is present, it must contain a valid CRL number.

       x509_extensions
           identique à -extensions.

       crl_extensions
           identique à -crlexts.

       preserve
           identique à -preserveDN.

       email_in_dn
           the same as -noemailDN. If you want the EMAIL field to be removed
           from the DN of the certificate simply set this to ’no’. If not
           present the default is to allow for the EMAIL filed in the
           certificate’s DN.

       msie_hack
           identique à -msie_hack.

       policy
           identique à -policy. Obligatoire. Référez-vous à la section FORMAT
           DES POLITIQUES pour plus d’information.

       name_opt, cert_opt
           these options allow the format used to display the certificate
           details when asking the user to confirm signing. All the options
           supported by the x509 utilities -nameopt and -certopt switches can
           be used here, except the no_signame and no_sigdump are permanently
           set and cannot be disabled (this is because the certificate
           signature cannot be displayed because the certificate has not been
           signed at this point).

           For convenience the values ca_default are accepted by both to
           produce a reasonable output.

           If neither option is present the format used in earlier versions of
           OpenSSL is used. Use of the old format is strongly discouraged
           because it only displays fields mentioned in the policy section,
           mishandles multicharacter string types and does not display
           extensions.

       copy_extensions
           determines how extensions in certificate requests should be
           handled.  If set to none or this option is not present then
           extensions are ignored and not copied to the certificate. If set to
           copy then any extensions present in the request that are not
           already present are copied to the certificate. If set to copyall
           then all extensions in the request are copied to the certificate:
           if the extension is already present in the certificate it is
           deleted first. See the WARNINGS section before using this option.

           The main use of this option is to allow a certificate request to
           supply values for certain extensions such as subjectAltName.

FORMAT DES POLITIQUES

       La section policy consiste en un jeu de variables correspondants aux
       champs DN du certificat. Si la valeur est «match», la valeur du champ
       doit être identique au champ du même nom du certificat de la CA. Si la
       valeur est «supplied», il doit être présent. Si la valeur est
       «optional», sa présence n’est pas obligatoire. Tout champ ne figurant
       pas dans la section policy est supprimé à moins que l’option
       -preserveDN ne soit activée, mais c’est plus une bizarrerie qu’un
       comportement attendu.

FORMAT SPKAC

       L’entrée fournit à la ligne de commande -spkac est une clé publique
       signée Netscape et un défi. Ceci provient habituellement d’une balise
       KEYGEN dans un formulaire HTML pour créer une nouvelle clé privée. Il
       est toutefois possible de créer des SPKAC en utilisant l’utilitaire
       spkac.

       Le fichier devrait contenir la variable SPKAC avec la valeur de la clef
       SPARK ainsi que les éléments DN sous forme de paires nom-valeurs. Si
       besoin est d’inclure le même élément plusieurs fois, il est possible de
       le faire précéder par un nombre et un «.».

EXEMPLES

       Note: ces exemples supposent que l’arborescence ca est déjà en place et
       que les fichiers liés existent. Ceci nécessite généralement la création
       d’un certificat et d’une clé privée pour la CA avec req, un fichier de
       numéro de série et un fichier d’index vide. Tous ces fichiers doivent
       être placés dans les répertoires correspondants.

       Afin d’utiliser le fichier de configuration type ci-dessous, il faut
       créer les répertoires demoCA, demoCA/private et demoCA/newcerts. Le
       certificat de la CA doit être copié dans demoCA/cacert.pem et sa clé
       privée dans demoCA/private/cakey.pem. Un fichier demoCA/serial doit
       être créé contenant par exemple «01» et un fichier d’index vide doit
       être créé dans demoCA/index.txt.

       Signer une demande de certificat:

        openssl ca -in req.pem -out newcert.pem

       Signer une demande de certificat utilisant des extensions CA:

        openssl ca -in req.pem -extensions v3_ca -out newcert.pem

       Générer une CRL

        openssl ca -gencrl -out crl.pem

       Signer plusieurs demandes:

        openssl ca -infiles req1.pem req2.pem req3.pem

       Certifier un SPKAC Netscape:

        openssl ca -spkac spkac.txt

       Un fichier SPKAC type (lignes tronquées pour la lisibilité):

        SPKAC=MIG0MGAwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAn7PDhCeV/xIxUg8V70YRxK2A5
        CN=Steve Test
        emailAddress=steve@openssl.org
        0.OU=OpenSSL Group
        1.OU=Another Group

       Un fichier de configuration type avec les sections pour ca:

        [ ca ]
        default_ca      = CA_default            # The default ca section

        [ CA_default ]

        dir            = ./demoCA              # top dir
        database       = $dir/index.txt        # index file.
        new_certs_dir  = $dir/newcerts         # new certs dir

        certificate    = $dir/cacert.pem       # The CA cert
        serial         = $dir/serial           # serial no file
        private_key    = $dir/private/cakey.pem# CA private key
        RANDFILE       = $dir/private/.rand    # random number file

        default_days   = 365                   # how long to certify for
        default_crl_days= 30                   # how long before next CRL
        default_md     = md5                   # md to use

        policy         = policy_any            # default policy
        email_in_dn    = no                    # Don't add the email into cert DN

        name_opt       = ca_default            # Subject name display option
        cert_opt       = ca_default            # Certificate display option
        copy_extensions = none                 # Don't copy extensions from request

        [ policy_any ]
        countryName            = supplied
        stateOrProvinceName    = optional
        organizationName       = optional
        organizationalUnitName = optional
        commonName             = supplied
        emailAddress           = optional

FICHIERS

       Note: l’emplacement de tous les fichiers peut changer en fonction des
       options de compilation, des entrées dans le fichier de configuration,
       des variables d’environnement ou des options de la ligne de commande.
       Les valeurs ci-dessous sont les valeurs par défaut.

        /usr/local/ssl/lib/openssl.cnf - fichier de configuration maître
        ./demoCA                       - répertoire principal de la CA
        ./demoCA/cacert.pem            - certificat de la CA
        ./demoCA/private/cakey.pem     - clé privée de la CA
        ./demoCA/serial                - fichier des numéros de série de la CA
        ./demoCA/serial.old            - sauvegarde de ./demoCA/serial
        ./demoCA/index.txt             - base de données au format texte de la CA
        ./demoCA/index.txt.old         - sauvegarde de ./demoCA/index.txt
        ./demoCA/certs                 - fichier de sortie du certificat
        ./demoCA/.rnd                  - graine pour l'aléa de la CA

VARIABLES DENVIRONNEMENT
       OPENSSL_CONF contient l’emplacement du fichier de configuration
       principal qui peut être modifié avec l’option en ligne de commande
       -config.

RESTRICTIONS

       Le fichier d’index est une partie cruciale du processus et toute
       corruption peut s’avérer difficile à rattraper. Bien qu’il soit
       possible théoriquement de reconstruire l’index à partir des certificats
       délivrés et d’une CRL récente, aucune option ne permet de faire cela.

       Les fonctionnalités des CRL V2 telles que le support des delta CRL ne
       sont pas gérées actuellement.

       Même s’il est possible d’entrer et de traiter plusieurs demandes en
       même temps, il est impossible d’inclure plus d’un SPKAC ou certificat
       auto-signé.

BOGUES

       L’utilisation d’une base de données texte en mémoire peut s’avérer
       problématique, en particulier avec un nombre important de certificats à
       gérer, justement du fait que cette base se trouve en mémoire.

       La commande ca a réellement besoin d’être réécrite ou les
       fonctionnalités nécessaires devraient être fournie par une commande ou
       interface pour permettre à des utilitaires plus orientés utilisateurs
       (scripts perl ou GUI) de traiter les choses correctement. Les scripts
       CA.sh et CA.pl aident un petit peu en ce sens.

       Any fields in a request that are not present in a policy are silently
       deleted. This does not happen if the -preserveDN option is used. To
       enforce the absence of the EMAIL field within the DN, as suggested by
       RFCs, regardless the contents of the request’ subject the -noemailDN
       option can be used. The behaviour should be more friendly and
       configurable.

       L’annulation de certaines commandes en refusant de certifier un
       certificat peut résulter en un fichier vide.

AVERTISSEMENTS

       La commande ca est capricieuse et parfois pas très confortable
       d’utilisation.

       La commende ca a eu pour objectif initial d’être un exemple montrant
       comment se servir d’une CA. Il n’a pas été créé pour servir
       d’application pour un CA complète, cependant certaines personnes s’en
       servent dans ce but.

       La commande ca est effectivement une commande mono-utilisateur, aucun
       verrouillage n’est fait sur les divers fichiers, et des tentatives
       d’accès simultanées à un même fichier d’index peuvent produire des
       résultats imprévisibles.

       The copy_extensions option should be used with caution. If care is not
       taken then it can be a security risk. For example if a certificate
       request contains a basicConstraints extension with CA:TRUE and the
       copy_extensions value is set to copyall and the user does not spot this
       when the certificate is displayed then this will hand the requestor a
       valid CA certificate.

       This situation can be avoided by setting copy_extensions to copy and
       including basicConstraints with CA:FALSE in the configuration file.
       Then if the request contains a basicConstraints extension it will be
       ignored.

       It is advisable to also include values for other extensions such as
       keyUsage to prevent a request supplying its own values.

       Additional restrictions can be placed on the CA certificate itself.
       For example if the CA certificate has:

        basicConstraints = CA:TRUE, pathlen:0

       then even if a certificate is issued with CA:TRUE it will not be valid.

VOIR AUSSI

       req(1), spkac(1), x509(1), CA.pl(1), config(5)

TRADUCTION

       Cette page de manuel a été traduite par stolck 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.