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 de tipo. Me gustaría saber al menos el tipo de certificado (x509, RSA, DSA) y si se trata de una clave pública o privada. Al mirar el contenido de un certificado que acabo de extraer de un archivo PKCS12, ninguno de estos se muestra explícitamente.Cómo determinar el tipo de certificado desde el archivo
17
A
Respuesta
29
En primer lugar, usted tiene algunos problemas de terminología:
- el estándar X509 define certificados y RSA y DSA son dos de los algoritmos de clave pública que se pueden utilizar en esos certificados;
- 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 los certificados de cliente X509.
lo tanto, si usted está examinando un # 12 de PKCS (típicamente p.12 extensión), entonces ya saben:
- Contiene al menos un certificado de cliente X 509, que contiene una clave pública ; y
- Contiene las claves privadas correspondientes.
Todo lo que usted no sabe es si esos certificados & clave privada son RSA o DSA. Esto se puede comprobar mediante la extracción del certificado (s), y luego examinarlas:
openssl pkcs12 -in mycert.p12 -clcerts -nokeys -out mycert.crt
openssl x509 -in mycert.crt -text
La salida de texto de la orden openssl x509
debería incluir una sección Subject Public Key
, que incluirá campos que le permiten ver si es un RSA o Tecla DSA (junto con el tamaño de la clave).
0
Los certificados también se pueden restringir a ciertos usos.
Por ejemplo, podría estar restringido, por lo que no se puede usar como entidad emisora de certificados. Lea también más en this StackOverflow post.
Cuestiones relacionadas
- 1. Tipo de archivo de certificado SSL
- 2. PowerShell: ¿es posible determinar el tipo MIME de un archivo?
- 3. Cómo usar el vtable para determinar el tipo de clase
- 4. Finfo_file el archivo cargado para determinar tipo MIME
- 5. Algoritmo para determinar el tipo de cambio
- 6. Cómo determinar el subsistema de la aplicación desde el archivo ejecutable
- 7. Cómo determinar el tipo de datos de una variable
- 8. Cómo determinar el tipo de instancia de clase
- 9. ¿Cómo determinar el tipo "real" de un valor de interfaz {}?
- 10. Cómo determinar el tipo de datos de DragEventArgs
- 11. Determinar tipo de imagen desde la base 64 contenidos
- 12. Determine el tipo de archivo con C#
- 13. ¿Cómo puedo determinar el tipo de elemento HTML en JavaScript?
- 14. ¿Cómo determinar el tipo primitivo de una variable primitiva?
- 15. ¿Cómo determinar el tipo de campo para la indexación SOLR?
- 16. ¿Cómo puedo determinar el tipo de referencia bendecida en Perl?
- 17. ¿Cómo puedo determinar el tamaño de un tipo en Haskell?
- 18. ¿Cómo puedo determinar el tipo de repositorio SVN que tengo?
- 19. Usando el comando 'archivo' de linux para determinar el tipo (es decir, imagen, audio o video)
- 20. Java: cómo determinar el tipo de unidad en la que se encuentra un archivo?
- 21. cómo obtener el archivo fuente desde el archivo apk
- 22. C: Tipo de extrapolación desde el puntero de vacío
- 23. ¿Cómo validar el certificado X509?
- 24. ¿Cómo obtengo el Certificado X509 enviado desde el cliente en el servicio web?
- 25. Determinar el tipo de datos de una columna en SQLite
- 26. Cómo determinar Windows.Diagnostics.Process desde ServiceController
- 27. Cómo restringir el tipo de archivo en el control FileUpload
- 28. plantillas de C++ 11, determinar el tipo de devolución
- 29. determinar el tipo de proyecto en Visual Studio
- 30. tiempo de ejecución determinar el tipo para C++