.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" ======================================================================== .\" .IX Title "PKCS8 1SSL" .TH PKCS8 1SSL "2013-02-26" "1.0.1e" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" pkcs8 \- Utilitaire de conversion de clef privée PKCS#8 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBpkcs8\fR [\fB\-topk8\fR] [\fB\-inform \s-1PEM\s0\fR|\fB\s-1DER\s0\fR] [\fB\-outform\fR \&\fB\s-1PEM\s0\fR|\fB\s-1DER\s0\fR] [\fB\-in nom_fichier\fR] [\fB\-passin\fR \fIparam\fR] [\fB\-out\fR \&\fInom_fichier\fR] [\fB\-passout\fR \fIparam\fR] [\fB\-noiter\fR] [\fB\-nocrypt\fR] [\fB\-nooct\fR] [\fB\-embed\fR] [\fB\-nsdb\fR] [\fB\-v2\fR \fIalg\fR] [\fB\-v1\fR \fIalg\fR] [\fB\-engine\fR \fIid\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" La commande \fBpkcs8\fR traite des clefs 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. .SH "OPTIONS DE LA COMMANDE" .IX Header "OPTIONS DE LA COMMANDE" .IP "\fB\-topk8\fR" 4 .IX Item "-topk8" Par défaut, une clef privée PKCS#8 est attendue à l'entrée et une clef privée au format traditionnel est produite. Avec l'option \fB\-topk8\fR, la situation est inversée : une clrg privée au format traditionnel est lue et une clef au format PKCS#8 sera produite. .IP "\fB\-inform\fR \fB\s-1DER\s0\fR|\fB\s-1PEM\s0\fR" 4 .IX Item "-inform DER|PEM" Indique le format d'entrée. Si une clef au format PKCS#8 est attendue à l'entrée, une version encodée \fB\s-1DER\s0\fR ou \fB\s-1PEM\s0\fR de la clef PKCS#8 est acceptée. Autrement, une clef privée au format traditionnel encodée \fB\s-1DER\s0\fR ou \fB\s-1PEM\s0\fR est prise. .IP "\fB\-outform\fR \fB\s-1DER\s0\fR|\fB\s-1PEM\s0\fR" 4 .IX Item "-outform DER|PEM" Indique le format de sortie. Les options ont la même signification que pour l'option \fB\-inform\fR. .IP "\fB\-in\fR \fInom_fichier\fR" 4 .IX Item "-in nom_fichier" Indique le nom du fichier d'entrée à partir duquel la clef sera lue. Par défaut, la clef est lue depuis l'entrée standard si cette option est omise. Si la clef est chiffrée, un mot de passe sera demandé à l'invite de commande. .IP "\fB\-passin\fR \fIparam\fR" 4 .IX Item "-passin param" La source de mot de passe d'entrée. Pour plus de renseignements sur le format de \fIparam\fR, consultez la section \fBPARAMÈTRES \s-1DE\s0 \s-1PHRASE\s0 SECRÈTE\fR d'\fIopenssl\fR\|(1). .IP "\fB\-out\fR \fInom_fichier\fR" 4 .IX Item "-out nom_fichier" Indique le nom du fichier de sortie où la clef sera écrite, sinon la sortie standard sera utilisée par défaut. Si des options de chiffrement sont indiquées, alors une phrase de passe sera demandée. Le fichier de sortie ne doit \fBpas\fR être le même que le fichier d'entrée. .IP "\fB\-passout\fR \fIparam\fR" 4 .IX Item "-passout param" La source de mot de passe pour le fichier de sortie. Pour plus de renseignements sur le format de \fIparam\fR, consultez la section \fBPARAMÈTRES \&\s-1DE\s0 \s-1PHRASE\s0 SECRÈTE\fR d'\fIopenssl\fR\|(1). .IP "\fB\-nocrypt\fR" 4 .IX Item "-nocrypt" Les clefs 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 clefs 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 clefs privées non chiffrées. .IP "\fB\-nooct\fR" 4 .IX Item "-nooct" Cette option génère une clef privée \s-1RSA\s0 dans un format déficient que certains programmes utilisent. Plus spécifiquement, une clef privée doit être fournie dans une \s-1OCTET\s0 \s-1STRING\s0 mais certains programmes incluent la structure même sans l'inclure dans une \s-1OCTET\s0 \s-1STRING\s0. .IP "\fB\-embed\fR" 4 .IX Item "-embed" Cette option génère une clef privée \s-1DSA\s0 dans un format déficient que certains programmes utilisent. Plus spécifiquement, une clef privée doit être fournie dans une \s-1OCTET\s0 \s-1STRING\s0 mais certains programmes incluent la structure même sans l'inclure dans une \s-1OCTET\s0 \s-1STRING\s0. .IP "\fB\-nsdb\fR" 4 .IX Item "-nsdb" Cette option génère des clefs \s-1DSA\s0 dans un format déficient compatible avec les bases de données de clefs privées Netscape. La structure PrivateKey contient une \s-1SEQUENCE\s0 comprenant les clefs publiques et privées respectivement. .IP "\fB\-v2\fR \fIalg\fR" 4 .IX Item "-v2 alg" Cette option active l'utilisation des algorithmes PKCS#5 v2.0. Habituellement les clefs privées PKCS#8 sont chiffrées avec un algorithme à base de mots de passe nommé \fBpbeWithMD5AndDES\-CBC\fR qui utilisent un chiffrement \s-1DES\s0 à 56 bits, qui était l'algorithme de chiffrement le plus fort pris en charge par PKCS#5 v1.5. En utilisant l'option \fB\-v2\fR, des algorithmes PKCS#5 v2.0 sont utilisés, comme le triple \&\s-1DES\s0 à 168 bits ou encore \s-1RC2\s0 à 128 bits. Toutefois peu d'implémentations supportent PKCS#5 v2.0 à ce jour. Si vous utilisez des clefs privées uniquement avec OpenSSL, ceci n'importe pas. .Sp L'argument \fIalg\fR est l'algorithme de chiffrement à utiliser, qui peut être entre autres \fBdes\fR, \fBdes3\fR et \fBrc2\fR. L'utilisation de \fBdes3\fR est recommandé. .IP "\fB\-v1\fR \fIalg\fR" 4 .IX Item "-v1 alg" Cette option indique l'algorithme PKCS#5 v1.5 ou PKCS#12 à utiliser. Une liste complète des algorithmes possibles est incluse ci-dessous. .IP "\fB\-engine\fR \fIid\fR" 4 .IX Item "-engine id" Indique un moteur (en utilisant son identifiant unique \fIid\fR), et force \&\fBpkcs8\fR à essayer d'obtenir une référence fonctionnelle pour le moteur indiqué, et l'initialiser si nécessaire. Le moteur sera ensuite utilisé par défaut pour tous les algorithmes disponibles. .SH "NOTES" .IX Header "NOTES" La version chiffrée \s-1PEM\s0 d'un fichier PKCS#8 utilise les lignes suivantes au début et à la fin : .PP .Vb 2 \& \-\-\-\-\-BEGIN ENCRYPTED PRIVATE KEY\-\-\-\-\- \& \-\-\-\-\-END ENCRYPTED PRIVATE KEY\-\-\-\-\- .Ve .PP La version non chiffrée utilise : .PP .Vb 2 \& \-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\- \& \-\-\-\-\-END PRIVATE KEY\-\-\-\-\- .Ve .PP Les clefs privées utilisant des algorithmes PKCS#5 v2.0 avec un nombre d'itérations élevé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 clefs devraient être converties. .PP 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. .PP Certains logiciels utilisent des algorithmes PKCS#12 de chiffrement à base de mots de passe avec des clefs privées au format PKCS#8 : celles-ci sont gérées automatiquement, mais il n'existe pas d'option pour les produire. .PP Il est possible d'écrire des clefs privées chiffrées au format \s-1DER\s0 dans un format PKCS#8 car les détails du chiffrement sont inclus au niveau \s-1ASN1\s0 alors que le format traditionnel les inclut au niveau \s-1PEM\s0. .SH "Les algorithmes PKCS#5 v1.5 et PKCS#12." .IX Header "Les algorithmes PKCS#5 v1.5 et PKCS#12." Certains algorithmes peuvent être utilisés avec l'option \fB\-v1\fR, y compris PKCS#5 v1.5 et PKCS#12. Ils sont décrits d'avantage ci-dessous. .IP "\fB\s-1PBE\-MD2\-DES\s0 \s-1PBE\-MD5\-DES\s0\fR" 4 .IX Item "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 \s-1DES\s0 tous les deux. .IP "\fB\s-1PBE\-SHA1\-RC2\-64\s0 \s-1PBE\-MD2\-RC2\-64\s0 \s-1PBE\-MD5\-RC2\-64\s0 \s-1PBE\-SHA1\-DES\s0\fR" 4 .IX Item "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 clef et sont gérés par quelques logiciels. Ils ont été cités dans PKCS#5 v2.0 et utilisent soit un \s-1RC2\s0 à 64 bits soit un \s-1DES\s0 à 56 bits. .IP "\fB\s-1PBE\-SHA1\-RC4\-128\s0 \s-1PBE\-SHA1\-RC4\-40\s0 \s-1PBE\-SHA1\-3DES\s0 \s-1PBE\-SHA1\-2DES\s0 \s-1PBE\-SHA1\-RC2\-128\s0 \s-1PBE\-SHA1\-RC2\-40\s0\fR" 4 .IX Item "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 \s-1DES\s0 ou le \s-1RC2\s0 à 128 bits. .SH "EXEMPLES" .IX Header "EXEMPLES" Convertir une clef privée du format traditionnel vers PKCS#5 v2.0 en utilisant le triple \s-1DES\s0 : .PP .Vb 1 \& openssl pkcs8 \-in key.pem \-topk8 \-v2 des3 \-out enckey.pem .Ve .PP Convertir une clef privée PKCS#8 en utilisant un algorithme compatible PKCS#5 1.5 (\s-1DES\s0) : .PP .Vb 1 \& openssl pkcs8 \-in key.pem \-topk8 \-out enckey.pem .Ve .PP Convertir une clef privée vers PKCS#8 en utilisant un algorithme compatible PKCS#12 (3DES) : .PP .Vb 1 \& openssl pkcs8 \-in key.pem \-topk8 \-out enckey.pem \-v1 PBE\-SHA1\-3DES .Ve .PP Lire une clef privée \s-1DER\s0 non chiffrée au format PKCS#8 : .PP .Vb 1 \& openssl pkcs8 \-inform DER \-nocrypt \-in key.der \-out key.pem .Ve .PP Convertir une clef privée d'un format PKCS#8 quelconque vers le format traditionnel : .PP .Vb 1 \& openssl pkcs8 \-in pk8.pem \-out key.pem .Ve .SH "NORMES" .IX Header "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 \s-1DES\s0, \s-1DES\s0 ou \s-1RC2\s0 avec un nombre d'itérations élevé. Plusieurs personnes ont confirmé qu'ils pouvaient déchiffrer les clefs privées produites et ainsi on peut supposer que l'implémentation PKCS#5 v2.0 est suffisamment correcte au moins concernant ces algorithmes. .PP Le format des clefs privées PKCS#8 \s-1DSA\s0 (entre autres) n'est pas bien documenté, étant caché dans PKCS#11 v2.01, section 11.9. Le format PKCS#8 \&\s-1DSA\s0 par défaut d'OpenSSL pour les clefs privées respecte ce standard. .SH "BOGUES" .IX Header "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. .PP Le format par défaut des clefs privées pour OpenSSL devrait être PKCS#8 avec triple \s-1DES\s0 et PKCS#5 v2.0. Pour assurer la compatibilité avec quelques-uns des utilitaires, l'ancien format est maintenu actuellement. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fIdsa\fR\|(1), \fIrsa\fR\|(1), \fIgenrsa\fR\|(1), \&\fIgendsa\fR\|(1) .SH "TRADUCTION" .IX Header "TRADUCTION" Cette page de manuel a été traduite par stolck en 2002 et est maintenue par la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.