我在 AWS 中配置了 Postgres RDS 数据库,并配置了 rds-ca-rsa2048-g1 证书。
在我的 Java 应用程序中,我使用以下连接 URL:
jdbc:postgresql://my-db-name.ajsa891hjkdas.eu-central-1.rds.amazonaws.com:5432/mydb?searchpath=dataset?ssl=true&sslmode=require
在应用程序启动时,我设置了 JVM 属性:
-Djavax.net.ssl.trustStore=app/truststore.jks
-Djavax.net.ssl.trustStorePassword=mypass
在信任库中,我目前只有 Amazon Root CA,但没有导入 rds-ca-rsa2048-g1。 然而,连接似乎正在工作,尽管我预计它会由于缺少证书而失败。
尽管我没有在信任库中导入任何 RDS 证书,但为什么连接可以正常工作?我应该怎么做才能正确配置 SSL 连接?
提前谢谢您!
我希望我的 Java 应用程序和 RDS 之间能够正常工作 SSL 连接。
弄清楚了 - 尽管我们不验证 RDS 证书,但连接已加密。这是由于“需要”ssl 模式造成的。 “require”与“verify-full”或“verify-ca”不同,后者会使用我们应用程序的信任库额外检查 RDS 提供的证书是否可信。 即使我们不验证 RDS 证书,“require”也将允许建立加密连接。