certificate - read - Cómo determinar el tipo de certificado del archivo
read certificate openssl (2)
En primer lugar, tiene algunos problemas de terminología:
- El estándar X509 define los certificados, y RSA y DSA son dos de los algoritmos de clave pública que se pueden usar en esos certificados;
- Los certificados se utilizan para mantener claves públicas, y nunca claves privadas.
- PKCS # 12 es un estándar para un contenedor que puede contener un certificado de cliente X509 y las claves privadas correspondientes, así como (opcionalmente) los certificados X509 de las CA que firmaron el (los) certificado (s) del cliente X509.
Por lo tanto, si está examinando un archivo PKCS # 12 (normalmente la extensión .p12), entonces ya sabe:
- Contiene al menos un certificado de cliente X509, que contiene una clave pública; y
- Contiene las claves privadas correspondientes.
Todo lo que no sabe es si el certificado y la clave privada son RSA o DSA. Puede verificar esto extrayendo el (los) certificado (s) y luego examinarlos:
openssl pkcs12 -in mycert.p12 -clcerts -nokeys -out mycert.crt
openssl x509 -in mycert.crt -text
La salida de texto del comando openssl x509
debe incluir una sección Subject Public Key
, que incluirá campos que le permitirán ver si se trata de una clave RSA o DSA (junto con el tamaño de la clave).
No parece haber ningún tipo de convención de nomenclatura estándar para los certificados OpenSSL, por lo que me gustaría saber si hay un comando simple para obtener información importante sobre cualquier certificado OpenSSL, independientemente del tipo. Me gustaría saber al menos el tipo de certificado (x509, RSA, DSA) y si es una clave pública o privada. Mirando el contenido de un certificado que acabo de extraer de un archivo PKCS12, ninguno de estos se muestra explícitamente.
Los certificados también se pueden restringir a cierto uso.
Por ejemplo, podría estar restringido para que no se pueda utilizar como una Autoridad de certificación. Lea también más en esta publicación .