Uno de nuestros socios comerciales nos solicita que usemos un certificado TLS SHA256 para conectarnos a sus API. No estoy seguro de cómo generar estas solicitudes. He usado openssl en el pasado para crear estas solicitudes, pero generó un certificado SSL usando SHa1. ¿Puedo usar openssl para generar esta solicitud? Si no, ¿cómo genero lo que están pidiendo?
No soy un experto en este campo, así que ni siquiera sé si lo que pregunto tiene sentido.
Respuestas:
El hash CSR y el hash cert no están relacionados
El tipo de hash en la solicitud y en el certificado real no están relacionados entre sí.
La CA verifica la firma en la CSR. De esa manera, la CA puede verificar que la CSR no se modificó en tránsito. Eso es todo lo que hace la firma en la CSR.
No hay una forma oficial (o incluso semioficial) en la banda de decirle a un CA qué hash quieres. En cambio, una empresa de CA puede ejecutar varias CA, una de las cuales utiliza exclusivamente SHA256. Y si desea SHA256, entonces envíe su CSR en el sitio web de ese SHA256-only-CA específico. (Y no en el sitio web de su SHA1-CA).
Lo que a menudo se teoriza es algo como esto: "Si presento un CSR firmado con SHA1, entonces mi certificado se firmará con SHA1". Esto no suele hacerse. ( La única CA que conozco que solía hacer esto durante algún tiempo fue Gandi.net ).
Cómo firmar una CSR con SHA256
Dicho esto, use el
-sha256
parámetro para firmar su CSR con SHA256 de la siguiente manera:Cómo comprobar el tipo de hash de una CSR
Y así es como se descubre el tipo de hash de su CSR:
Bueno. Está utilizando SHA256 tal como queríamos.
fuente
Si está utilizando OpenSSL, simplemente puede agregar la
-sha256
opción de línea de comando, que generará la CSR con el algoritmo de firma SHA-256.fuente