Perché OpenSSL fornisce due utility con così tante sovrapposizioni
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.
E 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
Anche i documenti in Debian sono davvero strani su questo,
genpkey Generation of Private Key or Parameters.
genrsa Generation of RSA Private Key. Superceded by genpkey.
È genpkey
una sostituzione? Se è così, come mai non ha -des3
? E come possiamo aggiungere una password e specificare la lunghezza della chiave?
genrsa
e ingenpkey
realtà sono diverse. La struttura ASN.1 delle chiavi generate usandogenrsa
è pkcs # 1, mentre le chiavi generate usandogenpkey
è pkcs # 8. Se non è abbastanza male, se lo usigenpkey -outform der
, torna a pkcs # 1. Con CE, è ancora peggio, in qualche modogenec
è mancante, invece c'èecparam -genkey
, e in qualche modoecparam -genkey
,genpkey -outform pem
,genpkey -outform der
tutti hanno diversa struttura ASN.1.