I access my application with url i.e https://myIPAddress:8443/myWebApp/
I have created the myWebApp.xml file(same name as my application context
name) which contains below context element and placed it under
<tomcat_home>\conf\Catalina\localhost\
<Context>
<Valve
className="org.apache.catalina.authenticator.MySSLAuthenticator"/>
</Context>
MySSLAuthenticator.class is under jar file which is placed under
<tomcat_home>\lib
But looks like MySSLAuthenticator is not coming into picture as i get below
error where i see instance of SSLAuthenticator not MySSLAuthenticator
javax.net.ssl.SSLHandshakeException: null cert chain
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:266)
at
sun.security.ssl.ServerHandshaker.clientCertificate(ServerHandshaker.java:1631)
at
sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:176)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at java.io.InputStream.read(InputStream.java:101)
at
org.apache.tomcat.util.net.jsse.JSSESupport.handShake(JSSESupport.java:181)
at
org.apache.tomcat.util.net.jsse.JSSESupport.getPeerCertificateChain(JSSESupport.java:148)
at
org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:1120)
at org.apache.coyote.Request.action(Request.java:349)
at
org.apache.catalina.authenticator.SSLAuthenticator.authenticate(SSLAuthenticator.java:135)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
i am not sure what is missing here?