向Tomcat提供证书以进行Postgres连接

时间:2019-06-17 20:54:38

标签: postgresql ssl tomcat

我正在为Tomcat 8.5,使用自签名证书的Postgres通信配置TLS。

向Tomcat提供证书,PK(以PKCS12格式捆绑)和CA证书(根证书)的最佳方法是什么?

Tomcat设置为服务,因此最好提供启动VM参数。我尝试在“配置Tomcat-> Java Opts”

中提供这些信息
-Djavax.net.ssl.keyStorePassword=changeit
-Djavax.net.ssl.trustStore=D:\test\data\pg_cert\truststore
-Djavax.net.ssl.trustStorePassword=changeit

但是Tomcat似乎没有加载这些。如果我使用独立的Java类对此进行测试,则它可以连接。

我读过某个地方的内容,可以选择在tomcat启动脚本中提供证书,但是为了使更改在生产中保持最小,这是最后的选择。

1 个答案:

答案 0 :(得分:0)

JDBC连接必须包含url参数:

  • sslmode = verify-ca
  • sslcert = $ {user.home} /。postgresql / postgresql.crt

    如果您使用相互身份验证,则Postgres-Server必须提供其公共密钥,并且必须在Postgres-Server信任库中保留客户端的公共密钥。

    "Configuring the Client"页上提供了更多信息。

    我想警告您:pki是一个复杂的术语,在知道证书已被OCSP停用之前,SSL会话可能需要数周的时间。我更喜欢将密码直接传递到服务器启动/停止脚本,而不将密码存储到文件系统。