Мне удалось разбить файл сертификата rds-combination-ca-bundle.pem и импортировать каждый из них в хранилище ключей отдельно. Затем я добавил в параметры jvm -Djavax.net.ssl.trustStore = путь_to_truststore_file и -Djavax.net.ssl.trustStorePassword = password. Он работал на одном приложении с использованием конфигурации JNDI, например, как показано ниже:javax.net.ssl.SSLException: Неподдерживаемая версия записи Неизвестная ошибка 0.0 на подключении SSL MySQL на Amazon RDS и конфигурации источника данных HikariCp
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/contextname" unpackWAR="true" useNaming="true" swallowOutput="false">
<Resource removeAbandoned="true"
removeAbandonedTimeout="60"
name="jdbc/data" auth="Container"
type="javax.sql.DataSource"
maxActive="200"
maxIdle="60"
maxWait="20000"
username="rootuserssl"
password="rootusersslpassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://myinstance.123456789012.us-east-1.rds.amazonaws.com:3306/dbname?autoReconnect=true&verifyServerCertificate=true&requireSSL=true&useSSL=true"/>
</Context>
Тем не менее, на одном приложении с помощью HikariCp, он генерирует javax.net.ssl.SSLException об ошибке: Неподдерживаемая запись версии Неизвестной -0,0. Ниже приведена конфигурация.
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/contextnametwo" unpackWAR="true" useNaming="true" swallowOutput="false">
<Resource name="jdbc/data" auth="Container"
driverClassName="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://myinstance.123456789012.us-east-1.rds.amazonaws.com:3306/dbname?verifyServerCertificate=true&useSSL=true&requireSSL=true"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
maximumPoolSize="50"
connectionTestQuery="SELECT 1"
idleTimeout="300000"
maxLifetime="600000"
dataSource.implicitCachingEnabled="true"
dataSource.cachePrepStmts="true"
dataSource.prepStmtCacheSize="250"
dataSource.prepStmtCacheSqlLimit="2048"
dataSource.useServerPrepStmts="true"
catalog="dbname"
username="rootuserssl"
password="rootusersslpassword"
/>
</Context>
Что я делаю неправильно на приложение, которое использует HikariCp?
Драйвер MariaDB JDBC просто дал мне еще одну ошибку: 'java.net.SocketException: программное обеспечение вызвало прерывание соединения: recv failed' – Adam