2012-09-28 22 views
5

tôi đã lệnh sau cho OpenSSL để tạo Private và Public key:Tạo tư nhân và khóa công khai OpenSSL

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

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

nhưng không làm việc cho lệnh đầu tiên tôi nhận được lỗi sau:

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 

Tôi đang làm gì sai?

Edit: tôi đã giải quyết được lệnh đầu tiên:

openssl genrsa -aes128 -out privkey.pem 2048 

bây giờ tôi nhận được một lỗi với secound:

unknown option –x509 
+0

Tôi tự hỏi nếu thứ tự các thông số có quan trọng không? –

Trả lời

9

'genrsa' chỉ tạo khóa RSA.

'req' rồi sử dụng phím đó để thực hiện yêu cầu kiểu x509.

Nếu bạn chỉ cần cặp khóa rsa - hãy sử dụng genrsa.

Nếu bạn cần một cặp khóa và yêu cầu x509 đã ký bạn sử dụng 'genrsa' và sau đó 'req'. .

Tùy chọn 'req' cũng có thể tạo ra rằng chìa khóa cho bạn (tức là nó gói gọn lệnh 'genrsa' (người viết gendh)

Vì vậy:

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

là gần như tương đương với

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

ngoại trừ không giống như 'genrsa', 'req' không cho phép bạn chỉ định aes128 làm mã hóa.

Vì vậy, trong rất nhiều thiết lập doanh nghiệp, một trong hai bước thực hiện điều khiển đầy đủ mã hóa khóa được áp dụng.

+0

Lệnh này đã thực hiện thủ thuật: openssl req -new -x509 -key new.pem -days 3650 -out cert.crt Rất cám ơn – kozla13

+2

Lưu ý rằng -x509 mang lại chứng chỉ tự ký. Bỏ qua tùy chọn này nếu bạn muốn tạo yêu cầu chứng chỉ. – Todd

1

Như tôi đã có thể nhìn thấy từ đầu ra, bạn chọn thuật toán sai. Bạn không nên vượt qua -aes128 thay vì -aes-128-cbc?

Từ hướng dẫn sử dụng tôi giả định rằng -aes-128-cbc là thông số thích hợp cho openssl enc, nhưng tôi không biết liệu nó có hoạt động cho genrsa hay không.