Uso de CLIENT-CERT para Tomcat sin especificar un nombre de usuario

Estoy tratando de hacer que una aplicación web de Tomcat use la autenticación de certificado de cliente para las conexiones entrantes. Todo funciona bien cuando se usa clientAuth = true en server.xml, sin embargo, debido a que otras aplicaciones se ejecutan en el mismo servidor, no podemos usar esto en el entorno de producción.

¿Hay una manera de formar un documento web.xml de tal manera que obligue el uso del certificado de cliente para la aplicación de la misma manera que clientAuth = true? Parece que usar la configuración CLIENTE-CERT también requiere que configure una cuenta de usuario Tomcat para cada certificado que debe acceder a su sistema. Necesitamos poder permitir todos los certificados que sean de una CA especificada (establecida en el servidor del almacén de confianza) donde el sujeto coincida con ciertas reglas (verificadas dentro de la aplicación real). Esperaba que algo como lo siguiente funcionara, ¡pero aún no hay suerte!

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Everything</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>
<login-config>
    <auth-method>CLIENT-CERT</auth-method>
</login-config>

Respuestas a la pregunta(2)

Su respuesta a la pregunta