NOM¶
pkcs12 - Utilitaire pour les fichiers PKCS#12
SYNOPSIS¶
openssl pkcs12 [
-export] [
-chain] [
-inkey
nom_fichier] [
-certfile nom_fichier] [
-name
nom] [
-caname nom] [
-in nom_fichier]
[
-out nom_fichier] [
-noout] [
-nomacver] [
-nocerts] [
-clcerts] [
-cacerts] [
-nokeys]
[
-info] [
-des |
-des3 |
-idea |
-aes128 |
-aes192 |
-aes256 |
-camellia128 |
-camellia192 |
-camellia256 |
-nodes] [
-noiter] [
-maciter|
-nomaciter|
-nomac] [
-twopass]
[
-descert] [
-certpbe alg] [
-keypbe alg]
[
-macalg sign] [
-keyex] [
-keysig]
[
-password param] [
-passin param] [
-passout
param] [
-rand fichier(s)] [
-CAfile fichier]
[
-CApath rép] [
-CSP nom]
DESCRIPTION¶
La commande
pkcs12 permet la création et l'interprétation
de fichiers PKCS#12 (parfois également appelés PFX). Les
fichiers PKCS#12 sont utilisés par plusieurs programmes, entre autres
Netscape, MSIE et MS Outlook.
OPTIONS DE LA COMMANDE¶
Il y a de nombreuses options dont certaines diffèrent selon que l'on
génère ou interprète un fichier PKCS#12.
L'opération par défaut est l'interprétation de fichier
PKCS#12. Pour la création d'un fichier PKCS#12, il faut utiliser
l'option
-export (voir ci-dessous).
OPTIONS D'INTERPRÉTATION¶
- -in nom_fichier
- Indique le nom du fichier PKCS#12 à interpréter. Par
défaut, l'entrée standard est lue.
- -out nom_fichier
- Le nom du fichier où seront écrits les certificats et les
clés privées. Par défaut, ce sera la sortie standard.
Ils sont tous écrits au format PEM.
- -passin param
- Le fichier PKCS#12 source des mots de passe (c'est-à-dire le
fichier d'entrée). Pour plus d'informations sur le format de
param, voir la section PARAMÈTRES DE PHRASE
SECRÈTE d' openssl(1).
- -passout param
- La source de la phrase secrète à utiliser pour le
chiffrement des clés privées générées.
Pour plus de renseignements sur le format de param, consultez la
section PARAMÈTRES DE PHRASE SECRÈTE d'
openssl(1).
- -password param
- Avec -export, -password est équivalent à
-passout. Sinon, -password est équivalent à
-passin.
- -noout
- Cette option empêche l'ajout des clés et des certificats
vers la version de sortie du fichier PKCS#12.
- -clcerts
- Sortie uniquement des certificats clients (et non des certificats
CA).
- -cacerts
- Sortie uniquement des certificats CA (et non des certificats
clients).
- -nocerts
- Aucun certificat ne sera sorti.
- -nokeys
- Aucune clé privée ne sera sortie.
- -info
- Sortie d'informations supplémentaires sur la structure du fichier
PKCS#12, sur les algorithmes employés et sur les nombres
d'itérations.
- -des
- Utilisation du chiffrement DES pour les clés privées avant
la sortie.
- -des3
- Utilisation du chiffrement triple DES pour les clés privées
avant la sortie, c'est l'algorithme utilisé par défaut.
- -idea
- Utilisation du chiffrement IDEA pour les clés privées avant
la sortie.
- -aes128, -aes192, -aes256
- Utilisation du chiffrement AES pour les clés privées avant
la sortie.
- -camellia128, -camellia192, -camellia256
- Utilisation du chiffrement Camellia pour les clés privées
avant la sortie.
- -nodes
- Ne pas chiffrer les clés privées du tout.
- -nomacver
- Ne pas vérifier l'intégrité MAC avant la lecture du
fichier.
- -twopass
- Demander des mots de passe distincts pour l'intégrité et le
chiffrement ; la plupart des logiciels supposent toujours
l'égalité, ainsi cette option rendra le fichier PKCS#12
illisible pour ces logiciels.
OPTIONS DE CRÉATION DE FICHIER¶
- -export
- Cette option indique qu'un fichier PKCS#12 sera
généré plutôt qu'analysé.
- -out nom_fichier
- Indique le nom du fichier PKCS#12 de sortie. La sortie standard est
utilisée par défaut.
- -in nom_fichier
- Le nom du fichier à partir duquel les certificats et les
clés privées sont lues. Par défaut, ce sera
l'entrée standard. Ils doivent tous être au format PEM.
L'ordre n'est pas important, mais une clé privée et le
certificat correspondant devraient être présents. Si des
certificats supplémentaires sont présents, ils seront
également inclus dans le fichier PKCS#12.
- -inkey nom_fichier
- Le fichier à partir duquel sera lue la clé privée. Si
cette option n'est pas présente, la clé doit faire partie du
fichier d'entrée.
- -name nom
- Indique le nom convivial du certificat et de la clé
privée. Ce nom est normalement affiché dans les
contrôles de liste par les logiciels qui utilisent ce fichier.
- -certfile nom_fichier
- Un nom de fichier à partir duquel des certificats
supplémentaires seront lus.
- -caname nom
- Indique le nom convivial pour d'autres certificats. Cette option
peut être utilisée plusieurs fois et correspondre alors aux
certificats dans l'ordre d'apparition. Netscape ignore les noms conviviaux
des autres certificats alors que MSIE les affiche.
- -pass param, -passout param
- Le fichier PKCS#12 source des mots de passe (c'est-à-dire le
fichier d'entrée). Pour plus d'informations sur le format de
param, voir la section PARAMÈTRES DE PHRASE
SECRÈTE d' openssl(1).
- -passin param
- La source de la phrase secrète à utiliser pour l'encodage
des clés privées de sortie. Pour plus d'informations sur le
format de param, consultez la section PARAMÈTRES DE
PHRASE SECRÈTE d' openssl(1).
- -chain
- Avec cette option, le programme tente d'inclure toute la chaîne de
certification dans le certificat utilisateur. Le répertoire
standard CA est utilisé pour cette recherche. Un échec de
cette recherche est considérée comme une erreur fatale.
- -descert
- Chiffrer le certificat avec DES, cela peut rendre le certificat
inutilisable avec certains logiciels autorisés à
l'exportation (« export grade », utilisation
d'un chiffrement faible). Par défaut, la clé privée
est chiffrée en triple DES et le certificat en utilisant un RC2
à 40 bits.
- -keypbe alg, -certpbe alg
- Ces options permettent le choix de l'algorithme de chiffrement pour la
clé privée et les certificats. Tous les noms d'algorithme
PKCS#5 v1.5 ou PKCS#12 PBE peuvent être
utilisés (consultez la section NOTES pour obtenir plus de
renseignements). Si un nom d'algorithme (comme ceux affichés par la
commande list-cipher-algorithms) est indiqué, alors il est
utilisé avec PKCS#5 v2.0. Pour des raisons
d'interopérabilité, il est conseillé de n'utiliser
que les algorithmes PKCS#12.
- -keyex|-keysig
- Indique que la clé privée est utilisée uniquement
pour l'échange de clé ou la signature. Cette option est
uniquement interprétée par MSIE et des produits similaires
MS. Normalement, des logiciels « export
grade » permettent seulement l'échange de clés
RSA à 512 bits pour le chiffrement, et une clé de
longueur arbitraire pour la signature. L'option -keysig marque la
clé pour une utilisation exclusivement pour des signatures. Une
telle clé peut alors être utilisée pour la signature
S/MIME, authenticode (signature par contrôles ActiveX) et
l'identification de clients SSL, toutefois, uniquement MSIE 5.0 et
supérieur supportent l'utilisation de clés de signature pour
l'identification de clients SSL.
- -macalg sign
- Indiquer l'algorithme de signature MAC. Sans précision, SHA1 sera
utilisé.
- -nomaciter, -noiter
- Ces options déterminent le nombre d'itérations pour les
algorithmes MAC et certains algorithmes de clés. À moins de
vouloir produire des fichiers compatibles avec MSIE 4.0, ces
options peuvent être omises.
Pour décourager des attaques utilisant des dictionnaires importants
de mots de passe communs, l'algorithme dérivant les clés des
mots de passe peut se voir appliqué un nombre
d'itérations : cela a pour effet de répéter
une certaine partie de l'algorithme et ralentit l'opération. Le MAC
est employé pour s'assurer l'intégrité du fichier,
mais comme il aura normalement le même mot de passe que les
clés et les certificats, il peut aussi se voir attaqué. Par
défaut, le nombre d'itérations du MAC et du chiffrement sont
de 2048, en utilisant ces options, le nombre d'itérations MAC et du
chiffrement peuvent être mis à 1. Comme cela réduit
la sécurité des informations, elles ne devraient être
utilisées qu'en cas de nécessité. La plupart des
logiciels acceptent un nombre arbitraire d'itérations et pour MAC
et pour l'encodage. MSIE 4.0 ne le prend pas en charge pour MAC et
nécessite alors l'option -nomaciter.
- -maciter
- Cette option est incluse pour assurer la compatibilité avec
d'anciennes versions pour forcer le nombre d'itérations pour MAC.
C'est actuellement le comportement par défaut.
- -nomac
- Ne pas essayer de fournir l'intégrité MAC.
- -rand fichier(s)
- Un ou plusieurs fichiers contenant des données aléatoires
utilisées pour initialiser le générateur de nombres
pseudoaléatoires, ou une socket EGD (consultez RAND_egd(3)).
Plusieurs fichiers peuvent être indiqués en utilisant le
séparateur du système d'exploitation :
« ; » pour Windows, «
, » pour OpenVMS et
« : » pour tous les autres.
- -CAfile fichier
- Stockage d'autorité de certification en tant que fichier.
- -CApath rép
- Stockage d'autorité de certification en tant que répertoire.
Ce répertoire doit être un répertoire de certificats
standard : c'est-à-dire avec des liens correspondant aux
hachages des noms d'objet (obtenu par x509 -hash) pointant vers
chaque certificat.
- -CSP nom
- Écrire un nom comme un nom CSP Microsoft
NOTES¶
Malgré le nombre important d'options, la plupart de celles-ci ne sont
utilisées que très rarement. Pour l'interprétation de
fichiers PKCS#12, seules
-in et
-out sont nécessaires,
pour la création,
-export et
-name sont utilisées
également.
Si aucune des options
-clcerts,
-cacerts ou
-nocerts n'est
présente, alors tous les certificats seront
générés dans l'ordre d'apparence dans les fichiers source
PKCS#12. De plus, il n'y a aucune garantie que le premier certificat
trouvé est celui correspondant à la clé privée.
Certains logiciels nécessitant une clé privée supposent
que le premier certificat du fichier correspond à la clé
privée : cela n'est pas forcément toujours le cas. En
utilisant l'option l'option
-clcerts le problème est
résolu en incluant uniquement le certificat correspondant à la
clé privée. Si besoin est, les certificats CA peuvent
être générés à part avec les options
-nokeys -cacerts.
Les options
-keypbe et
-certpbe permettent de préciser
l'algorithme de chiffrement pour la clé privée et pour les
certificats. Normalement, les valeurs par défauts devraient convenir,
mais certains logiciels ne gèrent pas les clés privées
encodées avec triple DES, alors l'option
-keypbe
PBE-SHA1-RC2-40 réduit le chiffrement de la clé
privée à un RC2 de 40 bits. Une description
complète de tous les algorithmes est contenue dans la page de manuel de
pkcs8.
EXEMPLES¶
Interprétation d'un fichier PKCS#12 et sortie vers un fichier :
openssl pkcs12 -in fichier.p12 -out fichier.pem
Sortie des certificats clients uniquement :
openssl pkcs12 -in fichier.p12 -clcerts -out fichier.pem
Ne pas chiffrer la clé privée :
openssl pkcs12 -in fichier.p12 -out fichier.pem -nodes
Afficher les informations sur un fichier PKCS#12 :
openssl pkcs12 -in fichier.p12 -info -noout
Créer un fichier PKCS#12 :
openssl pkcs12 -export -in fichier.pem -out fichier.p12 \
-name "Mon certificat"
Inclure des certificats supplémentaires :
openssl pkcs12 -export -in fichier.pem -out fichier.p12 \
-name "Mon certificat" -certfile autres_cert.pem
BOGUES¶
Certains disent que toute la norme PKCS#12 n'est qu'un gros bogue.
Les versions d'OpenSSL avant 0.9.6a avaient un bogue dans les routines de
génération de clé PKCS#12. Sous certaines circonstances
rares, cela pouvait conduire à un fichier PKCS#12 chiffré avec
une clé non valable. Ainsi certains fichiers PKCS#12 d'autres
implémentations (MSIE ou Netscape) qui déclenchaient ce bogue ne
pouvaient pas être déchiffrés par OpenSSL et inversement
OpenSSL produisait des fichiers non déchiffrables par d'autres
implémentations. La probabilité de produire un tel fichier est
relativement faible : inférieure à 1 sur 256.
Une conséquence de la correction de ce bogue est que de tels fichiers
PKCS#12 ne peuvent être interprétés avec une version
corrigée. L'utilitaire
pkcs12 signale alors que le MAC est
valable, mais le déchiffrement des clés privées extraites
est voué à l'échec.
Ce problème peut être contourné en extrayant les
clés privées et les certificats avec une version ancienne
d'OpenSSL puis en recréant le fichier PKCS#12 avec une version plus
récente à partir des clés et des certificats. Par
exemple :
old-openssl -in mauvais.p12 -out cert_clé.pem
openssl -in cert_clé.pem -export -name "Mon fichier PKCS#12" \
-out corrige.p12
VOIR AUSSI¶
pkcs8(1)
TRADUCTION¶
Cette page de manuel a été traduite par Eltrai 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.