Provided by:
manpages-fr-extra_20101103_all 
NOM
ca - Exemple d'application minimale pour une authorite 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]
DESCRIPTION
La commande ca est une application CA (<<Certificate Authority>>:
autorite de certification) minimale. Elle peut etre utilisee pour
signer des demandes de certificats sous differentes formes et genere
des CRL (<<Certificate Revocation List>>: liste de certificats
revoques). D'autre part, elle maintient une liste des certificats
delivres et de leurs statuts.
Les descriptions des options sont divisees par type d'action.
OPTIONS POUR LES AUTORIT'ES DE CERTIFICATION
-config nom_fichier
specifie le nom du fichier de configuration.
-name section
specifie la section du fichier de configuration a utiliser
(remplace default_ca dans la section ca).
-in nom_fichier
un nom de fichier en entree contenant une seule demande de
certificat a etre signee par la CA.
-ss_cert nom_fichier
un seul certificat auto-signe a etre signe par la CA.
-spkac nom_fichier
un fichier contenant une unique cle publique Netscape signee, un
defi (challenge) et des donnees supplementaires a etre signees par
le CA. Referez-vous a la section SPKAC FORMAT pour des informations
sur le format demande.
-infiles
si elle est presente, elle doit etre la derniere option. Tous les
parametres suivants sont interpretes comme fichiers contenant des
demandes de certificats.
-out nom_fichier
le fichier de sortie ou les certificats seront diriges. Par defaut
il s'agit de la sortie standard. Les details des certificats y
seront egalement precises.
-outdir r'epertoire
le repertoire qui contiendra les certificats. Les certificats
seront ecrits vers des fichiers nommes par le numero de serie en
hexadecimal portant le suffixe <<.pem>>.
-cert
le fichier de certificat de la CA.
-keyfile nom_fichier
la cle privee avec laquelle signer les requetes.
-key mot_de_passe
le mot de passe utilise pour chiffrer la cle privee. Sur certains
systemes les parametres 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 cle. Pour plus d'informations sur
le format de param, referez-vous a la section PARAM`ETRES DE PHRASE
DE PASSE d'openssl(1).
-verbose
ceci affiche des details supplementaires sur les operations
effectuees.
-notext
ne pas inclure la version texte d'un certificat dans le fichier de
sortie.
-startdate date
ceci permet de definir la date de debut de validite explicitement.
Le format de date utilise est AAMMJJHHMMSSZ (comme pour une
structure UTCTime ASN1).
-enddate date
ceci permet de definir la date de fin de validite explicitement. Le
format de date utilise est AAMMJJHHMMSSZ (comme pour une structure
UTCTime ASN1).
-days param
le nombre de jours pendant lesquels le certificat sera certifie.
-md alg
le type de condense (<<digest>>) de message a utiliser. On trouve
parmi les valeurs possibles: md5, sha1, ou mdc2. Cette option
s'applique aussi aux CRL.
-policy param
cette option definit la <<politique>> de la CA a utiliser. Il
s'agit d'une section du fichier de configuration specifiant les
champs qui sont obligatoires ou qui doivent correspondre au
certificat de la CA. Referez-vous a 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 posee et tous
les certificats seront signes 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
specifie un moteur (en utilisant son identifiant unique id) qui
indique a req d'essayer d'obtenir une reference fonctionnelle pour
le moteur specifie, et l'initialiser si necessaire. Le moteur sera
ensuite utilise par defaut 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 etre
interpretees comme des chaines UTF8. Par defaut, elles sont
interpretees comme des chaines ASCII. Ce la signifie que les
valeurs des champs, qu'elles soient demandee sur le terminal ou
fournies par le fichier de configuration, doivent etre des chaines
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 utilisee, alors la valeur de l'UID est
123456+CN=John Doe.
OPTIONS POUR LES LISTES DE CERTIFICATS R'EVOQU'ES (CRL)
-gencrl
cette options genere une CRL basee sur l'information trouvee dans
le fichier d'index.
-crldays num
le nombre de jours avant passage a la CRL suivante. Ce nombre de
jours, qui est decompte a partir de la date d'execution, permet de
definir la date a placer dans le champ nextUpdate de la CRL.
-crlhours n
le nombre d'heures avant passage a la CRL suivante.
-revoke nom_fichier
le nom du fichier contenant un certificat a retirer.
-crl_reason raison
la raison du retrait, ou la raison vaut: unspecified (<<non
precisee>>), keyCompromise (<<cle compromise>>), CACompromise (<<CA
compromise>>), affiliationChanged (<<changement d'affiliation>>),
superseded (<<remplace>>), cessationOfOperation (<<cessation
d'activite>>), certificateHold (<<certificat suspendu>>) ou
removeFromCRL (<<retire 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 particulierement utile parce
qu'elle n'est utilisee que pour les CRL <<delta>>, qui ne sont pas
implementees 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 meme chose que crl_compromise, mais la raison de la
revocation est mise a CACompromise.
-crlexts section
la section du fichier de configuration contenant des extensions CRL
a inclure. Si aucune section d'extension CRL n'est presente, une
CRL V1 est creee, sinon une CRL V2 sera creee, meme si la section
en question est vide. Les extensions CRL specifiees sont des
extensions CRL et non des extensions d'entree CRL. Remarquons que
certains logiciels (par exemple Netscape) ne gerent pas les CRL V2.
OPTIONS DU FICHIER DE CONFIGURATION
La section du fichier de configuration contenant des options pour ca
est trouvee de la facon suivante : si l'option de ligne de commande
-name est utilisee, elle precise le nom de la section a utiliser.
Autrement, la section qui sera utilisee est celle mentionnee l'option
default_ca de la section ca du fichier de configuration (ou dans la
section par defaut du fichier de configuration). A part default_ca, les
options suivantes sont lues directement dans la section ca:
RANDFILE
preserve
msie_hack A l'exception de RANDFILE, ceci est probablement un bogue et
risque d'etre modifie dans les versions futures. De nombreuses options
du fichier de configuration sont identiques a celles de la ligne de
commande. Si une option est presente a 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 decrite comme obligatoire doit
etre presente soit dans le fichier de configuration soit sur la ligne
de commande (si c'est possible).
oid_file
Ceci specifie le fichier contenant des IDENTIFIANTS D'OBJET)
supplementaires. Chaque ligne consiste en la forme numerique de
l'identifiant d'objet suivi par des espaces puis le libelle court
suivi a son tour par des espaces et finalement le libelle long.
oid_section
Ceci specifie une section du fichier de configuration contenant
d'autres identifiants d'objet. Chaque ligne est constituee du
libelle court de l'identifiant d'objet suivi de = et de la forme
numerique. Le libelle court et le libelle long sont identiques
quand cette option est utilisee.
new_certs_dir
identique a l'option de ligne de commande -outdir. On specifie le
repertoire ou les nouveaux certificats seront places. Obligatoire.
certificate
identique a -cert. Elle specifie le fichier contenant le certificat
de la CA. Obligatoire.
private_key
identique a l'option -keyfile. Le fichier contenant la cle privee
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 a l'option -days. Le nombre de jours qu'un certificat
sera certifie.
default_startdate
identique a l'option -startdate. La date de debut de validite du
certificat. Si cette option est absente, la date actuelle sera
utilisee.
default_enddate
identique a l'option -enddate. Soit cette option, soit default_days
(ou les equivalents en mode ligne de commande) doivent etre
present.
default_crl_hours default_crl_days
identiques aux options -crlhours et -crldays. Uniquement utilisees
si aucune des options n'est presente sur la ligne de commande. Au
moins une de ces options doit etre specifiee pour generer une CRL.
default_md
identique a l'option -md. La type de condense de message a
utiliser. Obligatoire.
database
le fichier texte (base de donnees) a utiliser. Obligatoire. Ce
fichier doit etre present meme 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 a -extensions.
crl_extensions
identique a -crlexts.
preserve
identique a -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 a -msie_hack.
policy
identique a -policy. Obligatoire. Referez-vous a 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 etre identique au champ du meme nom du certificat de la CA. Si la
valeur est <<supplied>>, il doit etre present. Si la valeur est
<<optional>>, sa presence n'est pas obligatoire. Tout champ ne figurant
pas dans la section policy est supprime a moins que l'option
-preserveDN ne soit activee, mais c'est plus une bizarrerie qu'un
comportement attendu.
FORMAT SPKAC
L'entree fournit a la ligne de commande -spkac est une cle publique
signee Netscape et un defi. Ceci provient habituellement d'une balise
KEYGEN dans un formulaire HTML pour creer une nouvelle cle privee. Il
est toutefois possible de creer des SPKAC en utilisant l'utilitaire
spkac.
Le fichier devrait contenir la variable SPKAC avec la valeur de la clef
SPARK ainsi que les elements DN sous forme de paires nom-valeurs. Si
besoin est d'inclure le meme element plusieurs fois, il est possible de
le faire preceder par un nombre et un <<.>>.
EXEMPLES
Note: ces exemples supposent que l'arborescence ca est deja en place et
que les fichiers lies existent. Ceci necessite generalement la creation
d'un certificat et d'une cle privee pour la CA avec req, un fichier de
numero de serie et un fichier d'index vide. Tous ces fichiers doivent
etre places dans les repertoires correspondants.
Afin d'utiliser le fichier de configuration type ci-dessous, il faut
creer les repertoires demoCA, demoCA/private et demoCA/newcerts. Le
certificat de la CA doit etre copie dans demoCA/cacert.pem et sa cle
privee dans demoCA/private/cakey.pem. Un fichier demoCA/serial doit
etre cree contenant par exemple <<01>> et un fichier d'index vide doit
etre cree 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
Generer 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 tronquees pour la lisibilite):
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 entrees 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 defaut.
/usr/local/ssl/lib/openssl.cnf - fichier de configuration maitre
./demoCA - repertoire principal de la CA
./demoCA/cacert.pem - certificat de la CA
./demoCA/private/cakey.pem - cle privee de la CA
./demoCA/serial - fichier des numeros de serie de la CA
./demoCA/serial.old - sauvegarde de ./demoCA/serial
./demoCA/index.txt - base de donnees 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'alea de la CA
VARIABLES D'ENVIRONNEMENT
OPENSSL_CONF contient l'emplacement du fichier de configuration
principal qui peut etre modifie avec l'option en ligne de commande
-config.
RESTRICTIONS
Le fichier d'index est une partie cruciale du processus et toute
corruption peut s'averer difficile a rattraper. Bien qu'il soit
possible theoriquement de reconstruire l'index a partir des certificats
delivres et d'une CRL recente, aucune option ne permet de faire cela.
Les fonctionnalites des CRL V2 telles que le support des delta CRL ne
sont pas gerees actuellement.
Meme s'il est possible d'entrer et de traiter plusieurs demandes en
meme temps, il est impossible d'inclure plus d'un SPKAC ou certificat
auto-signe.
BOGUES
L'utilisation d'une base de donnees texte en memoire peut s'averer
problematique, en particulier avec un nombre important de certificats a
gerer, justement du fait que cette base se trouve en memoire.
La commande ca a reellement besoin d'etre reecrite ou les
fonctionnalites necessaires devraient etre fournie par une commande ou
interface pour permettre a des utilitaires plus orientes 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 resulter en un fichier vide.
AVERTISSEMENTS
La commande ca est capricieuse et parfois pas tres confortable
d'utilisation.
La commende ca a eu pour objectif initial d'etre un exemple montrant
comment se servir d'une CA. Il n'a pas ete cree pour servir
d'application pour un CA complete, 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'acces simultanees a un meme fichier d'index peuvent produire des
resultats imprevisibles.
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 ete 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.