2012-09-28 12 views
5

mam następujące polecenia dla OpenSSL do generowania prywatnego i klucza publicznego:Generowanie prywatny i klucz publiczny OpenSSL

openssl genrsa –aes-128-cbc –out priv.pem –passout pass:[privateKeyPass] 2048 

i

openssl req –x509 –new –key priv.pem –passin pass:[privateKeyPass] -days 3650 –out cert.cer 

ale nie pracują dla pierwszego polecenia otrzymuję następujący błąd:

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 

Co robię źle?

Edit: i rozwiązać pierwszą komendę:

openssl genrsa -aes128 -out privkey.pem 2048 

teraz otrzymuję błąd z secound:

unknown option –x509 
+0

Zastanawiam się, czy kolejność parametrów ma znaczenie? –

Odpowiedz

9

"genrsa" generuje tylko klucz RSA.

'req' następnie używa tego klucza do złożenia zapytania w stylu x509.

Jeśli potrzebujesz tylko pary kluczy RSA - użyj genrsa.

Jeśli potrzebujesz pary i podpisanej prośby x509, użyj "genrsa", a następnie "req". .

ewentualnie 'req' może również generować ten klucz dla ciebie (czyli hermetyzuje polecenie 'genrsa' (i gendh)

Więc:

openssl genrsa -aes128 -out privkey.pem 2048 
openssl req -new -x509 -key privkey.pem 

jest niemal równoznaczne z

openssl req -new -x509 -keyout privkey.pem -newkey rsa:2048 

tą różnicą, że w przeciwieństwie do „genrsa”, „req” nie pozwalają na określenie AES128 jak szyfrowanie.

W wielu ustawieniach przedsiębiorstwa wykonuje się to w dwóch etapach, aby uzyskać wystarczającą kontrolę nad kluczowym szyfrowaniem.

+0

To polecenie zlikwidowało: openssl req -new -x509 -key new.pem -days 3650-out cert.crt Wielkie dzięki – kozla13

+2

Pamiętaj, że -x509 daje samopodpisany certyfikat. Pomiń tę opcję, jeśli chcesz wygenerować żądanie certyfikatu. – Todd

1

Jak widzę z wyjścia, wybierasz złego algorytmu. Czy nie należy przekazywać -aes128 zamiast -aes-128-cbc?

Z instrukcji Zakładam, że -aes-128-cbc jest prawidłowym parametrem dla openssl enc, ale nie wiem, czy to powinno działać dla genrsa.

Powiązane problemy