2013-07-09 79 views
5

Tôi có chứng chỉ SSL tôi đã mua ở định dạng .pem, .crt, .der. Tôi đã tự hỏi làm thế nào tôi nhận được tập tin quan trọng từ chứng chỉ. Có cách nào để làm điều này không?Làm cách nào để trích xuất khóa từ chứng chỉ SSL?

+1

Bạn đang nói về khóa * riêng tư? – Bruno

+0

Tại sao? Bạn đã có cả khóa riêng và khóa chung. Đó là nơi bạn bắt đầu. Bạn đã tạo một cặp khóa, tạo một CSR, đã ký nó, bây giờ bạn có chứng chỉ đã ký. Nếu bạn đã mất cặp chìa khóa mà bạn đã bắt đầu, bạn vẫn bị hosed, bạn phải bắt đầu lại. – EJP

Trả lời

10

Bạn có thể trích xuất khóa công khai. Điều này có tính hữu dụng hạn chế. Có lẽ bạn sẽ sử dụng cùng một khóa với một công cụ khác như SSH hoặc PGP không sử dụng chứng chỉ.

Với OpenSSL:

openssl x509 -pubkey -noout <cert.pem> pubkey.pem 

Bạn không thể lấy được khóa bí mật từ một chứng chỉ. Điều đó sẽ khiến mọi thứ trở nên vô nghĩa, phải không?

+0

tôi nhận được một lỗi khi chạy lệnh: 'openssl rsa -pubout key.pem' ' không thể tải Private Key 99.416: lỗi: 0906D06C: PEM thói quen: PEM_read_bio: không có dòng khởi động:/SourceCache /OpenSSL098/OpenSSL098-47.1/src/crypto/pem/pem_lib.c:648:Expecting: BẤT K PR KEY TƯ NHÂN ' – nkcmr

+1

@nkcmr Tôi xin lỗi. Tôi nghĩ rằng tôi đã thử nghiệm lệnh trên một chứng chỉ, nhưng nó thực sự là một tập tin tôi đã thực hiện cho 's_server' để sử dụng. Trong định dạng này, khóa riêng được nối vào chứng chỉ và sự hiện diện của khóa riêng đó cho phép tiện ích 'rsa' hoạt động. Vui lòng sử dụng câu trả lời đã sửa của tôi. – erickson