[keycloak-user] Help needed

Jan Lieskovsky jlieskov at redhat.com
Fri Nov 22 05:33:05 EST 2019


Hello Vishal,

  you can try to rerun Keycloak with "*-Djavax.net.debug*" system property
enabled. The possible values of the property
(& their respective meaning, when used) are as follows AFAICT:

all            turn on all debugging
ssl            turn on ssl debugging

The following can be used with ssl:
        record             enable per-record tracing
        handshake          print each handshake message
        keygen             print key generation data
        session            print session activity
        defaultctx         print default SSL initialization
        sslctx             print SSLContext tracing
        sessioncache       print session cache tracing
        keymanager         print key manager tracing
           trustmanager       print trust manager tracing
        pluggability       print pluggability tracing

        handshake debugging can be widened with:
        data                 hex dump of each handshake message
        verbose              verbose handshake message printing

        record debugging can be widened with:
        plaintext         hex dump of record plaintext
        packet            print raw SSL/TLS packets

IOW using just "*-Djavax.net.debug=ssl*"   should print a more verbose
information about
the certificates, Keycloak is aware of and which specific of them it was
unable to find, when
searching for it, already.

If this is not enough, you can try to rerun with some more detailed /
focused setting,
(e.g. "*-Djavax.net.debug=ssl:handshake*" or "
*-Djavax.net.debug=ssl:trustmanager*")
to get exact line (exact cert file), which was attempted to be used, when
it failed.

HTH


On Thu, Nov 21, 2019 at 10:50 PM Vishal Komma Reddy <
Vishal.KommaReddy at validusresearch.com> wrote:

> Hi,
>
>
>
> Do we have a solution for this issue yet? If so can you let us know what
> exactly needs to be done because we have all the certs in the key store and
> also the trusted certs in the trust store and the SPI we are adding in the
> standalone.xml :
>
>
>
>             <spi name="truststore">
>
>               <provider name="file" enabled="true">
>
>                 <properties>
>
>                   <property name="file"
> value="/opt/jboss/keycloak/standalone/configuration/xxx.keystore" />
>
>                   <property name="password" value="xxx" />
>
>                   <property name="hostname-verification-policy"
> value="WILDCARD"/>
>
>                   <property name="disabled" value="false"/>
>
>                 </properties>
>
>               </provider>
>
>             </spi>
>
>
>
>
>
> Caused by: javax.net.ssl.SSLHandshakeException:
> sun.security.validator.ValidatorException: PKIX path building failed:
> sun.security.provider.certpath.SunCertPathBuilderException: unable to find
> valid certification path to requested target
>
>         at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
>
>         at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
>
>         at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316)
>
>         at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310)
>
>         at
> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1639)
>
>         at
> sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:223)
>
>         at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037)
>
>         at sun.security.ssl.Handshaker.process_record(Handshaker.java:965)
>
>         at
> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1064)
>
>         at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
>
>         at
> sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:750)
>
>         at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
>
>         at
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
>
>         at
> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
>
>         at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:443)
>
>         at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:416)
>
>         at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:359)
>
>         at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:214)
>
>         ... 88 more
>
> Caused by: sun.security.validator.ValidatorException: PKIX path building
> failed: sun.security.provider.certpath.SunCertPathBuilderException: unable
> to find valid certification path to requested target
>
>         at
> sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
>
>         at
> sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
>
>         at sun.security.validator.Validator.validate(Validator.java:262)
>
>         at
> sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:330)
>
>         at
> sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:237)
>
>        at
> sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
>
>         at
> sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1621)
>
>         ... 101 more
>
> Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
> unable to find valid certification path to requested target
>
>         at
> sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
>
>         at
> sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
>
>         at
> java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
>
>         at
> sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392)
>
>
>
>
> Vishal
>
>
> This communication and any attachment thereto may contain confidential and
> proprietary material of Validus Group or others, the unauthorized
> disclosure of which to third parties may cause permanent and irremediable
> damage. If you believe you received this communication in error, please
> contact the sender and delete it from any computer and other electronic
> devices on which it may have been stored.  Thank you.
>
>
Thank you && Regards, Jan
--
Jan iankko Lieskovsky / Keycloak / RH-SSO Team


More information about the keycloak-user mailing list