Tengo dificultades para usar un certificado X.509 para realizar la autenticación del cliente desde Safari (9.0.1, como en OS X 10.10.5).
El síntoma es que voy a un sitio https://...
que verifica el certificado del cliente, pero Safari parece simplemente colgar como si estuviera esperando por una respuesta del servidor. En la consola de errores, informa Failed to load resource: cancelled
(y en uno de los servidores con los que he probado esto, sobre el que tengo control, el informe de registros correspondiente indica que el navegador pareció cerrar la conexión de manera abrupta; no hay otra indicación de que haya un protocolo botch).
El certificado es válido y tiene una buena firma de CA, según lo verificado por openssl
, y por el hecho de que funciona como se esperaba con Firefox, Chrome y curl
. Tenga en cuenta que Chrome y OS X curl
sí usan el llavero, y Firefox no, por lo que no hay un factor común allí. Además, OS X curl
está creado contra SecureTransport en lugar de OpenSSL, así es, creo, que utiliza la misma biblioteca SSL que Safari (no sé sobre Chrome a este respecto).
Esto no es un problema del lado del servidor, porque otros que usan la misma versión de Safari pueden obtener la misma URL con certificados de la misma CA. Además, puedo conectarme directamente a ese sitio usando Chrome, que por supuesto también usa WebKit, y que usa el mismo certificado, a través del llavero.
Lo más cercano a un diagnóstico que puedo encontrar es que aparece un mensaje en la Consola cada vez que hago esto, diciendo:
2015-11-13 18:43:53.329 Keychain Access[1373]: SOSCCThisDeviceIsInCircle SOSCCThisDeviceIsInCircle!! 58
(el número final se incrementa cada vez).
No he podido encontrar nada en absoluto relacionado con esa cadena, aparte de pasar menciones en algunas publicaciones de foro claramente desconcertadas.
He intentado eliminar las preferencias de identidad de Keychain Access sin éxito, he intentado eliminar certificados similares (caducados) del llavero y he intentado exportar y volver a importar el certificado correspondiente. todo sin efecto.
Estoy perplejo! ¿Alguien tiene alguna sugerencia? Como parece ser un problema específico de Safari, pregunto aquí antes de probar la SE de seguridad.