¿Cómo puedo solucionar el problema "No se han encontrado certificados: la aplicación Chrome ha solicitado un certificado" Edición de Android / Google Chrome

La cuestión

Algunos de los usuarios de nuestro sitio web están encontrando un problema al acceder a áreas seguras de nuestro sitio web, en dispositivos Android, en Google Chrome.

Se parece a esto;

No se han encontrado certificados ", como se ve en Chrome en Samsung Galaxy S6 (Android v5)

He podido replicar el problema en los dispositivos siguientes usando la prueba física del dispositivo de Browserstack;

  • Samsung Galaxy S6, Samsung Galaxy S5, Samsung Galaxy S4 (Android v5 y v4.4)
  • Nexus 6 (Android v6, v5 y v4.4)
  • Moto X 2ª generación (Android v6 y v5)

Mi investigación

Todos los artículos, foros y preguntas que he leído en línea (y no hay muchos, a menos que esté buscando lo incorrecto) apuntan a la configuración y configuración del servidor y / o certificado SSL, y que el problema que se está experimentando es por diseño.

Sugerencia de la corrección 1

El artículo más útil que he encontrado hasta ahora es el número 268055 "No se encontraron certificados" en el rastreador de problemas de cromo.

El comentario 18 sugiere cambiar la configuración de SSL en IIS;

Puedo solucionar el problema si tiene acceso a IIS. Básicamente, debe ir a Configuración SSL y asegurarse de que la opción Requerir SSL esté desactivada y de que "Ignorar" esté seleccionado para Certificados de cliente .

El comentario 28 lo respalda;

Para el caso no Googler, este mensaje de error sólo se produce cuando se encuentra con un sitio que solicita un certificado de cliente. No hay nada que Chrome pueda hacer aquí: el sitio ha solicitado un certificado de cliente, e incluso saber si un certificado de cliente es válido, Chrome para Android tiene que preguntar al sistema operativo. Ese es el mensaje que está viendo: está controlado por Android y todas las aplicaciones (Google o de otro tipo) están obligadas a pasar por ese flujo.

Esto ocurrirá con cualquier sitio configurado para solicitar certificados de cliente, por lo que para resolver esto, no solicite certificados de cliente o configure sus dispositivos Android para que tengan certificados de cliente (por ejemplo, a través de una aplicación de administración de dispositivos o mediante la instalación de un archivo PKCS # 12) .

Kamakshi: Todo esto es un comportamiento "By Design", pero requiere que los operadores del servidor cambien, así que no estoy seguro de qué hacer con este error.

Al igual que el comentario 43 ;

No creo que la gente en este error sabría mucho sobre la configuración de IIS. Usted querría hablar con Microsoft sobre eso. De buscar alrededor, "Ignore Client Certificate" parece ser la opción que desea .

Hemos hecho eso pero no parece haber hecho la diferencia.

Configuración de SSL de IIS

Configuración de SSL de IIS

Sugerencia de la corrección 2

Otra pregunta aquí en Stack (" certificado confiable en pc, pero no en android ") sugiere que podría faltar un certificado intermedio;

Puede que le falte un certificado intermedio en su archivo cert . Si ya ha visitado otro sitio web que tiene el mismo vendedor de certificados, el certificado intermedio se recuerda en su navegador. Esto no podría – o incluso mejor – no será el caso con cada visitante a su sitio web. Para resolver un certificado intermedio que falta en la conexión SSL, deberá agregar el certificado intermedio a su propio archivo de certificado .

He comprobado y tenemos un certificado de dominio (que no es un certificado comodín), un certificado intermedio y un certificado raíz, así que no creo que sea el problema tampoco. También he ejecutado una prueba de comprobación de sitio en el sitio web de Networking4all y una prueba de SSL en el sitio web de Qualys SSL y ambas rutas sin errores ni advertencias.

Mi pregunta

¿Alguien más ha encontrado este problema? ¿Hay alguna otra solución que podamos tratar de solucionar? Estoy fuera de ideas en este momento por lo que cualquier consejo sería muy apreciado.

Algunos detalles adicionales por si acaso

El servidor en el que se encuentra el sitio web ejecuta Windows Server 2008 R2 e IIS 7.5 y nuestro proveedor de certificados SSL es Thawte.

¡Gracias por adelantado!

Habiendo resuelto exactamente este mismo problema, he aquí lo que encontré …

Especificaciones del servidor (esencialmente igual que OP)

  • Windows Server 2008 r2
  • IIS 7.5
  • Proveedor de SSL: GeoTrust RapidSSL

Primera edición: Políticas criptográficas anticuadas

Varios artículos señalan que el servidor puede tener políticas criptográficas anticuadas. Un poco de investigación reveló que todo se debe configurar usando la configuración del registro. Consulte el artículo Support de MS Cómo restringir el uso de ciertos algoritmos y protocolos criptográficos en Schannel.dll para obtener información detallada.

¿No está seguro de si su servidor está actualizado? La prueba de servidor de SSL Labs es una gran herramienta para validar las políticas criptográficas de su sitio.

¿Editar manualmente el registro?

Los detalles del artículo de soporte técnico de Microsoft modifican las claves del registro. ¡Aack! Un poco más de investigación y encontré una gran utilidad llamada IIS Crypto por Nartac Software que actualizará todas las claves del Registro en un solo clic. FYI: un reinicio es necesario también.

Desde el sitio de Nartac Software:

IIS Crypto es una herramienta gratuita que permite a los administradores habilitar o deshabilitar protocolos, cifras, hashes y algoritmos de intercambio de claves en Windows Server 2008, 2012 y 2016. También le permite reordenar los conjuntos de cifrado SSL / TLS ofrecidos por IIS, implementar las mejores prácticas Con un solo clic, crear plantillas personalizadas y probar su sitio web.

Segundo problema: configuración de sitio SSL de IIS incorrecta

La raíz de este problema debido a la configuración predeterminada de IIS de configuración de SSL para "Aceptar" certificados de cliente. No hay necesidad de aceptar certificados de cliente, así que simplemente establezca el ajuste como "Ignorar" (de la imagen sugerida por el OP # 1).

Nota: La imagen muestra "Requerir SSL" está desmarcada; Para esta discusión, si está marcada no es relevante. Todo lo que importa es que el sitio puede conectarse mediante https.

Ignorar certificados de cliente en IIS

Envolver

Una vez que el servidor tiene las directivas criptográficas reconfiguradas y los ajustes de SSL de IIS se han configurado para ignorar certificados de cliente, se solucionará el error " Sin certificados encontrados ".

  • Advertencia SSL de google play
  • La sesión SSL no se reutiliza en Android WebView
  • Determinar el certificado de firma de un APK
  • ¿Cómo puedo decir la versión TLS en Android Volley
  • Javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Ancla de confianza para la ruta de certificación no encontrada
  • Solicitud HTTP de SSL de Android mediante cert auto-firmado y CA
  • Android - Https conexión a un servicio WCF de .NET da SSLException: "Ningún certificado de compañero"
  • Uso de un certificado autofirmado para crear una conexión cliente-servidor segura en android
  • SSL cambios en android kitkat mantener la conexión de trabajo?
  • "Flujo no representa una tienda de claves PKCS12" después de almacenar con una nueva contraseña en el dispositivo Android
  • Deshabilitar la comprobación de certificados SSL en la biblioteca de actualización
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.