Estamos utilizando WinHTTP para enviar llamadas a la API desde nuestro cliente. Ahora de acuerdo con Common Criteria, FCS_TLSC_EXT.1.2 actividad de aseguramiento Prueba 2, si el certificado contiene un CN (nombre común) válido pero SAN (nombre alternativo del sujeto), la conexión debería fallar.
Prueba 2: el evaluador deberá presentar un certificado de servidor que contenga un CN que coincide con el identificador de referencia, contiene la extensión SAN, pero no contiene un identificador en la SAN que coincida con la referencia identificador El evaluador deberá verificar que la conexión falla. los El evaluador repetirá esta prueba para cada tipo de SAN compatible.
herramienta que estamos usando para generar un certificado con CN válido pero SAN no válido .
Sin embargo, con WinHTTP y el paquete de solicitudes de python, aceptan la SAN no válida (que no debería ocurrir). Parece que no hay documentación en WinHTTP sobre cómo se puede manejar esto. esta es la implementación interna de WinHTTP.
Internet Explorer también falla esta prueba y acepta la conexión. Sin embargo, Chrome niega la conexión y confirma que el certificado no es válido (que es el comportamiento requerido):
La prueba también falla con la biblioteca de solicitud de python.
Estamos buscando alguna forma si esto se puede modificar para verificar el problema. ¿O es que nosotros solo estamos enfrentando el problema?
Dado que las bibliotecas de Python y Windows se usan comúnmente, ¿es este comportamiento común? ¿Alguien más ha experimentado este problema?
Quiero saber si esta es la forma en que WInHTTP implementa la verificación de SAN, o es solo nuestra implementación. Además, no pude encontrar ninguna documentación en MSDN con respecto a la comprobación de SAN en WinHTTP.