Tôi đang cố tải khóa riêng tư được mã hóa ở định dạng nhị phân DER
(PKCS#8
) vào Ruby.Tải khóa nhị phân PKCS # 8 vào Ruby
Tuy nhiên, OpenSSL::PKey
sẽ không nhận ra. Tôi có thể làm cho nó hoạt động bằng cách làm một số công việc điều khiển và biến nó thành một PEM
như vậy:
openssl pkcs8 -inform DER -in file.key -passin pass:xxxxxxxx >private_key.pem
Sau này, chìa khóa một cách chính xác có thể được đọc.
Tuy nhiên, vì tôi muốn toàn bộ quá trình được thực hiện trong bộ nhớ thay vì viết và đọc tệp.
Vì vậy, câu hỏi của tôi là: Có thể tải khóa riêng tư từ định dạng mã hóa nhị phân DER
vào Ruby/OpenSSL không?
Cảm ơn bạn đã dành thời gian,
Fernando
Điều đó không đúng. Đối với PEM, nguồn Ruby gọi PEM_read_bio_RSAPrivateKey, gọi PEM_read_bio_PrivateKey, có, xử lý PKCS # 8. Tuy nhiên, khi DER, nguồn Ruby gọi d2i_RSAPrivateKey_bio, gọi là ASN1_item_i2d_bio (ASN1_ITEM_rptr (RSAPrivateKey), bp, rsa) (openssl-1.0.1m/crypto/rsa/rsa_asn1.c: ASN1_SEQUENCE_cb (RSAPrivateKey, rsa_cb) = {ASN1_SIMPLE (RSA) , phiên bản, LONG), ...) sẽ * không * đọc PKCS # 8. PKCS # 8 * được mã hóa bằng DER không thể được tải trực tiếp bằng OpenSSL :: PKey :: RSA.new. –
Tệ của tôi. Tôi không biết rằng việc triển khai OpenSSL trong ruby khác với những gì được nói trong tài liệu OpenSSL ... –