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] [-nodes] [-noiter] [-maciter]
[-twopass] [-descert] [-certpbe] [-keypbe] [-keyex] [-keysig]
[-password param] [-passin param] [-passout param] [-rand fichier(s)]
La commande pkcs12 permet la création et l’interprétation de fichiers
PKCS#12 (parfois également appellés PFX). Les fichiers PKCS#12 sont
utilisés par plusieurs programmes, entre autres Netscape, MSIE et
MSOutlook.
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. L’opération par défaut est
l’interprétation, pour la création d’un fichier PKCS#12, il faut
utiliser l’option -export.
OPTIONS D’INTERPRÉTATION
-in nom_fichier
Ceci spécifie 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 clés
privées. Par défaut ce sera la sortie standard. Ils sont tous
écrits au format PEM.
-pass param, -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 DE PASSE EN PARAMÈTRE d’openssl(1).
-passout param
La source de mot de passe à utiliser pour le chiffrement des clés
privées sorties. Pour plus d’informations sur le format de param,
voir la section PHRASE DE PASSE EN PARAMÈTRE d’openssl(1).
-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 agorithmes 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.
-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
Demande 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 spécifie qu’un fichier PKCS#12 sera généré plutôt que
lu.
-out nom_fichier
Ceci spécifie 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 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 devrait être présent.
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 nomconvivial
Ceci spécifie le nom convivial du certificat et de la clé 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 nomconvivial
Ceci spécifie 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 DE PASSE EN PARAMÈTRE d’openssl(1).
-passin motdepasse
La source de mot de passe à utiliser pour l’encodage des clés
privées de sortie. Pour plus d’informations sur le format de param,
voir la section PHRASE DE PASSE 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, ceci peut rendre le certificat
inutilisable avec certains logiciels «export grade». 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. Même si tous les algorithmes
PKCS#5 v1.5 ou PKCS#12 sont pris en compte, il est conseillé
d’utiliser uniquement PKCS#12. Référez-vous à la liste dans la
section NOTES pour plus de détails.
-keyex|-keysig
Spécifie 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.
-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 mot de passe communs, l’algorithme dérivant les clés des mots de
passe peut se voir appliqué un nombre d’itérations: ceci 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 mises à 1. Comme ceci réduit la sécurité
des informations, elles ne devraient être utilisées qu’en cas de
nécessité. La plupart des logiciels supportent un nombre arbitraire
d’itération et pour MAC et pour l’encodage. MSIE 4.0 ne le supporte
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.
-rand fichier(s)
Un ou plusieurs fichiers contenant des données aléatoires utilisées
pour initialiser le générateur de nombres pseudo-aléatoires, ou une
socket EGD (consultez RAND_egd(3)). Plusieurs fichiers peuvent être
spécifiés en les séparant par le séparateur du système
d’exploitation: «;» pour MS-Windows, «,» pour OpenVMS et «:» pour
tous les autres.
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: ceci 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ées à 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 file.p12 -out file.pem
Sortie des certificats clients uniquement:
openssl pkcs12 -in file.p12 -clcerts -out file.pem
Ne pas chiffrer la clé privée:
openssl pkcs12 -in file.p12 -out file.pem -nodes
Afficher les informations sur un fichier PKCS#12:
openssl pkcs12 -in file.p12 -info -noout
Créer un fichier PKCS#12:
openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate"
Inclure des certificats supplémentaires:
openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate" \
-certfile othercerts.pem
BOGUES
Certains disent que tout le standard PKCS#12 est un seul grand 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, ceci
pouvait conduire à un fichier PKCS#12 chiffré avec une clé non valable.
Ainsi certains fichiers PKCS#12 d’autres implémentations (MSIE ou
Netscape) et qui déclenchaient ce bogues ne pouvaient être déchiffrés
par OpenSSL et inversement OpenSSL produisait des fichier non
déchiffrable par d’autres implémentations. La probabilité de produire
un tels fichiers 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 valide, 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 régénérant le
fichier PKCS#12 avec une version plus récente à partir des clés et des
certificats. Par exemple:
old-openssl -in bad.p12 -out keycerts.pem
openssl -in keycerts.pem -export -name "My PKCS#12 file" -out fixed.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.