He configurado un servidor que acepta conexiones HTTPS con un certificado de CA personalizado. Lo he instalado en mi Samsung Galaxy A50, y ahora puedo acceder al servidor sin avisos en Chrome. Ahora, me gustaría limitar el acceso a clientes autenticados con mTLS, donde envían certificados de cliente.
Hasta ahora, funciona correctamente en navegadores de escritorio, rechazando la conexión TLS cuando no se proporciona un certificado de cliente. Ahora necesito acceder a esto en el teléfono Android.
Suelo usar Firefox en ese teléfono, pero Firefox aún no admite certificados de cliente. Sin embargo, Chrome sí: cuando accedo a https://certauth.idrix.fr con el certificado de cliente instalado, aparece el popup de elección de certificado. Sin embargo, no lo hace para mi servidor: en su lugar, muestra un ERR_BAD_SSL_CLIENT_AUTH_CERT
(EL SITIO WEB no aceptó su certificado de inicio de sesión, o es posible que no se haya proporcionado. Intente contactar al administrador del sistema.), y no me pide que seleccione el certificado.
De mis pruebas, el problema no parece ser específico de mi servidor: lo mismo sucede con configuraciones de mTLS para Nginx, Apache HTTPd y Traefik. Sin embargo, el servidor https://certauth.idrix.fr es de alguna manera especial, porque el mTLS funciona para él.
¿Cómo hago que Chrome muestre este popup? Si no puedo hacerlo, ¿qué otros navegadores admiten certificados de cliente? (Parece que muy pocos lo hacen).