Provided by:
manpages-fr-extra_20101103_all 
NOM
req - utilitaire de generation 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]
DESCRIPTION
La commande req cree et traite des demandes de certificats au format
PKCS#10. En plus, elle peut creer des certificats autosignes servant
par exemple comme CA racine.
OPTIONS DE LA COMMANDE
-inform DER|PEM
Ceci specifie le format d'entree. L'option DER utilise l'encodage
ASN1 DER compatible avec le format PKCS#10. La forme PEM est le
format par defaut : il s'agit du format DER encodee base64 avec des
lignes supplementaires au debut et a la fin.
-outform DER|PEM
Specifie le format de sortie. Les options ont la meme signification
que pour l'option -inform.
-in nom_fichier
Ceci specifie le nom du fichier d'entree a partir duquel la demande
est lue. Par defaut, l'entree standard sera lue si cette option
n'est pas specifiee. Une demande est uniquement lue si les options
de creation (-new et -newkey) ne sont pas specifiees.
-passin param
la source de mot de passe d'entree. Pour plus d'informations
concernant le format de param, referez-vous a la section PHRASE DE
PASSE EN PARAM`ETRE d'openssl(1).
-out nom_fichier
Ceci specifie le nom du fichier de sortie. La sortie standard est
utilisee par defaut.
-passout param
la source de mot de passe pour le fichier de sortie. Pour plus
d'informations concernant le format de param, referez-vous a la
section PHRASE DE PASSE EN PARAM`ETRE d'openssl(1).
-text
Affiche la demande de certificat au format texte.
-pubkey
Produit la cle publique.
-noout
Cette option empeche la sortie de la version encodee de la demande.
-modulus
Cette option affiche la valeur du modulo de la cle publique
contenue dans la demande.
-verify
Verifie la signature de la demande.
-new
Cette option genere une nouvelle demande de certificat. Il sera
demande a l'utilisateur de fournir les valeurs des champs
necessaires. Ces champs demandes sont specifies ainsi que leur
valeurs maximales et minimales sont specifiees dans le fichier de
configuration ainsi que dans les extensions.
Si l'option -key n'est pas utilisee, une nouvelle cle privee RSA
sera generee en utilisant l'information du fichier de
configuration.
-rand fichier(s)
Un ou plusieurs fichiers contenant des donnees aleatoires utilisees
pour initialiser le generateur de nombres pseudo-aleatoires, ou une
socket EGD (consultez RAND_egd(3)). Plusieurs fichiers peuvent etre
specifies en les separant par le separateur du systeme
d'exploitation: <<;>> pour MS-Windows, <<,>> pour OpenVMS et <<:>>
pour tous les autres.
-newkey param
Cette option cree une nouvelle demande de certificat et une
nouvelle cle privee. Le parametre utilise l'une des deux formes
suivantes: rsa:nombre_bits, ou nombre_bits est le nombre de bits,
genere une cle RSA de taille nombre_bits, dsa:nom_fichier genere
une cle DSA utilisant les parametres de nom_fichier.
-key nom_fichier
Ceci specifie le fichier de cle privee a lire. Il accepte aussi
bien des cles privees au format PKCS#8 que des fichiers au format
PEM.
-keyform PEM|DER
Le format de la cle privee specifiee avec l'option -key. PEM est le
format par defaut.
-keyout nom_fichier
Ceci donne le nom de fichier ou la cle privee creee sera ecrite.
Par defaut, le nom specifie par le fichier de configuration est
utilise.
-nodes
Avec cette option, si une cle privee est creee, elle ne sera pas
chiffree.
-[md5|sha1|md2|mdc2]
Ceci specifie le type de condense a utiliser pour signer la
demande. Si elle est presente, cette option prevaut a celle donnee
dans le fichier de configuration. Cette option est ignoree pour les
demandes DSA: elles utilisent toujours SHA1.
-config nom_fichier
Ceci permet d'utiliser un fichier de configuration alternatif, a la
place de celui specifie 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 utilisee, alors la valeur de l'UID est
123456+CN=John Doe.
-x509
Cette option genere un certificat auto-signe a la place d'une
demande de certificat. Elle est utilisee typiquement pour generer
des certificats de test ou le certificat auto-signe racine d'une
CA. Les extensions a ajouter au certificat, s'il y en a, sont
specifiees dans le fichier de configuration. A moins qu'il ne soit
precise par l'option set_serial, le numero de serie sera 0.
-days n
Lorsque l'option -x509 est utilisee, elle specifie le nombre de
jours pour lequel le certificat sera certifie. La valeur par defaut
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 precisent des sections alternatives d'extension de
certificat (si l'option -x509 est presente), ou de demandes de
certificat a inclure. Ceci permet d'utiliser des sections
differentes du meme fichier de configuration servant a des propos
varies.
-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.
-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 defaut, la commande req genere 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 precisement, les attributs d'une demande de certificat PKCS#10
sont definies comme un ensemble d'attributes (SET OF Attribute).
Ils ne sont pas de type OPTIONAL, ainsi, si aucun attribut n'est
present, une entree vide SET OF devrait le signaler. La forme non
valable n'inclut pas cette entree alors que la forme valable le
fait.
Notons que tres peu de CAs necessitent encore l'utilisation de
cette option.
-newhdr
Ajoute le mot NEW aux lignes de tete et de fin du fichier PEM de la
demande de certificat creee. 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
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.
FORMAT DU FICHIER DE CONFIGURATION
Les options de configuration sont specifiees dans la section req du
fichier de configuration. Comme avec tous les fichiers de
configuration, si aucune valeur n'est donnee dans la section
correspondante (c'est-a-dire req), la section initiale sans nom ou la
section default est egalement parcourue.
Les options disponibles sont decrites en detail ci-dessous.
input_password output_password
Les mots de passe pour le fichier de cle privee d'entree (si
present) et pour le fichier de cle privee de sortie (si une cle est
creee). Les options de ligne de commande passin et passout
remplacent les valeurs du fichier de configuration.
default_bits
Ceci specifie la taille par defaut des cles, en bits. Si elle n'est
pas specifiee, la valeur 512 est utilisee. Elle est utilisee lors
de l'emploi de l'option -new. Elle peut etre ecrasee par l'option
-newkey.
default_keyfile
Ceci est le nom de fichier par defaut ou la cle privee sera ecrite.
Si elle n'est pas specifiee, la cle sera ecrite sur la sortie
standard. Ceci peut etre ecrase par l'option -keyout.
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.
RANDFILE
Ceci specifie le fichier ou les graines pour les nombres aleatoires
sont lues et ecrites, ou une socket EGD (consultez RAND_egd(3)).
C'est utilise pour la generation de cle privee.
encrypt_key
Si ceci vaut no, lors de la generation d'une cle privee, elle n'est
pas chiffree. Ceci equivaut a l'option -nodes de la ligne de
commande. Pour assurer la compatibilite, encrypt_rsa_key est une
option equivalente.
default_md
Cette option specifie l'algorithme a utiliser pour les condenses.
Les valeurs possibles sont md5 sha1 mdc2. Si cette option n'est pas
presente, MD5 sera utilise. Cette option peut etre ecrasee avec
l'option correspondante de la ligne de commande.
string_mask
Cette option masque l'utilisation de certains types de chaine de
caracteres 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 defaut et qui utilise PrintableStrings, T61Strings et
BMPStrings. Si la valeur pkix est specifiee, uniquement
PrintableStrings et BMPStrings seront utilises. Ceci suit la
recommandation PKIX dans la RFC2459. Si l'option utf8only est
employee, alors seules les UTF8Strings sont employes: ceci est la
recommandation PKIX dans la RFC2459 pour apres 2003. Finalement
l'option nombstr utilise seulement PrintableStrings et T61Strings:
certains logiciels ont des problemes avec les BMPStrings et les
UTF8Strings, en particulier Netscape.
req_extensions
Ceci specifie la section du fichier de configuration contenant une
liste d'extensions a ajouter a la demande de certificat. Elle peut
etre remplacee par l'option -reqexts de la ligne de commande.
x509_extensions
Ceci specifie la section du fichier de configuration contenant une
liste d'extensions a ajouter au certificats generes avec l'option
-x509. Elle peut etre remplacee par l'option -extensions de la
ligne de commande.
prompt
Si ceci vaut no, aucun champ du certificat ne sera demande a
l'utilisateur et les valeurs du fichier de configuration sont
prises d'office. Ceci change egalement 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 specifie la section contenant les attributs pour les demandes:
son format est identique a celui de la section distinguished_name.
Typiquement, ces attributs contiennent les types challengePassword
et unstructuredName. Ils sont actuellement ignores par les
utilitaires de signature d'OpenSSL mais peuvent etre requis par
certaines CAs.
distinguished_name
Ceci specifie la section contenant les champs des noms distingues
(<<distinguished name>>) a demander lors d'une generation de
certificat ou d'une demande de certificat. Le format est decrit
dans la section suivante.
FORMAT DES SECTIONS DE NOM DISTINGU'E ET D'ATTRIBUT
Il y a deux formats differents pour les sections de nom distingue 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 generer un fichier modele a passer a 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 a l'invite de
commandes. Ceci se presente sous la forme suivante:
nomChamp="invite"
nomChamp_default="Valeur du champ par defaut"
nomChamp_min= 2
nomChamp_max= 4
<<nomChamp>> est le nom du champ a utiliser, par exemple commonName (ou
CN, nom commun). La chaine <<invite>> est affichee lors de la demande a
l'utilisateur. Si l'utilisateur ne saisit rien, alors la valeur par
defaut, <<nomChamp_default>>, est prise, si presente, ou alors le champ
est omis. Un champ peut toujours etre omis en saisissant uniquement le
caractere <<.>>.
Le nombre de caracteres saisis doit etre entre les limites de
nomChamp_min et nomChamp_max: il peut y avoir d'autres contraintes
basees sur le champ utilise (par exemple, countryName doit toujours
avoir une longueur de deux et doit entrer dans un PrintableString).
Certains champs (comme organizationName) peuvent etre utilises plus
d'une fois dans un DN. Ceci pose probleme car dans les fichiers de
configuration, le meme nom de champ ne sera pas pris en compte a deux
reprises. Pour eviter ce probleme, si le nomChamp contient des
caracteres suivi d'un point (<<.>>), ils seront ignores. Ainsi, par
exemple, une deuxieme entree pour organizationName peut etre entree en
l'appelant <<1.organizationName>>.
Les noms de champ permis sont les libelles longs ou courts de tous les
identifiants d'objet. Ceux-ci sont compiles avec OpenSSL et incluent
les libelles longs usuels comme commonName, countryName, localityName,
organizationName, organizationUnitName, stateOrProvinceName. En plus,
emailAddress est present tout comme name, surname, givenName, initials
et dnQualifier.
Des identifiants d'objet supplementaires peuvent etre definis dans un
fichier (oid_file) ou une section (oid_section) dans le fichier de
configuration. Tous les champs supplementaires sont traites comme des
DirectoryString.
EXEMPLES
Examiner et verifier une demande de certificat:
openssl req -in req.pem -text -verify -noout
Creer une cle privee et generer la demande de certificat
correspondante:
openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -out req.pem
La meme chose en utilisant uniquement req:
openssl req -newkey rsa:1024 -keyout key.pem -out req.pem
Generer un certificat auto-signe racine:
openssl req -x509 -newkey rsa:1024 -keyout key.pem -out req.pem
Exemple d'un fichier specifie 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 etre reference 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'unite dans l'organisation (par exemple, la section)
commonName = Nom commun (par exemple, VOTRE nom)
commonName_max = 64
emailAddress = Adresse electronique
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_cle.pem
distinguished_name = req_noms_distingue
attributes = req_attributs
prompt = no
output_password = mon_pass
[ req_distinguished_name ]
C = FR
ST = Departement de test
L = Lieu de test
O = Nom de l'organisation
OU = Nom de l'unite dans l'organisation
CN = Nom commun
emailAddress = test@email.adresse
[ req_attributes ]
challengePassword = A challenge password
NOTES
Les lignes de tete et de fin dans le format PEM sont normalement:
-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
Certains logiciels (certaines versions de Netscape certificate server)
necessitent a la place:
-----BEGIN NEW CERTIFICATE REQUEST-----
-----END NEW CERTIFICATE REQUEST-----
qui est produit avec l'option -newhdr mais reste compatible autrement.
A l'entree, les deux versions sont acceptees de facon transparente.
Les demandes de certificat generees par Xenroll avec MSIE ont des
extensions supplementaires. Elles incluent une extension keyUsage qui
determine le type de la cle (signature ou general) et tous les OIDs
supplementaires entres par le script dans une extension
extendedKeyUsage.
DIAGNOSTIC
Les messages suivants soulevent souvent des interrogations:
Using configuration from /some/path/openssl.cnf
Unable to load config info
Qui est suivi peu apres 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 operations (telle que la verification d'une
demande de certificat) ne necessitent pas de fichier de configuration,
alors son utilisation n'est pas renforcee. La generation de certificats
ou de demandes, au contraire, necessitent un fichier de configuration.
Ceci peut etre considere comme un bogue.
Un autre message portant a confusion est:
Attributes:
a0:00
Ceci est affiche lorsqu'aucun attribut n'est present 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.
Referez-vous a la description de l'option -asn1-kludge pour plus
d'information.
VARIABLES D'ENVIRONNEMENT
La variable OPENSSL_CONF si definie permet un fichier de configuration
alternatif. Un autre fichier sera utilise si l'option -config de la
ligne de commande est presente. Pour des raisons de compatibilite, la
variable SSLEAY_CONF a la meme utilisation, mais son utilisation est
deconseille.
BOGUES
La gestion des T61Strings (ou TeletexStrings) est cassee: elles sont
traitees effectivement comme des chaines ISO-8859-1 (Latin 1), Netscape
et MSIE ont un comportement similaire. Ceci peut poser probleme lorsque
vous avez besoin de caracteres qui ne sont pas disponibles dans les
PrintableStrings et que vous ne voulez ou pouvez pas utiliser les
BMPStrings.
La consequence de cette gestion de T61String est que la seule facon
correcte de representer des caracteres accentues dans OpenSSL est
d'utiliser un BMPString: malheureusement, Netscape ne les aime pas.
Ainsi, pour utiliser les caracteres accentues avec Netscape et MSIE,
vous devrez utiliser actuellement le format non valable des T61Strings.
La demande a l'invite de commande n'est pas tres ergonomique. Vous ne
pouvez confirmer les saisies et les extensions doivent etre definies de
facon statique dans le fichier de configuration. Quelques-unes comme
par exemple une adresse electronique dans le subjectAltName devraient
etre donnees par l'utilisateur.
VOIR AUSSI
x509(1), ca(1), genrsa(1), gendsa(1), config(5)
TRADUCTION
Cette page de manuel a ete 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.