SQL Server Integration: Issue during SSO startup in SSO 9.x and above

 Problem

When SSO is upgraded to SSO 9.x (which uses Java 11) and the JDBC driver is subsequently upgraded to the latest version available (12.6 at the time this document was created) by following the instructions provided here: Configuring the connection for SQL integration - SSO, the SSO application does not start.
It gives the following error in the logs:

2024-05-23 13:36:29,121 uas init DEBUG password.sql.test.1: ubilogin.method.provider.spi.DirectoryPasswordMethod: starting 2024-05-23 13:36:29,143 uas init WARN password.sql.test.1: ubilogin.method.provider.spi.DirectoryPasswordMethod: error control.ServiceUnavailableException: UbiloginServerMethod.getDirectorySPI Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory ("encrypt" property is set to "true" and "trustServerCertificate" property is set to "false" but the driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption: Error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. ClientConnectionId:17c53b60-b79b-4790-aec1-71271f149222)

 

Root Cause

  • By default “encrypt” property is Set to "true” in JDBC driver version 10.2 and later.

  • It specifies that the SQL Server uses TLS encryption for all the data sent between the client and the server if the server has a certificate installed.

  • Ubisecure SSO does not have any configurable parameter to set this property value as required. Somehow SSO supports only value “false” and there is no way to configure this setting.

  • The default value for encrypt is "false" in 9.4 and earlier versions.

 Solution

  • Use JDBC driver version 9.4 with SSO 9.x and above version

 

Highlight important information in a panel like this one. To edit this panel's color or style, select one of the options in the menu.

 Related articles