Infrastructure Agent - SQL Server connection error
search cancel

Infrastructure Agent - SQL Server connection error

book

Article ID: 263374

calendar_today

Updated On:

Products

CA Application Performance Management (APM / Wily / Introscope)

Issue/Introduction

We are enabling SQL Server in monitoring, but APMIA is showing TLS 1.0 error. The SQL environment is using TLS 1.2, so we would like to know if we can enable the infrastructure agent to use TLS 1.2?

 

[ERROR] [IntroscopeAgent.DBMonitor] 
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]". ClientConnectionId:0322a3b8-aa89-xxxxx-95bxxxxx56
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2392)
 at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1777)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1969)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1616)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1447)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:788)
 at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1187)
 at java.sql.DriverManager.getConnection(DriverManager.java:664)
 at java.sql.DriverManager.getConnection(DriverManager.java:247)
 at com.ca.agent.extensions.dbmon.DBMonMetricsContext.initializeConnection(DBMonMetricsContext.java:249)
 at com.ca.agent.extensions.dbmon.commands.DBMonCheckDBAvailabilityCommand.execute(DBMonCheckDBAvailabilityCommand.java:46)
 at com.ca.agent.extensions.dbmon.DBMonChain.run(DBMonChain.java:66)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:750)
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
 at sun.security.ssl.Alert.createSSLException(Alert.java:131)
 at sun.security.ssl.Alert.createSSLException(Alert.java:117)
 at sun.security.ssl.TransportContext.fatal(TransportContext.java:311)
 at sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
 at sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
 at sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(ServerHello.java:943)
 at sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:869)
 at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)
 at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
 at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
 at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
 at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152)
 at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1392)
 at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1300)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
 at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1703)
 ... 13 more

Environment

Release : 22.1

Resolution

After new tests we identified that the problem is in the password. The password had some characters that the agent could not understand and this causing connection issue. After putting a simpler password for agent, it solved the problem.