Skip to content

Questions & Answers

alvar-sk edited this page Jan 8, 2021 · 15 revisions

Questions & Answers

If SLF4J logger errors show up in the logs

It may happen that you see following lines in the logs:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".  
SLF4J: Defaulting to no-operation (NOP) logger implementation  
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

This happens when no appropriate SLF4J binding could be found on the class path. Placing one (and only one) of slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

If SSLHandshakeException error shows up in the logs

It also may happen that you see following exception:

Exception in thread "main" javax.ws.rs.ProcessingException: 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 org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:287)
	at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:252)
	at org.glassfish.jersey.client.JerseyInvocation$2.call(JerseyInvocation.java:701)
	....

This means that the client can't establish a trusted certificate chain during SSL handshake phase. Currently Smart-ID back-end uses DigiCert SHA2 Secure Server CA certificate for SSL connections, but Java installations' default trusted certificates file doesn't contain it's root certificate. You can solve this problem by adding DigiCert Global Root CA certificate into the trusted certificate file (usually located at: $JAVA_HOME/jre/lib/security/cacerts)

When the problem still persists, that probably means that there's a issue with Server Name Indication (SNI). The SNI bug comes from JDK, which according to the official ticket existed since Java 8, Update 66 version was patched in Java 8, Update 141. The solution is to use older version of Java than Java 8, Update 66 or Java 8, Update 141 or later versions.

Clone this wiki locally