Tomcat bundle connect sql server error (ssl issue)

When i use Tomcat bundle(BonitaBPMCommunity-7.5.4-Tomcat-7.0.76) to install system,i got a problem. i used JDK1.8 ,need connect to sql server2008 (use sqljdbc6.jar / sqljdbc4.jar),after database info setup, and run the bat, i got a error like this:


org.apache.tomcat.jdbc.pool.ConnectionPool init
Unable to create initial connections of pool.
com.microsoft.sqlserver.jdbc.SQLServerException: The driver cannot establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption.
error:“java.security.cert.CertificateException: Certificates does not conform to algorithm constraints”。 ClientConnectionId:92d55a23-2465-45c8-8728-8d1cfeb69950
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1668)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1323)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310)
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:203)
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:735)
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:667)
at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:482)
at org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.java:154)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:118)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:107)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:131)
at org.bonitasoft.platform.setup.PlatformSetup.initDataSource(PlatformSetup.java:354)
at org.bonitasoft.platform.setup.PlatformSetup.initPlatformSetup(PlatformSetup.java:382)
at org.bonitasoft.platform.setup.PlatformSetup.init(PlatformSetup.java:95)
at org.bonitasoft.platform.setup.command.InitCommand.execute(InitCommand.java:43)
at org.bonitasoft.platform.setup.PlatformSetupApplication.execute(PlatformSetupApplication.java:105)
at org.bonitasoft.platform.setup.PlatformSetupApplication.run(PlatformSetupApplication.java:79)
at org.bonitasoft.platform.setup.PlatformSetupApplication.main(PlatformSetupApplication.java:64)
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1618)
… 20 more
Caused by: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
at sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints(Unknown Source)
at sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust(Unknown Source)
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(Unknown Source)
… 29 more


i try to find solutions , try to change java.security config and anything i can find on internet ,but still not working, if who can fix this plz help ,thx.

the problem also happened when i use bonita bpm client connect sql server2008, so if there is a connector for sqlserver 2008,why can’t use it…

Based on the stack trace it seems that the issue is related to certificate for secured communication between the application server connection pool and the database server. So it is not specific to Bonita and any recommendations for JDBC secured connection to SQL Server can probably be applied here. Sorry but I have no more information on this topic.

Also note that as explain in the documentation you cannot use SQL Server with Tomcat for Bonita Engine and BDM databases (due to a limitation on transaction management).
If you want to use SQL Server for Bonita Engine and BDM you should use the WildFly bundle.

It should be fine to use SQL Server connector in a process that run on a Tomcat server.

look like sql 2008 can’t use for bonita 7.5, i already try the WildFly bundle ,still had this issue, it happened on ‘setup’ process.