Provided by:
manpages-fr-extra_20090906_all 
NOM
pkcs8 - Utilitaire de conversion de clé privée PKCS#8
SYNOPSIS
openssl pkcs8 [-topk8] [-inform PEM|DER] [-outform PEM|DER] [-in
nom_fichier] [-passin param] [-out nom_fichier] [-passout param]
[-noiter] [-nocrypt] [-nooct] [-embed] [-nsdb] [-v2 alg] [-v1 alg]
[-engine id]
DESCRIPTION
La commande pkcs8 traite des clés privées au format PKCS#8. Elle
traite aussi bien le format PKCS#8 non encodé PrivateKeyInfo et
EncryptedPrivateKeyInfo, avec certains algorithmes PKCS#5 (v1.5 et
v2.0) et PKCS#12.
OPTIONS DE LA COMMANDE
-topk8
Par défaut, une clé privée PKCS#8 est attendue à l’entrée et
une clé privée au format traditionnel est produite. Avec l’option
-topk8, la situation est inversée: une clé privée au format
traditionnel est lue et une clé au format PKCS#8 sera produite.
-inform DER|PEM
Ceci spécifie le format d’entrée. Si une clé au format PKCS#8
est attendue à l’entrée, une version encodée DER ou PEM de la
clé PKCS#8 est acceptée. Autrement, une clé privée au format
traditionnel encodée DER ou PEM est prise.
-outform DER|PEM
Spécifie le format de sortie. Les options ont la même
signification que pour l’option -inform.
-in nom_fichier
Ceci spécifie le nom du fichier d’entrée à partir duquel la clé
sera lue. Par défaut, la clé est lue depuis l’entrée standard si
cette option est omise. Si la clé est chiffrée, un mot de passe
sera demandé à l’invite de commande.
-passin param
la source de mot de passe d’entrée. Pour plus d’informations
concernant le format de param, référez-vous à la section PHRASE
DE PASSE EN PARAMÃTRE d’openssl(1).
-out nom_fichier
Ceci spécifie le nom du fichier de sortie où la clé sera
écrite, sinon la sortie standard sera utilisée par défaut. Si
des options de chiffrement sont spécifiées, alors une phrase de
passe sera demandée. Le fichier de sortie ne doit pas être le
même que le fichier d’entrée.
-passout param
la source de mot de passe pour le fichier de sortie. Pour plus
d’informations concernant le format de param, référez-vous à la
section PHRASE DE PASSE EN PARAMÃTRE d’openssl(1).
-nocrypt
Les clés PKCS#8 générées ou reçues en entrée sont normalement
une structure PKCS#8 EncryptedPrivateKeyInfo et utilisent un
algorithme de chiffrement utilisant un mot de passe approprié.
Avec cette option, une structure PrivateKeyInfo non chiffrée est
attendue ou générée. Cette option ne chiffre pas les clés
privées et devrait être utilisée uniquement si c’est
nécessaire. Certains programmes comme certaines versions du
logiciel certifiant du code Java utilisaient des clés privées non
chiffrées.
-nooct
Cette option génère une clé privée RSA dans un format
déficient que certains programmes utilisent. Plus spécifiquement,
une clé privée doit être fournie dans une OCTET STRING mais
certains programmes incluent la structure même sans l’inclure dans
une OCTET STRING.
-embed
Cette option génère une clé privée DSA dans un format
déficient que certains programmes utilisent. Plus spécifiquement,
une clé privée doit être fournie dans une OCTET STRING mais
certains programmes incluent la structure même sans l’inclure dans
une OCTET STRING.
-nsdb
Cette option génère des clés DSA dans un format déficient
compatible avec les bases de données de clés privées Netscape.
La structure PrivateKey contient une SEQUENCE comprenant les clés
publiques et privées respectivement.
-v2 alg
Cette option active l’utilisation des algorithmes PKCS#5 v2.0.
Habituellement les clés privées PKCS#8 sont chiffrées avec un
algorithme à base de mots de passe nommé pbeWithMD5AndDES-CBC qui
utilisent un chiffrement DES à 56 bits, qui était l’algorithme de
chiffrement le plus fort pris en charge par PKCS#5 v1.5. En
utilisant l’option -v2, des algorithmes PKCS#5 v2.0 sont utilisés,
comme le triple DES Ã 168 bits ou encore RC2 Ã 128 bits. Toutefois
peu d’implémentations supportent PKCS#5 v2.0 à ce jour. Si vous
utilisez des clés privées uniquement avec OpenSSL, ceci n’importe
pas.
L’argument alg est l’algorithme de chiffrement à utiliser, qui peut
être entre autres des, des3 et rc2. L’utilisation de des3 est
recommandé.
-v1 alg
Cette option spécifie l’algorithme PKCS#5 v1.5 ou PKCS#12 Ã
utiliser. Une liste complète des algorithmes possibles est incluse
ci-dessous.
-engine id
spécifie un moteur (en utilisant son identifiant unique id) qui
indique à req d’essayer d’obtenir une référence fonctionnelle
pour le moteur spécifié, et l’initialiser si nécessaire. Le
moteur sera ensuite utilisé par défaut pour tous les algorithmes
disponibles.
NOTES
La version chiffrée PEM d’un fichier PKCS#8 utilise les lignes
suivantes au début et à la fin:
-----BEGIN ENCRYPTED PRIVATE KEY-----
-----END ENCRYPTED PRIVATE KEY-----
La version non chiffrée utilise:
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
Les clés privées utilisant des algorithmes PKCS#5 v2.0 avec un nombre
d’itérations élévées sont plus sûres que celle utilisant les
formats traditionnels compatible SSLeay. Ainsi, si on considère
importante cette sécurité supplémentaire, les clés devraient être
converties.
Le chiffrement par défaut est de seulement 56 bits car c’est
l’encodage que la plupart des implémentations de PKCS#8 récentes
gèrent.
Certains logiciels utilisent des algorithmes PKCS#12 de chiffrement Ã
base de mots de passe avec des clés privées au format PKCS#8: celles-
ci sont gérées automatiquement, mais il n’existe pas d’option pour
les produire.
Il est possible d’écrire des clés privées chiffrées au format DER
dans un format PKCS#8 car les détails du chiffrement sont inclus au
niveau ASN1 alors que le format traditionnel les inclut au niveau PEM.
Les algorithmes PKCS#5 v1.5 et PKCS#12.
Certains algorithmes peuvent être utilisés avec l’option -v1, y
compris PKCS#5 v1.5 et PKCS#12. Ils sont décrits d’avantage ci-
dessous.
PBE-MD2-DES PBE-MD5-DES
Ces algorithmes sont inclus dans la spécification PKCS#5 v1.5
originale. Ils offrent seulement 56 bits de protection comme ils
utilisent le DES tous les deux.
PBE-SHA1-RC2-64 PBE-MD2-RC2-64 PBE-MD5-RC2-64 PBE-SHA1-DES
Ces algorithmes ne sont pas mentionnés dans la spécification
originale PKCS#5 v1.5 mais ils utilisent le même algorithme de
dérivation de la clé et sont gérés par quelques logiciels. Ils
ont été cités dans PKCS#5 v2.0 et utilisent soit un RC2 à 64 bit
soit un DES Ã 56 bit.
PBE-SHA1-RC4-128 PBE-SHA1-RC4-40 PBE-SHA1-3DES PBE-SHA1-2DES
PBE-SHA1-RC2-128 PBE-SHA1-RC2-40
Ces algorithmes utilisent l’algorithme de chiffrement à base de
mots de passe PKCS#12 et permettent l’utilisation des algorithmes
de chiffrement fort comme le triple DES ou le RC2 Ã 128 bits.
EXEMPLES
Convertir une clé privée du format traditionnel vers PKCS#5 v2.0 en
utilisant le triple DES:
openssl pkcs8 -in key.pem -topk8 -v2 des3 -out enckey.pem
Convertir une clé privée PKCS#8 en utilisant un algorithme compatible
PKCS#5 1.5 (DES):
openssl pkcs8 -in key.pem -topk8 -out enckey.pem
Convertir une clé privée vers PKCS#8 en utilisant un algorithme
compatible PKCS#12 (3DES):
openssl pkcs8 -in key.pem -topk8 -out enckey.pem -v1 PBE-SHA1-3DES
Lire une clé privée DER non chiffrée au format PKCS#8:
openssl pkcs8 -inform DER -nocrypt -in key.der -out key.pem
Covertir une clé privée d’un format PKCS#8 quelconque vers le format
traditionnel:
openssl pkcs8 -in pk8.pem -out key.pem
NORMES
Des jeux de test de cette implémentation de PKCS#5 v2.0 ont été
postés sur la liste pkcs-tng en utilisant le triple DES, DES ou RC2
avec un nombre d’itérations élevé. Plusieurs personnes ont confirmé
qu’ils pouvaient déchiffrer les clés privées produites et ainsi on
peut supposer que l’implémentation PKCS#5 v2.0 est suffisamment
correcte au moins concernant ces algorithmes.
Le format des clés privées PKCS#8 DSA (entre autres) n’est pas bien
documenté, étant caché dans PKCS#11 v2.01, section 11.9. Le format
PKCS#8 DSA par défaut d’OpenSSL pour les clés privées respecte ce
standard.
BOGUES
Il devrait y avoir une option qui affiche l’algorithme de chiffrement
utilisé et d’autres détails comme le nombre d’itérations.
Le format par défaut des clés privées pour OpenSSL devrait être
PKCS#8 avec triple DES et PKCS#5 v2.0. Pour assurer la compatibilité
avec quelques-uns des utilitaires, l’ancien format est maintenu
actuellement.
VOIR AUSSI
dsa(1), rsa(1), genrsa(1), gendsa(1)
TRADUCTION
Cette page de manuel a été 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.