- Mutual Client Authentication Get Certificate in Servlet
- <Connector
- clientAuth="true" port="8443" protocol="HTTP/1.1" SSLEnabled="true"
- scheme="https" secure="true"
- keystoreFile="C:/Users/Kevin Bowersox/Desktop/Development/My Certs/server.jks"
- keystoreType="JKS" keystorePass="notmypassword"
- truststoreFile="C:/Users/Kevin Bowersox/Desktop/Development/My Certs/server.jks"
- truststoreType="JKS" truststorePass="notmypassword"
- SSLVerifyClient="require" SSLVerifyDepth="2" sslProtocol="TLS"
- />
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
- if (null != certs && certs.length > 0) {
- System.out.println("cert found");
- }
- throw new RuntimeException("No X.509 client certificate found in request");
- }
- <servlet>
- <description>
- </description>
- <display-name>MyServlet</display-name>
- <servlet-name>MyServlet</servlet-name>
- <servlet-class>MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>MyServlet</servlet-name>
- <url-pattern>/MyServlet</url-pattern>
- </servlet-mapping>
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
- X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
- if (null != certs && certs.length > 0) {
- System.out.println("cert found");
- }
- //throw new RuntimeException("No X.509 client certificate found in request");
- chain.doFilter(request, response);
- }
- <filter>
- <description>
- </description>
- <display-name>MyFilter</display-name>
- <filter-name>MyFilter</filter-name>
- <filter-class>MyFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>MyFilter</filter-name>
- <url-pattern>*.jsp</url-pattern>
- </filter-mapping>