Estoy intentando cargar una clave privada particular codificada en el formato DER
binario (PKCS#8
) en Ruby.Cargue la clave binaria PKCS # 8 en Ruby
Sin embargo, OpenSSL::PKey
no lo reconocerá. Puedo hacer que funcione por hacer algún trabajo de la consola y transformándolo en un PEM
así:
openssl pkcs8 -inform DER -in file.key -passin pass:xxxxxxxx >private_key.pem
Después de esto, la clave correcta se puede leer.
Sin embargo, dado que me gustaría que todo el proceso se realice en la memoria en lugar de escribir y leer archivos.
Entonces mi pregunta es: ¿es posible cargar claves privadas del formato DER
codificado en binario en Ruby/OpenSSL?
Gracias por su tiempo,
Fernando
Eso es incorrecto. Para PEM, la fuente de Ruby llama a PEM_read_bio_RSAPrivateKey, que llama a PEM_read_bio_PrivateKey, que sí, maneja PKCS # 8. Sin embargo, cuando DER, la fuente de Ruby llama a d2i_RSAPrivateKey_bio, que llama 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) , versión, LONG), ...) que * no * leerá PKCS # 8. El PKCS # 8 * con codificación DER no se puede cargar directamente usando OpenSSL :: PKey :: RSA.new. –
Mi mal. No sabía que la implementación de OpenSSL en ruby era diferente de lo que se dice en la documentación de OpenSSL ... –