¿Por qué OpenSSL proporciona dos utilidades con tanta superposición?
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.
Y 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
Los documentos en Debian también son realmente extraños sobre esto,
genpkey Generation of Private Key or Parameters.
genrsa Generation of RSA Private Key. Superceded by genpkey.
Es genpkey
un reemplazo? Si es así, ¿cómo es que no tiene -des3
? Y, ¿cómo le agregamos una contraseña y especificamos la longitud de la clave?
genrsa
y engenpkey
realidad es diferente. La estructura ASN.1 de las claves generadas usandogenrsa
es pkcs # 1, mientras que las claves generadas usandogenpkey
es pkcs # 8. Si eso no es lo suficientemente malo, si lo usagenpkey -outform der
, vuelve a pkcs # 1. Con CE, que es aún peor, de alguna maneragenec
no se encuentra, en su lugar hayecparam -genkey
, y de alguna maneraecparam -genkey
,genpkey -outform pem
,genpkey -outform der
todos tienen diferentes estructuras ASN.1.Respuestas:
Establece claramente que
genrsa
ha sido reemplazado porgenpkey
, así que sí,genpkey
es un reemplazo.Puede cambiar el cifrado
3des
usando el-cipher
argumentoAdemás, debería decirte que para agregar una contraseña, utilizas el
-pass
argumentoPuedes encontrar más información aquí
fuente
-pass
ahora veo el argumento (suponiendo que sea lo mismo que -3des), pero ¿ni siquiera veo una opción para especificar la longitud de la clavegenpkey
? También pegué todo lo que las páginas de manual de Ubuntu 14.04 tenían que decir al respecto.-pkeyopt rsa_keygen_bits:numbits
.genpkey
realidad está documentado en sus propias páginas de manual. Eso es interesante. Todo el proyecto debe moverse en la dirección de git-core, con todas las páginas de manual con el prefijo openssl-, y la interfaz de usuario permiteopenssl help genpkey
representar las páginas de manual. tldr; mejores documentos ayudarían.