You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Vivien Wu <vi...@gmail.com> on 2019/08/28 20:09:41 UTC

Client-CERT SSLVerifyClient=none does not seem to work .. any suggestion for debugging?

Tomcat version: 8.5.14
OS: debian 9 (stretch)
Issues:  If using SSLVerifyClient=optional, it seems to work (log attached,
assuming config is validated);
however when trying to use SSLVerifyClient=none, the browser complains

This site can’t provide a secure connection login-test.foo.com sent an
invalid response.
ERR_SSL_PROTOCOL_ERROR


When digging into tomcat log, the only clues as follows.


28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
authenticate()
28-Aug-2019 18:16:38.091 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Failed
authenticate() test

.. wondering if anyone has any suggestion as how to debug the issues.

Thank you all in advance for your help.




Configuration:
1. web.xml


    <!-- Servlet protected by container used for X.509 authentication -->
    <servlet>
        <servlet-name>X509AuthHandler</servlet-name>

<servlet-class>net.shibboleth.idp.authn.impl.X509AuthServlet</servlet-class>
        <load-on-startup>3</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>X509AuthHandler</servlet-name>
        <url-pattern>/Authn/X509</url-pattern>
    </servlet-mapping>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>X509AuthHandler</web-resource-name>
            <url-pattern>/Authn/X509</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
        <auth-constraint>
            <role-name>X509</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
         <auth-method>CLIENT-CERT</auth-method>
    </login-config>




2. server.xml


 <Service name="Catalina">

    <Connector port="8443"
               protocol="org.apache.coyote.http11.Http11AprProtocol"
               SSLEnabled="true"
               scheme="https"
               secure="true"
               maxPostSize="100000"
              SSLCertificateFile="/etc/ssl/certs/server.pem"
              SSLCertificateChainFile="/etc/ssl/certs/server-chain.pem"
              SSLCertificateKeyFile="/etc/ssl/private/server.key"
              SSLCACertificateFile="/etc/ssl/certs/ca-client.pem"
              SSLVerifyClient="none"
              SSLProtocol="TLSv1.2+TLSv1.1"

SSLCipherSuite="ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
              SSLHonorCipherOrder="on" />

    <Engine name="Catalina"
            defaultHost="login-test.foo.com">
     <Realm className="org.apache.catalina.realm.CombinedRealm" >
        <Realm
className="net.unicon.tomcat7.realm.X509AuthenticationBypassingRealm"/>
     </Realm>



3. logging.properties

org.apache.catalina.realm.level = ALL
org.apache.catalina.realm.useParentHandlers = true
org.apache.catalina.authenticator.level = ALL
org.apache.catalina.authenticator.useParentHandlers = true
net.unicon.tomcat7.realm.level = ALL
net.unicon.tomcat7.realm.useParentHandlers = true
org.apache.coyote.http11.level = ALL
org.apache.coyote.http11.useParentHandlers = true

with  -Djavax.net.debug=ssl




4. When SSLVerifyClient=none is specified in Connector,  got the following
in the browser,

This site can’t provide a secure connection login-test.foo.com sent an
invalid response.
ERR_SSL_PROTOCOL_ERROR

and in the catalina log,

28-Aug-2019 18:16:38.089 FINE [https-openssl-apr-8443-exec-1]
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine Received [GET
/idp/Authn/X509?conversation=e1s1 HTTP/1.1
Host: login-test.foo.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
DNT: 1
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,mt;q=0.6,zh-TW;q=0.5
Cookie: JSESSIONID=70B72EE82D09700707565E884DB1E3C5.jvm1; x509passthrough=1

]
28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke Security
checking request GET /idp/Authn/X509
28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[X509AuthHandler]' against GET /Authn/X509
--> true
28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[Automatic Forward to HTTPS/SSL]' against GET
/Authn/X509 --> true
28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
hasUserDataPermission()
28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.hasUserDataPermission   User data
constraint already satisfied
28-Aug-2019 18:16:38.090 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
authenticate()
28-Aug-2019 18:16:38.091 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Failed
authenticate() test
28-Aug-2019 18:16:38.094 FINE [https-openssl-apr-8443-exec-1]
org.apache.coyote.AbstractProcessorLight.process Socket:
[org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@2081420c:139711359418528],
Status in: [OPEN_READ], State out: [OPEN]
28-Aug-2019 18:16:38.094 FINE [https-openssl-apr-8443-exec-1]
org.apache.coyote.AbstractProtocol$ConnectionHandler.release Pushed
Processor [org.apache.coyote.http11.Http11Processor@4c325234]
28-Aug-2019 18:16:38.115 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Processing
socket [139,711,359,418,528] with status [OPEN_READ]
28-Aug-2019 18:16:38.115 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Found
processor [null] for socket [139,711,359,418,528]
28-Aug-2019 18:16:38.115 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Popped
processor [org.apache.coyote.http11.Http11Processor@4c325234] from cache
28-Aug-2019 18:16:38.124 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request
header
 java.io.IOException: Unexpected error [20,014] reading data from the
