Dlaczego OpenSSL zapewnia dwa narzędzia z tak dużym nakładaniem się
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.
I 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
Dokumenty w Debianie są również bardzo dziwne,
genpkey Generation of Private Key or Parameters.
genrsa Generation of RSA Private Key. Superceded by genpkey.
Czy genpkey
zamiennik? Jeśli tak, to dlaczego nie ma -des3
? Jak dodamy do niego hasło i określamy długość klucza?
genrsa
igenpkey
faktycznie są one różne. Struktura kluczy ASN.1 generowanych przy użyciugenrsa
to pkcs # 1, podczas gdy klucze generowane przy użyciugenpkey
to pkcs # 8. Jeśli to nie wystarczy, jeśli użyjeszgenpkey -outform der
, wróci do pkcs # 1. Z KE, to jeszcze gorzej, jakośgenec
brakuje, a nie jestecparam -genkey
, i jakośecparam -genkey
,genpkey -outform pem
,genpkey -outform der
mają inną strukturę ASN.1.Odpowiedzi:
Jasno stwierdza, że
genrsa
został zastąpiony przezgenpkey
, więc tak,genpkey
jest zamiennikiem.Możesz zmienić szyfr na
3des
za pomocą-cipher
argumentuPowinien też powiedzieć, że aby dodać hasło, użyj
-pass
argumentuWięcej informacji znajdziesz tutaj
źródło
-pass
teraz argument (zakładając, że jest taki sam jak -3des), ale nawet nie widzę opcji określającej długości kluczagenpkey
? Wkleiłem też całą treść stron podręcznika systemu Ubuntu 14.04.-pkeyopt rsa_keygen_bits:numbits
.genpkey
jest to udokumentowane na własnych stronach podręcznika użytkownika. To interesujące. Cały projekt powinien przesuwać się w kierunku git-core, wszystkie strony podręcznika mają prefiks openssl-, a interfejs użytkownika pozwalaopenssl help genpkey
na renderowanie stron podręcznika. tldr; lepsze dokumenty pomogłyby.