[ https://issues.apache.org/jira/browse/IGNITE-9291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nikolay Izhikov updated IGNITE-9291: ------------------------------------ Fix Version/s: (was: 2.7) 2.8 > IgniteJdbcThinDriver with SSL doesn't work for sqlline on Windows > ----------------------------------------------------------------- > > Key: IGNITE-9291 > URL: https://issues.apache.org/jira/browse/IGNITE-9291 > Project: Ignite > Issue Type: Bug > Components: jdbc > Affects Versions: 2.6 > Reporter: Sergey Kozlov > Priority: Major > Fix For: 2.8 > > > I tried to run AI 2.6 with same configuration under Linux (Ubuntu) and > Windows 10 and then connect {sqlline} with activated SSL. > It works fine for Linux and doesn't work for Windows. > There's no errors on server nodes but sqlline prints out following: > {noformat} > C:/BuildAgent/work/dd4d79acf76cc870/i2test/var/suite-client/gg-pro-fab-nolgpl/bin/sqlline.bat, > WARN: IGNITE_HOME environment variable may be pointing to wrong folder: > C:/BuildAgent/work/dd4d79acf76cc870/i2test/var/suite-client/gg-pro-fab-nolgpl > Setting property: [force, true] > Setting property: [showWarnings, true] > Setting property: [showNestedErrs, true] > issuing: !connect jdbc:ignite:thin://127.0.0.1/?sslMode=require '' '' > org.apache.ignite.IgniteJdbcThinDriver > Connecting to jdbc:ignite:thin://127.0.0.1/?sslMode=require > Error: Failed to SSL connect to server > [url=jdbc:ignite:thin://127.0.0.1:10800] (state=08001,code=0) > java.sql.SQLException: Failed to SSL connect to server > [url=jdbc:ignite:thin://127.0.0.1:10800] > at > org.apache.ignite.internal.jdbc.thin.JdbcThinSSLUtil.createSSLSocket(JdbcThinSSLUtil.java:93) > at > org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.connect(JdbcThinTcpIo.java:217) > at > org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:159) > at > org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo.start(JdbcThinTcpIo.java:134) > at > org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.ensureConnected(JdbcThinConnection.java:151) > at > org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.<init>(JdbcThinConnection.java:140) > at > org.apache.ignite.IgniteJdbcThinDriver.connect(IgniteJdbcThinDriver.java:157) > at sqlline.DatabaseConnection.connect(DatabaseConnection.java:156) > at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:204) > at sqlline.Commands.connect(Commands.java:1095) > at sqlline.Commands.connect(Commands.java:1001) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38) > at sqlline.SqlLine.dispatch(SqlLine.java:791) > at sqlline.SqlLine.initArgs(SqlLine.java:566) > at sqlline.SqlLine.begin(SqlLine.java:643) > at sqlline.SqlLine.start(SqlLine.java:373) > at sqlline.SqlLine.main(SqlLine.java:265) > Caused by: 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 sun.security.ssl.Alerts.getSSLException(Alerts.java:192) > at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949) > at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) > at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) > at > sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509) > at > sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) > at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979) > at sun.security.ssl.Handshaker.process_record(Handshaker.java:914) > at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062) > at > sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) > at > sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) > at > sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) > at > org.apache.ignite.internal.jdbc.thin.JdbcThinSSLUtil.createSSLSocket(JdbcThinSSLUtil.java:88) > ... 20 more > Caused by: sun.security.validator.ValidatorException: PKIX path building > failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to > find valid certification path to requested target > at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387) > at > sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) > at sun.security.validator.Validator.validate(Validator.java:260) > at > sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) > at > sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) > at > sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) > at > sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491) > ... 28 more > Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable > to find valid certification path to requested target > at > sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) > at > sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) > at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) > at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) > {noformat} > command-line sqlline: > {noformat} > bin/sqlline.bat > -d org.apache.ignite.IgniteJdbcThinDriver > --verbose=true > --force=true > --showWarnings=true > --showNestedErrs=true > -u > jdbc:ignite:thin://127.0.0.1/?sslMode=require&sslClientCertificateKeyStoreUrl=client.jks&sslClientCertificateKeyStorePassword=123456&sslTrustCertificateKeyStoreUrl=trust.jks&sslTrustCertificateKeyStorePassword=123456 > > -f sqlline_output.1.batch.txt > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)