APR/native socket [139,711,359,418,528] with wrapper
[org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@2081420c
:139711359418528].
at
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer(AprEndpoint.java:2487)
at
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.fillReadBuffer(AprEndpoint.java:2407)
at
org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper.read(AprEndpoint.java:2393)
at
org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:713)
at
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:362)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:683)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2298)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

28-Aug-2019 18:16:38.125 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProcessorLight.process Socket:
[org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@2081420c:139711359418528],
Status in: [OPEN_READ], State out: [CLOSED]
28-Aug-2019 18:16:38.125 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.release Pushed
Processor [org.apache.coyote.http11.Http11Processor@4c325234]
28-Aug-2019 18:16:40.713 FINE [https-openssl-apr-8443-exec-3]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Processing
socket [139,711,359,279,264] with status [OPEN_READ]
28-Aug-2019 18:16:40.713 FINE [https-openssl-apr-8443-exec-3]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Found
processor [null] for socket [139,711,359,279,264]
28-Aug-2019 18:16:40.713 FINE [https-openssl-apr-8443-exec-3]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Popped
processor [org.apache.coyote.http11.Http11Processor@4c325234] from cache



5. When SSLVerifyClient=optional is specified in Connector, the browser
popped the diag for certificate and all goes well.

27-Aug-2019 03:11:31.248 FINE [https-openssl-apr-8443-exec-1]
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine Received [GET
/idp/Authn/X509?conversation=e1s1 HTTP/1.1
Host: login-test.foo.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Sec-Fetch-Mode: navigate
DNT: 1
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,mt;q=0.6,zh-TW;q=0.5
Cookie: JSESSIONID=88DEB8C5AA0019057B9F65F600CC34DC.jvm1; x509passthrough=1

]
27-Aug-2019 03:11:31.249 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke Security
checking request GET /idp/Authn/X509
27-Aug-2019 03:11:31.249 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[X509AuthHandler]' against GET /Authn/X509
--> true
27-Aug-2019 03:11:31.250 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[Automatic Forward to HTTPS/SSL]' against GET
/Authn/X509 --> true
27-Aug-2019 03:11:31.250 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
hasUserDataPermission()
27-Aug-2019 03:11:31.250 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.hasUserDataPermission   User data
constraint already satisfied
27-Aug-2019 03:11:31.250 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
authenticate()
27-Aug-2019 03:11:31.252 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.CombinedRealm.authenticate Attempting to
authenticate user "T=Apple Inc. Mac OS X (10.13), C=US, OU=MyDevices,
O=Foo, CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C" with
realm "net.unicon.tomcat7.realm.X509AuthenticationBypassingRealm"
27-Aug-2019 03:11:31.252 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.authenticate Authenticating client
certificate chain
27-Aug-2019 03:11:31.253 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.getPrincipal Got user name from X509
certificate: T=Apple Inc. Mac OS X (10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C
27-Aug-2019 03:11:31.253 FINE [https-openssl-apr-8443-exec-1]
net.unicon.tomcat7.realm.X509AuthenticationBypassingRealm.getPrincipal
Returning GenericPrincipal with username T=Apple Inc. Mac OS X (10.13),
C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C and role X509
27-Aug-2019 03:11:31.255 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.CombinedRealm.authenticate Authenticated user
"T=Apple Inc. Mac OS X (10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C" with realm
"net.unicon.tomcat7.realm.X509AuthenticationBypassingRealm"
27-Aug-2019 03:11:31.255 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.register Authenticated
'T=Apple Inc. Mac OS X (10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C' with type
'CLIENT_CERT'
27-Aug-2019 03:11:31.256 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.register Session ID
changed on authentication from [88DEB8C5AA0019057B9F65F600CC34DC.jvm1] to
[157941E37EF3E5DDF420BE31693D29B7.jvm1]
27-Aug-2019 03:11:31.256 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
accessControl()
27-Aug-2019 03:11:31.256 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.hasResourcePermission   Checking roles
GenericPrincipal[T=Apple Inc. Mac OS X (10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C(X509,)]
27-Aug-2019 03:11:31.256 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.hasRole Username T=Apple Inc. Mac OS X
(10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C has role X509
27-Aug-2019 03:11:31.256 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.realm.RealmBase.hasResourcePermission Role found:  X509
27-Aug-2019 03:11:31.257 FINE [https-openssl-apr-8443-exec-1]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Successfully
passed all security constraints


27-Aug-2019 03:11:31.260 FINE [https-openssl-apr-8443-exec-1]
org.apache.coyote.AbstractProcessorLight.process Socket:
[org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@7796385b:140007344664736],
Status in: [OPEN_READ], State out: [OPEN]
27-Aug-2019 03:11:31.260 FINE [https-openssl-apr-8443-exec-1]
org.apache.coyote.AbstractProtocol$ConnectionHandler.release Pushed
Processor [org.apache.coyote.http11.Http11Processor@3a59f8f8]
27-Aug-2019 03:11:31.305 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Processing
socket [140,007,344,664,736] with status [OPEN_READ]
27-Aug-2019 03:11:31.305 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Found
processor [null] for socket [140,007,344,664,736]
27-Aug-2019 03:11:31.305 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Popped
processor [org.apache.coyote.http11.Http11Processor@3a59f8f8] from cache
27-Aug-2019 03:11:31.306 FINE [https-openssl-apr-8443-exec-2]
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine Received [GET
/idp/profile/SAML2/Redirect/SSO?execution=e1s1&_eventId_proceed=1 HTTP/1.1
Host: login-test.foo.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Sec-Fetch-Mode: navigate
DNT: 1
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,mt;q=0.6,zh-TW;q=0.5
Cookie: JSESSIONID=157941E37EF3E5DDF420BE31693D29B7.jvm1; x509passthrough=1

]
27-Aug-2019 03:11:31.306 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.authenticator.AuthenticatorBase.invoke Security
checking request GET /idp/profile/SAML2/Redirect/SSO
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.authenticator.AuthenticatorBase.invoke We have cached
auth type CLIENT_CERT for principal GenericPrincipal[T=Apple Inc. Mac OS X
(10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C(X509,)]
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[X509AuthHandler]' against GET
/profile/SAML2/Redirect/SSO --> false
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[Automatic Forward to HTTPS/SSL]' against GET
/profile/SAML2/Redirect/SSO --> true
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[X509AuthHandler]' against GET
/profile/SAML2/Redirect/SSO --> false
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.findSecurityConstraints   Checking
constraint 'SecurityConstraint[Automatic Forward to HTTPS/SSL]' against GET
/profile/SAML2/Redirect/SSO --> true
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
hasUserDataPermission()
27-Aug-2019 03:11:31.307 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.hasUserDataPermission   User data
constraint already satisfied
27-Aug-2019 03:11:31.308 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Calling
accessControl()
27-Aug-2019 03:11:31.308 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.hasResourcePermission   Checking roles
GenericPrincipal[T=Apple Inc. Mac OS X (10.13), C=US, OU=MyDevices, O=Foo,
CN=user-foo/Enrollment-XXYYZZZZ-B40E-41E7-830C-9F75484FAA4C(X509,)]
27-Aug-2019 03:11:31.308 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.realm.RealmBase.hasResourcePermission Passing all access
27-Aug-2019 03:11:31.308 FINE [https-openssl-apr-8443-exec-2]
org.apache.catalina.authenticator.AuthenticatorBase.invoke  Successfully
passed all security constraints






ps:
* Unicon's x509 bypassing tomcat realm
https://github.com/Unicon/x509authentication-bypassing-tomcat-realm
* Additionally, also tried with allRolesMode="authOnly",  with no obvious
difference.

Re: Client-CERT SSLVerifyClient=none does not seem to work .. any suggestion for debugging?

Posted by Vivien Wu <vi...@gmail.com>.
Thank you for your response.
Perhaps I was not clear.. what I really want to do is to have Client
authentication only for the particular path (/Authn/X509).
But it does not seem to kick in and I am wondering if there is any
suggestion for troubleshooting.

-Vivien

On Thu, Aug 29, 2019 at 12:48 AM Mark Thomas <ma...@apache.org> wrote:

> On 28/08/2019 23:09, Vivien Wu wrote:
> > Tomcat version: 8.5.14
> > OS: debian 9 (stretch)
> > Issues:  If using SSLVerifyClient=optional, it seems to work (log
> attached,
> > assuming config is validated);
> > however when trying to use SSLVerifyClient=none, the browser complains
> >
> > This site can’t provide a secure connection login-test.foo.com sent an
> > invalid response.
> > ERR_SSL_PROTOCOL_ERROR
>
> What did you expect?
>
> You told the Connector - explicitly - not to ask for CLIENT-CERT
> authentication.
>
> You told the application to require CLIENT-CERT authentication.
>
> It looks like SSLVerifyClient=optional is the correct setting for you
> use case.
>
> Mark
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Client-CERT SSLVerifyClient=none does not seem to work .. any suggestion for debugging?

Posted by Mark Thomas <ma...@apache.org>.
On 28/08/2019 23:09, Vivien Wu wrote:
> Tomcat version: 8.5.14
> OS: debian 9 (stretch)
> Issues:  If using SSLVerifyClient=optional, it seems to work (log attached,
> assuming config is validated);
> however when trying to use SSLVerifyClient=none, the browser complains
> 
> This site can’t provide a secure connection login-test.foo.com sent an
> invalid response.
> ERR_SSL_PROTOCOL_ERROR

What did you expect?

You told the Connector - explicitly - not to ask for CLIENT-CERT
authentication.

You told the application to require CLIENT-CERT authentication.

It looks like SSLVerifyClient=optional is the correct setting for you
use case.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org