Los formatos de clave privada original o "legado" (por algoritmo) de OpenSSL solo se pueden cifrar (PBE) en formato PEM, no en DER, pero el formato más reciente PKCS # 8 puede ser PBE en PEM o DER , y PKCS # 12 es automáticamente PBE y siempre DER (PEM no está definido para ello). PKCS # 8 y PKCS # 12 también son mejores funcionalmente, ya que manejan múltiples algoritmos automáticamente sin la ayuda del usuario.
Debe hacer un seguimiento de si los archivos PKCS # 8 DER están encriptados, porque no tiene el encabezado PEM para decir "COMIENZO DE LA CLAVE PRIVADA" en lugar de "COMENZAR LA CLAVE PRIVADA CIFRADA".
PKCS # 8 se ha implementado desde aproximadamente 2000 AIR, pero la mayoría de las funciones de la línea de comandos utilizaron los formatos heredados de 0.9.8 que no sean pkcs8
; para 1.0.0 y versiones posteriores (desde alrededor de 2010) muchas pero aún así no todas las funciones de la línea de comandos usan PKCS # 8.
Mire las rutinas d2i/i2d
y las rutinas PEM_read/write
, para PKCS8PrivateKey
en lugar de {RSA,DSA,EC}PrivateKey
. También mire las rutinas PKCS12_*
si está interesado, pero es mucho más complicado. OTOH también es más ampliamente utilizado e interoperable, si eso te beneficia. (PKCS # 12 también se llama PFX por Microsoft y algunos otros).