Tengo un complemento de cliente multiplataforma que tiene su propio almacén de confianza (es decir, esta aplicación cliente no confía en el almacén de confianza del sistema operativo) que se utiliza para hablar con un servicio web a través de TLS.
Los clientes que tienen Avast Antivirus se quejaron de errores de conexión. Al estudiar Avast, identifiqué que el origen del problema es la supervisión de HTTPS: Avast realiza un ataque MITM para poder escanear la conexión, utilizando un nuevo certificado generado por una CA local que el software controla para esto. Solo se aplica a las conexiones que dejan un navegador (es decir, si cargo el complemento desde otro software funciona bien, parece que Avast no interfiere con eso), pero en el caso del navegador la conexión fallará porque no confiamos en el sistema de confianza. donde se inyecta el certificado de CA.
Bueno, aunque no me gusta en absoluto la implementación de Avast para esto, y creo que es muy abusiva y tal vez incluso peligrosa, no veo en sus documentos ni en la información pública que me incluirían en la lista blanca (solo lo haría por los bancos ) y entiendo que soy un caso bastante excepcional (la mayoría de las cosas que se conectan desde un navegador confían en el almacén de confianza del sistema). Y no me gusta la idea de tener que guiar a cada usuario que se enfrenta a esto en la forma de crear una lista blanca de nuestro sitio manualmente en su configuración de avast (ya está en nuestras preguntas frecuentes, pero de todos modos, la mayoría no lo lee).
Entonces, tengo que solucionar esto, y no me gustaría hacerlo confiando en el almacén del sistema, ni bajando el nivel de seguridad actual. Creo que podría agregar un código específico de Windows para encontrar algo que se parece a Avast MITM CA y confiar en él, pero parece feo y probablemente inseguro, ya que cada instalación tiene su propio CA (espero que al menos) y, por lo tanto, solo podría identificarlo nombre (¿quién sabe cuándo cambiará?), de todos modos, esa no es realmente una buena manera de identificar un certificado de confianza.
¿Alguien tiene alguna idea diferente sobre cómo solucionar esto?