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 de fichier où seront écrits les
certificats et les clefs 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 PHRASE SECRÈTE EN
PARAMÈTRE d' openssl(1).
- -passout param
- La source de la phrase secrète à utiliser pour le
chiffrement des clefs privées sorties. Pour plus de renseignements
sur le format de param, consultez la section PHRASE SECRÈTE
EN PARAMÈTRE d' openssl(1).
- -password param
- Avec -export, -password est équivalent
à -passout. Sinon, -password est équivalent à
-passin.
- -noout
- Cette option empêche l'ajout des clefs 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 clef 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 clefs privées
avant la sortie.
- -des3
- Utilisation du chiffrement triple DES pour les clefs
privées avant la sortie, c'est l'algorithme utilisé par
défaut.
- -idea
- Utilisation du chiffrement IDEA pour les clefs privées
avant la sortie.
- -aes128, -aes192, -aes256
- Utilisation du chiffrement AES pour les clefs privées
avant la sortie.
- -camellia128, -camellia192,
-camellia256
- Utilisation du chiffrement Camellia pour les clefs
privées avant la sortie.
- -nodes
- Ne pas chiffrer les clefs 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 de fichier à partir duquel les certificats et
les clefs 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 clef 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 clef
privée. Si cette option n'est pas présente, la clef doit faire
partie du fichier d'entrée.
- -name nom
- Indique le nom convivial du certificat et de la clef
privée. Ce nom est typiquement 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 PHRASE SECRÈTE EN
PARAMÈTRE d' openssl(1).
- -passin param
- La source de la phrase secrète à utiliser pour
l'encodage des clefs privées de sortie. Pour plus d'informations sur
le format de param, consultez la section PHRASE SECRÈTE EN
PARAMÈTRE 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 clef 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 clef 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 clef privée est utilisée
uniquement pour l'échange de clef 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 clefs RSA à 512 bits pour le
chiffrement, et une clef de longueur arbitraire pour la signature.
L'option -keysig marque la clef pour une utilisation exclusivement
pour des signatures. Une telle clef 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 clefs 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 clefs. À 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
mot de passe communs, l'algorithme dérivant les clefs 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 clefs 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 mises à 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 pas
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
les séparant par 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 clef privée. Certains logiciels nécessitant une clef privée
supposent que le premier certificat du fichier correspond à la clef
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 clef 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 clef privée et pour les certificats.
Normalement, les valeurs par défauts devraient convenir, mais certains
logiciels ne gèrent pas les clefs privées encodées avec triple
DES, alors l'option
-keypbe PBE-SHA1-RC2-40 réduit le
chiffrement de la clef 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 clef 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 clef PKCS#12. Sous certaines circonstances rares, cela
pouvait conduire à un fichier PKCS#12 chiffré avec une clef 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 clefs privées extraites est
voué à l'échec.
Ce problème peut être contourné en extrayant les clefs
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 clefs et des certificats. Par exemple :
old-openssl -in mauvais.p12 -out cert_clef.pem
openssl -in cert_clef.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.