You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MariaDB连接串中内嵌DER格式CA证书连接AWS RDS?

操作步骤与示例

1. 转换AWS RDS CA证书格式

你手里的global-bundle.pem是PEM格式的证书包,需要先转成DER格式并做Base64编码,才能内嵌到连接串中:

Linux/macOS 命令:

# 把PEM证书包转成DER格式的证书链,再Base64编码(无换行)
openssl crl2pkcs7 -nocrl -certfile global-bundle.pem | openssl pkcs7 -print_certs -outform DER | base64 -w 0

Windows 命令:

先把PEM转成DER:

openssl x509 -in global-bundle.pem -out global-bundle.der -outform DER

再提取无换行的Base64字符串:

certutil -encode global-bundle.der - | findstr /v "-----BEGIN CERTIFICATE-----" | findstr /v "-----END CERTIFICATE-----"

执行后会输出一长串无换行的Base64字符串,复制保存好。

2. 构建Spring Cloud Data Flow兼容的JDBC URL

因为要用mysql协议的MariaDB连接器,URL开头为jdbc:mysql://,同时添加SSL相关参数,把刚才的Base64证书串嵌入serverSslCert参数(前缀base64:):

示例URL:

jdbc:mysql://your-rds-instance.xxxxxx.us-east-1.rds.amazonaws.com:3306/your-db-name?useSSL=true&verifyServerCertificate=true&sslMode=VERIFY_CA&serverSslCert=base64:LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR...(此处替换为你生成的完整Base64字符串)

参数说明:

  • useSSL=true:开启SSL连接
  • verifyServerCertificate=true:验证服务器证书
  • sslMode=VERIFY_CA:只验证CA证书合法性(如果需要验证服务器域名,可改为VERIFY_IDENTITY)
  • serverSslCert=base64:<Base64串>:内嵌DER格式的CA证书(Base64编码后)

3. Spring Cloud Data Flow配置示例

在application.properties(或application.yml)中配置数据源:

properties格式:

spring.datasource.url=jdbc:mysql://your-rds-instance.xxxxxx.us-east-1.rds.amazonaws.com:3306/your-db-name?useSSL=true&verifyServerCertificate=true&sslMode=VERIFY_CA&serverSslCert=base64:LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR...
spring.datasource.username=your-db-username
spring.datasource.password=your-db-password
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

注意事项:

  • 确保MariaDB JDBC驱动版本≥1.1.3(该版本开始支持内嵌DER证书的Base64格式)
  • 如果使用的是单个CA证书而非证书包,直接用openssl x509 -in ca.pem -outform DER | base64 -w 0转换即可

内容的提问来源于stack exchange,提问作者adesai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:52:44