我正在尝试在 PostgreSQL 和 AWS Lambda 之间配置 SSL 连接。问题是将 AWS 证书 PEM 文件传递给 pgjdbc。
我将 PEM 文件添加到我的资源文件夹中,并尝试通过以下方式获取它的位置:
Thread.currentThread().getContextClassLoader().getResource("rds-combined-ca-bundle.pem").toString();
它返回:
file:/var/task/rds-combined-ca-bundle.pem
但是,如果我将其作为sslrootcert
属性传递,则会出现异常:
org.postgresql.util.PSQLException:无法打开 SSL 根证书文件文件:/var/task/rds-combined-ca-bundle.pem。
然后我决定运行一个代码,打印我的 Lambda 中的所有目录和文件名,盯着当前文件夹,然后我rds-combined-ca-bundle.pem
在当前目录中获取文件。
从我的资源中获取 PEM 文件并将其传递给 pgjdbc 的正确方法是什么?