Skip to content

[BUG] java.security.KeyStoreException: KeychainStore not found - broken since v1.4.2 #573

Open
@germain0

Description

@germain0

Environment

  • DocumentDB JDBC driver version: 1.4.2, 1.4.3, 1.4.4, 1.4.5
  • DocumentDB server version: 5.0.0
  • OS: MacOS Ventura 13.6.7
  • BI Tool or client name: dbeaver
  • BI Tool or client version: 24.1.3
  • Java version (if known): OpenJDK 17.0.6

Problem Description

  1. Steps to reproduce: Install Driver and try to test connection
  2. Expected behaviour: successful connection
  3. Actual behaviour:
  4. Error message/stack trace:
  5. 2024-07-24 22:17:43.262 - KeychainStore KeyStore not available
    java.security.NoSuchAlgorithmException: KeychainStore KeyStore not available
    at java.base/sun.security.jca.GetInstance.getInstance(Unknown Source)
    at java.base/java.security.Security.getImpl(Unknown Source)
    at java.base/java.security.KeyStore.getInstance(Unknown Source)
    at shadow.nl.altindag.ssl.util.KeyStoreUtils.createKeyStore(KeyStoreUtils.java:143)
    at shadow.nl.altindag.ssl.util.KeyStoreUtils.loadSystemKeyStores(KeyStoreUtils.java:210)
    at shadow.nl.altindag.ssl.util.TrustManagerUtils.createTrustManagerWithSystemTrustedCertificates(TrustManagerUtils.java:82)
    at shadow.nl.altindag.ssl.util.CertificateUtils.getSystemTrustedCertificates(CertificateUtils.java:224)
    at software.amazon.documentdb.jdbc.DocumentDbConnectionProperties.applyCertificateAuthorities(DocumentDbConnectionProperties.java:1402)
    at software.amazon.documentdb.jdbc.DocumentDbConnectionProperties.applyToSslSettings(DocumentDbConnectionProperties.java:1394)
    at shadow.com.mongodb.MongoClientSettings$Builder.applyToSslSettings(MongoClientSettings.java:322)
    at software.amazon.documentdb.jdbc.DocumentDbConnectionProperties.applyTlsSettings(DocumentDbConnectionProperties.java:1378)
    at software.amazon.documentdb.jdbc.DocumentDbConnectionProperties.buildMongoClientSettings(DocumentDbConnectionProperties.java:774)
    at software.amazon.documentdb.jdbc.DocumentDbConnectionProperties.buildMongoClientSettings(DocumentDbConnectionProperties.java:727)
    at software.amazon.documentdb.jdbc.DocumentDbConnectionProperties.createMongoClient(DocumentDbConnectionProperties.java:706)
    at software.amazon.documentdb.jdbc.DocumentDbConnection.initializeClients(DocumentDbConnection.java:282)
    at software.amazon.documentdb.jdbc.DocumentDbConnection.(DocumentDbConnection.java:92)
    at software.amazon.documentdb.jdbc.DocumentDbDriver.connect(DocumentDbDriver.java:94)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCConnectionOpener.run(JDBCConnectionOpener.java:109)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCConnectionOpener.run(JDBCConnectionOpener.java:83)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:222)
    at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:160)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:106)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:102)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.(JDBCRemoteInstance.java:61)
    at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:120)
    at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.(GenericDataSource.java:125)
    at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.createDataSourceImpl(GenericMetaModel.java:92)
    at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
    at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:1405)
    at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect0(DataSourceDescriptor.java:1275)
    at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:1060)
    at org.jkiss.dbeaver.runtime.jobs.ConnectJob.run(ConnectJob.java:78)
    at org.jkiss.dbeaver.runtime.jobs.ConnectionTestJob.run(ConnectionTestJob.java:103)
    at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:117)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
  6. Any other details that can be helpful:
    jdbc:documentdb://xxxx.zzzz.docdb.amazonaws.com:27017/yyyyyy?tlsAllowInvalidHostnames=true&tlsCAFile=~/certificats/aws_document_db_global-bundle.pem

documentdb-jdbc-1.3.1-all.jar(success)
documentdb-jdbc-1.4.1-all.jar (success)
documentdb-jdbc-1.4.2-all.jar (fail)
documentdb-jdbc-1.4.3-all.jar (fail)
documentdb-jdbc-1.4.4-all.jar (fail)
documentdb-jdbc-1.4.5-all.jar (fail)

Screenshots

  • If applicable, add screenshots to help explain your problem.

JDBC log

  • Add related JDBC log entries here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions