Чому OpenSSL надає дві утиліти з настільки великим перекриттям
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.
І 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
Документи в Debian також дуже дивні з цього приводу,
genpkey Generation of Private Key or Parameters.
genrsa Generation of RSA Private Key. Superceded by genpkey.
Чи genpkey
є заміна? Якщо так, то як це не так -des3
? І, як ми додати до нього пароль і вказати довжину ключа?
genrsa
іgenpkey
насправді відрізняється. Структура ключів, створених за допомогою ASN.1,genrsa
є pkcs # 1, тоді як ключі, згенеровані за допомогоюgenpkey
pkcs # 8. Якщо це недостатньо погано, якщо ви використовуєте,genpkey -outform der
то це повертається до ПК №1. З ЄС, це ще гірше, як - тоgenec
відсутня, натомість єecparam -genkey
, і яким - то чиномecparam -genkey
,genpkey -outform pem
,genpkey -outform der
всі вони мають різну структуру ASN.1.