我正在开发一个将在 Google Kubernetes Engine 上运行的应用程序,我需要通过 JDBC 连接到 CloudSQL 数据库 (PostgreSQL)。问题是这个特定的数据库启用了 SSL/TLS。
PostgreSQL 的 JDBC 驱动程序 supports certificates但只能通过绝对文件路径。我的证书位于 src/main/resources
,所以绝对路径并不是一个真正的选择。 PostgreSQL 中的默认解决方案似乎是使用能够从类路径加载证书文件的专用套接字工厂。但是,由于我需要连接到 CloudSQL,我需要使用 Socket Factory provided by Google .我试图弄清楚谷歌的 Socket Factory 实现是否以及如何支持证书以及如何加载它们,但我找不到任何文档。
TL;DR:
最佳答案
如果您使用 Cloud SQL Socket Factory,则无需提供证书。
套接字工厂的主要吸引力之一是它使用临时证书为您处理所有 TLS 隧道。
关于java - 通过 JDBC 连接到 CloudSQL for PostgreSQL 时,如何在类路径上指定 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71204147/