Hello dear Tomcat Users and Developers, I'm want my tomcat to use Client Authentication to check access of different users. I created all certs (HTTPS works) but if I connect with a Client and send my Client Cert I always get a 403 Error. I don't think it'S a problem of certificates but of the configuration of tomcat. This is the config for the Client-Auth in the web.xml:
<security-constraint> <web-resource-collection> <web-resource-name>PartNos</web-resource-name> <url-pattern>/TNR/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> <security-role> <role-name>secureconn</role-name> </security-role> <security-role> <role-name>admin</role-name> </security-role> <security-constraint> <web-resource-collection> <web-resource-name>PartNoSecure</web-resource-name> <url-pattern>/TNR/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>secureconn</role-name> <role-name>admin</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>CLIENT-CERT</auth-method> </login-config> And this is my tomcat-users.xml ("Maximilian Schmidt" is the CN of my client-certificate): <role rolename="admin" /> <role rolename="secureconn"/> <user username="Maximilian Schmidt" password="123456789" roles="secureconn, admin"/> And finally the server.xml Connector: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="C:\Users\mschm223\Documents\My-PKI\keystore\keystore.jks" keystorePass="123456" keyAlias="server_cert_req" clientAuth="true" sslProtocol="TLS" truststoreFile="C:\Users\mschm223\Documents\My-PKI\keystore\truststore.jks" truststorePass="123456" /> I looked into the Logfiles but there are no errors. I am using Tomcat 6.0.36 and Windows 7. Thank you very much for your help Sincerelly, Maximilian Schmidt