2012-09-30 39 views
6

Nếu tôi sử dụng mở lệnh sslopenssl RSA tư nhân và công cộng phím

sudo openssl genrsa -out privkey.pem 2048 

để tạo phím rsa, nó tạo ra chỉ có 1 file. đó là khóa riêng. Làm cách nào để lấy khóa công khai.

+1

Bạn có thể hiển thị lệnh bạn đang sử dụng để tạo khóa không? –

+0

sudo openssl genrsa -out privkey.pem 2048 – Gadoya

Trả lời

14

Để trả lời câu hỏi của bạn: Tệp bạn tạo với sudo openssl genrsa -out privkey.pem 2048 chứa cả khóa riêng và khóa công khai.

openssl genrsagenerates a key pair. Khóa công khai là modulus (n)mũ công khai (e):

$ openssl genrsa 2048 > dummy.key 
$ openssl rsa -in dummy.key -noout -text 

Private-Key: (2048 bit) 
modulus: 
    00:d4:4a:3c:8c:41:b3:9b:a3:26:2d:4b:8c:62:08: 
    c0:fc:ad:6c:5e:5f:3f:28:e6:a3:7c:3d:43:5e:98: 
    [...] 
publicExponent: 65537 (0x10001) 
privateExponent: 
    00:c7:6e:f6:72:cd:46:6e:70:56:ed:36:8c:2b:8d: 
    0d:c0:53:2b:fb:7c:7f:59:6d:53:28:e4:64:e5:f9: 
    d6:84:64:7e:e4:be:20:64:7d:5b:50:06:ba:1f:df: 
    [...] 

Bạn có thể trích xuất chỉ khóa công khai sử dụng -pubout tùy chọn để openssl rsa:

$ openssl rsa -in dummy.key -pubout 
writing RSA key 
-----BEGIN PUBLIC KEY----- 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Eo8jEGzm6MmLUuMYgjA 
[...] 
gW6qhadXVsKWQhEhVU9s7V9vJOhfeSSahvuZR0zjursTm6PSJWo7lKNgFCFC0NXO 
LQIDAQAB 
-----END PUBLIC KEY----- 

Nếu bạn trích xuất dữ liệu đó thành một tệp và đọc lại nó, bạn sẽ thấy nó chứa mô đun và số mũ:

$ openssl rsa -in dummy.key -pubout > public.key 
$ openssl rsa -in public.key -pubin -noout -text 
Public-Key: (2048 bit) 
Modulus: 
    00:d4:4a:3c:8c:41:b3:9b:a3:26:2d:4b:8c:62:08: 
    c0:fc:ad:6c:5e:5f:3f:28:e6:a3:7c:3d:43:5e:98: 
    [...] 
    6f:24:e8:5f:79:24:9a:86:fb:99:47:4c:e3:ba:bb: 
    13:9b:a3:d2:25:6a:3b:94:a3:60:14:21:42:d0:d5: 
    ce:2d 
Exponent: 65537 (0x10001) 
$ 
Các vấn đề liên quan