Pourquoi OpenSSL fournit-il deux utilitaires avec autant de chevauchement
genpkey
:
OpenSSL> genpkey -
Usage: genpkey [options]
where options may be
-out file output file
-outform X output format (DER or PEM)
-pass arg output file pass phrase source
-<cipher> use cipher <cipher> to encrypt the key
-engine e use engine e, possibly a hardware device.
-paramfile file parameters file
-algorithm alg the public key algorithm
-pkeyopt opt:value set the public key algorithm option <opt>
to value <value>
-genparam generate parameters, not key
-text print the in text
NB: options order may be important! See the manual page.
Et genrsa
:
OpenSSL> genrsa -
usage: genrsa [args] [numbits]
-des encrypt the generated key with DES in cbc mode
-des3 encrypt the generated key with DES in ede cbc mode (168 bit key)
-seed
encrypt PEM output with cbc seed
-aes128, -aes192, -aes256
encrypt PEM output with cbc aes
-camellia128, -camellia192, -camellia256
encrypt PEM output with cbc camellia
-out file output the key to 'file
-passout arg output file pass phrase source
-f4 use F4 (0x10001) for the E value
-3 use 3 for the E value
-engine e use engine e, possibly a hardware device.
-rand file:file:...
load the file (or the files in the directory) into
the random number generator
Les documents dans Debian sont également très étranges à ce sujet,
genpkey Generation of Private Key or Parameters.
genrsa Generation of RSA Private Key. Superceded by genpkey.
Est genpkey
un remplaçant? Si oui, comment se fait-il que ce ne soit pas le cas -des3
? Et comment y ajouter un mot de passe et spécifier la longueur de la clé?
genrsa
etgenpkey
est en fait différente. La structure ASN.1 des clés générées à l'aidegenrsa
est pkcs # 1, tandis que les clés générées à l'aidegenpkey
sont pkcs # 8. Si cela ne suffit pas, si vous l'utilisez, vousgenpkey -outform der
revenez à pkcs # 1. Avec CE, il est encore pire, en quelque sortegenec
est manquant, il y a lieuecparam -genkey
, et en quelque sorteecparam -genkey
,genpkey -outform pem
,genpkey -outform der
ont tous différentes structures ASN.1.Réponses:
Il indique clairement qu'il
genrsa
a été remplacé pargenpkey
, donc oui,genpkey
est un remplacement.Vous pouvez changer le chiffre
3des
en utilisant l'-cipher
argumentDe plus, il devrait vous dire que pour ajouter un mot de passe, vous utilisez l'
-pass
argumentVous pouvez trouver plus d'informations ici
la source
-pass
argument maintenant (en supposant que c'est le même que -3des), mais je ne vois même pas d'option pour spécifier la longueur de clégenpkey
? J'ai également collé l'intégralité de ce que les pages de manuel d'Ubuntu 14.04 avaient à dire à ce sujet.-pkeyopt rsa_keygen_bits:numbits
.genpkey
est en fait documenté dans ses propres pages de manuel. C'est intéressant. L'ensemble du projet devrait déplacer la direction de git-core, avec les pages de manuel toutes préfixées avec openssl-, et l'interface utilisateur permettantopenssl help genpkey
de rendre les pages de manuel. tldr; de meilleurs documents aideraient.