OpenSSL: genrsa vs genpkey?


12

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.

È genpkeyuna sostituzione? Se è così, come mai non ha -des3? E come possiamo aggiungere una password e specificare la lunghezza della chiave?


2
Se pensi che avere due diversi comandi per fare le stesse cose non sia pazzesco, considera che la struttura ASN.1 generata genrsae in genpkeyrealtà sono diverse. La struttura ASN.1 delle chiavi generate usando genrsaè pkcs # 1, mentre le chiavi generate usando genpkeyè pkcs # 8. Se non è abbastanza male, se lo usi genpkey -outform der, torna a pkcs # 1. Con CE, è ancora peggio, in qualche modo genecè mancante, invece c'è ecparam -genkey, e in qualche modo ecparam -genkey, genpkey -outform pem, genpkey -outform dertutti hanno diversa struttura ASN.1.
Lie Ryan,

Risposte:


8

Indica chiaramente che genrsaè stato sostituito da genpkey, quindi sì, genpkeyè un rimpiazzo.

È possibile modificare la cifra 3desutilizzando l' -cipherargomento

Inoltre, dovrebbe dirti che per aggiungere una password, devi usare l' -passargomento

Puoi trovare maggiori informazioni qui


1
Bene, ora vedo l' -passargomento (supponendo che sia uguale a -3des), ma non vedo nemmeno un'opzione per specificare la lunghezza della chiave genpkey? Ho anche incollato tutto ciò che le pagine man di Ubuntu 14.04 avevano da dire al riguardo.
Evan Carroll,

1
Posso indicarvi
MichelZ,

3
Lol, questo è matto ... -pkeyopt rsa_keygen_bits:numbits.
Evan Carroll,

Perché è matto? :)
MichelZ,

9
Perché l'intero scopo di -h è fornire una sinossi del comando. Detto questo, ho appena scoperto che in genpkeyrealtà è documentato nelle sue pagine man. Interessante. L'intero progetto dovrebbe spostare la direzione di git-core, con le pagine man tutte precedute da openssl- e l'interfaccia utente che consente openssl help genpkeydi renderizzare le pagine man. TLDR; documenti migliori sarebbero d'aiuto.
Evan Carroll,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.