当前位置: 首页 > 知识库问答 >
问题:

Spring Boot使用SSL连接到Postgresql

邹誉
2023-03-14

我有一个Spring Boot应用程序(版本2.1.1),使用Postgresql 9.6作为数据库。我必须使用sslmode=verify ca通过SSL连接到db。到目前为止,我所做的是在申请表中设置。属性文件属性

spring.datasource.url=jdbc:postgresql://`url`:`port`/`db`?
    ssl=true&
    sslmode=verify-ca&
    sslcert=`path_to_client_cert`&
    sslkey=`path_to_client_key`&
    sslrootcert=`path_to_ca_cert`

有没有办法在其他一些Spring属性中指定ssl属性而不是在连接url中?

此外,还可以为证书指定相对路径,而不是使用绝对路径?

共有2个答案

贝财
2023-03-14

我无法让它与org.postgresql.ssl.NonValidatingFactory一起工作

我在连接字符串的末尾附加了? sslmode=verice-ful

默认情况下,它将使用组织。postgresql。ssl。libpq工厂

默认情况下,它将在$HOME/下查找证书。postgresql如下:

org.postgresql.PGProperty.SSL_ROOT_CERT; root.crt
org.postgresql.PGProperty.SSL_CERT; postgresql.crt
org.postgresql.PGProperty.SSL_KEY; postgresql.pk8

要将私钥转换为pk8格式,请执行以下操作:

openssl pkcs8 -topk8 -inform PEM -outform DER -in postgresql.key -out postgresql.pk8 -nocrypt
帅彦
2023-03-14

我在src/main/resources中使用了一个证书的相对路径,它运行得很好:

jdbc:postgresql://db_host:db_port/db_name?
    sslmode=require&
    sslrootcert=`my_root_certificate.crt`

似乎URL是指定这些参数的唯一位置。您也可以使用环境变量进行插值。

 类似资料:
  • 使用SSL连接到Postgres时引发异常。 原因:javax.net.ssl.SSLException:收到致命警报:在sun . security . SSL . alerts . getsslexception(alerts . Java:208)在sun . security . SSL . alerts . getsslexception(alerts . Java:154)在sun .

  • 问题内容: 我的意思是说非常简单。我想通过安全连接从PHP脚本连接到外部MS SQL数据库。然而,事实证明这是有问题的,到目前为止,花了三个小时进行研究,我很茫然。 客户端的平台是Ubuntu,这意味着我无法使用SQLSRV。安全连接已与其他客户端进行了测试,并且工作正常。我目前正在使用PDO和DBlib连接到数据库,这也可以正常工作。 我找不到能强制建立安全连接的任何方法。我尝试了多种其他驱动程

  • 我们所面临的问题已在许多文件中得到充分证明https://stackoverflow.com/questions/34189756/warning-about-ssl-connection-when-connecting-to-mysql-database. 从过渡到时,我们就开始面临这个问题。建议的修复方法对我们有效,但我们有一个问题,我们不想更新Java源文件以进行更改,例如从 到 正如在ht

  • 问题内容: 如何使用Node.js通过SSL连接到MongoDB服务器? 我已经阅读了一些驱动程序(mongojs,mongodb- native )的源代码,并且我已经搜索了一段时间,但是似乎找不到任何合适的教程,指南或文档。 问题答案: 如评论中所建议,具有所需的一切。 我使用以下命令启动并运行: 编辑 你也可以从猫鼬做ssl :

  • 我有简单的Spring启动应用程序和具有工作SSL连接的Kafka(其他应用程序,不是Spring启动,已成功连接)。我无法访问Kafka经纪人的属性。我的应用是Kafka的客户端。这个应用程序在库伯内特斯内部的容器中运行。我的Spring启动可以访问密钥库.p12,ca-cert,Kafka佩姆,Kafka.key文件(它位于容器内的目录中)。 在配置中我使用 每次我收到错误 我尝试了不同的变化

  • 请知道,我对数据库很陌生。我能够正确安装mySQL和java连接器驱动程序。但每当我在eclipse中运行程序并尝试从我创建的数据库中检索信息时,我都会收到以下消息:“需要SSL连接,但服务器不支持”。下面是我要使用安全SSL连接运行的代码: `公共静态void main(字符串[]参数){