cómo OpenSSL realmente maneja la respuesta de grapado OCSP
OpensSL no hace nada por su cuenta en esta área. Debe lidiar explícitamente con el grapado OCSP en su código, tanto para indicar que admite el grapado como para validar e interpretar la respuesta.
¿El OpenSSL verifica la firma, la clave del emisor / los hashes de nombre de la respuesta?
Si se utilizan las funciones adecuadas, puede hacerlo. La validación de una respuesta de OCSP es similar a validar un certificado o una CRL, es decir, validar la cadena de confianza. Aparte de eso, debe verificar que la respuesta de OCSP sea en realidad para el certificado correcto.
¿La respuesta incluye respuestas de OCSP para toda la cadena de certificados? Si es así, ¿hay alguna forma de saber que una de las validaciones ha fallado?
Esto depende de lo que envíe el servidor y de lo que solicite el cliente (es decir, respuesta única o múltiple de OCSP). Y como tiene que implementar todos los detalles, también tiene la información de qué parte de la validación falló.
Para resumir, ¿puedo simplemente confiar en el campo "Estado de certificación: bueno" de la respuesta? :)
No, no puede simplemente confiar en ninguna respuesta OCSP enviada por el servidor.
Tienes que hacer toda la validación de la respuesta OCSP por ti mismo. Aparte de las partes ya mencionadas, esto implica también verificar si la respuesta es obsoleta (demasiado antigua). Y, por supuesto, el certificado podría haber sido revocado en los últimos minutos, pero la respuesta sigue siendo válida, es decir, OCSP no proporciona información en tiempo real sobre el estado de un certificado.
Tenga en cuenta que solo las herramientas o bibliotecas muy basadas en OpenSSL implementan el grapado de OCSP y / o OCSP, e incluso si lo hacen, por lo general no están habilitados de forma predeterminada. Esto no es muy diferente con otras implementaciones TLS.