How to fix JBR error: java.sql.SQLException: Data Lake is not available - Unable to verify trust for server certificate chain [CN=****-ionapi.inforcloudsuite.com...]

If you are using our JDBC Bridge driver to call Infor Data Lake in non-Java Apps (e.g. ODBC App like Power BI, Excel, etc) then sometimes you might get the below error if Java Certificate Store doesn’t have certificate trusted). You might get the below error

JBR error: java.sql.SQLException: Data Lake is not available
           at com.infor.idl.jdbc.Driver.connect(Driver.java:422)
           at DbConnection.Init(DbConnection.java:45)
           at ClientHandler.openConnection(ClientHandler.java:245)
..........
..........
Caused by: com.infor.idl.shaded.javax.ws.rs.ProcessingException: 
javax.net.ssl.SSLHandshakeException: 
Unable to verify trust for server certificate chain [CN=mingle-ionapi.inforcloudsuite.com, CN=pa-trusted-ca.noble.loc, CN=noble-SUBCA-CA, DC=noble, DC=loc, CN=ROOTCA-CA, CN=ROOTCA-CA]
..........
           at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
..........
..........

To fix this issue you can try a few things

Workaround-1: Disable the SSL Decryption option in firewall software see helps
Many times company firewall software has an SSL description option turned on. Ask your network admin to check this to see it can be the cause of the Certificate Validation failure in Infor JDBC. You can try to exclude *.inforcloudsuite.com from decryption and see if it helps.

See below example link of 3rd party Firewall Software (from PALO-networks ) - Settings to exclude certain domains from SSL Decryption. You may or may not have such an option in your firewall but if you do you can adjust it to see if it helps.

Example of PALO firewall >> (Device > Certificate Management > SSL Decryption Exclusion)

Workaround-2: Import the certificate in JAVA Certificate Store so its always trusted
(https://www.baeldung.com/jvm-certificate-store-errors)

Example of calling keytool.exe

keytool -import -alias ss-badssl.com -keystore $JAVA_HOME/lib/security/cacerts -file ss-badssl.pem