达梦数据库 SSL 证书配置与连接指南

发布时间:2026/10/11 17:06:04
达梦数据库 SSL 证书配置与连接指南 达梦数据库 SSL 证书配置与连接指南一、SSL 模式说明达梦数据库通过dm.ini中的ENABLE_ENCRYPT参数控制 SSL 加密与认证行为该参数为静态参数修改后必须重启数据库服务才能生效。取值加密认证说明0✗✗不加密、不认证默认值1✓✓加密双向认证通信双方需交换并验证对方证书2✗✓仅认证不加密4✓✗仅加密不认证无需配置证书5✓✓加密单向认证仅客户端验证服务器证书生产环境建议如需完整的安全保护通常设置为1提供双向证书认证与数据加密。配置示例dm.iniENABLE_ENCRYPT 1二、证书生成达梦 SSL 采用基于 CA 的证书体系需要生成根证书、服务端证书和客户端证书。以下以用户GW_SJW为例使用 OpenSSL 生成自签名证书。2.1 创建目录结构# 创建 CA 工作目录mkdir-p/opt/cacd/opt/camkdir-pserver_ssl client_ssl/GW_SJW2.2 生成 CA 根证书CA 私钥需设置密码示例Ca_123456后续签发服务端和客户端证书时需使用此密码。# 生成 CA 私钥AES256 加密4096 位openssl genrsa-aes256-outca-key.pem4096# 生成 CA 根证书有效期 10 年openssl req-new-x509-days3650-keyca-key.pem-outca-cert.pem\-subj/CCN/STBeijing/LBeijing/ODAMENG/OUDBA/CNDM-CA-ROOT2.3 生成服务端证书服务端私钥建议不设密码否则数据库启动时需要交互输入密码。cd/opt/ca# 生成服务端私钥无密码openssl genrsa-outserver_ssl/server-key.pem2048# 生成证书签名请求CN 设置为数据库服务名如 DAMENGopenssl req-new-keyserver_ssl/server-key.pem-outserver_ssl/server.csr\-subj/CCN/STBeijing/LBeijing/ODAMENG/OUDBA/CNDAMENG# 使用 CA 签发服务端证书有效期 10 年需输入 CA 私钥密码openssl x509-req-days3650-inserver_ssl/server.csr\-CAca-cert.pem-CAkeyca-key.pem-CAcreateserial\-outserver_ssl/server-cert.pem# 拷贝 CA 根证书到服务端目录cpca-cert.pem server_ssl/2.4 生成客户端证书客户端证书的CN 必须设置为数据库用户名此处为GW_SJW且客户端私钥建议设置密码示例Cli_123456该密码即后续连接时的SSL_PWD。cd/opt/ca# 生成客户端私钥AES256 加密openssl genrsa-aes256-outclient_ssl/GW_SJW/client-key.pem4096# 生成证书签名请求CN 必须与数据库用户名一致openssl req-new-keyclient_ssl/GW_SJW/client-key.pem\-outclient_ssl/GW_SJW/client.csr\-subj/CCN/STBeijing/LBeijing/ODAMENG/OUDBA/CNGW_SJW# 使用 CA 签发客户端证书需输入 CA 私钥密码openssl x509-req-days3650-inclient_ssl/GW_SJW/client.csr\-CAca-cert.pem-CAkeyca-key.pem-CAcreateserial\-outclient_ssl/GW_SJW/client-cert.pem# 拷贝 CA 根证书到客户端目录cpca-cert.pem client_ssl/GW_SJW/2.5 生成 JDBC 使用的 .keystore 文件如使用 JDBC 连接包括达梦管理工具需要额外生成.keystore文件。cd/opt/ca/client_ssl/GW_SJW# 1. 先将私钥和证书合并为 PKCS12 格式openssl pkcs12-export-inkeyclient-key.pem-inclient-cert.pem\-outclient-pkcs.p12# 2. 导入 CA 根证书到 keystorekeytool-import-aliasca-trustcacerts-fileca-cert.pem\-keystore.keystore-storepassKeystore_123456-noprompt# 3. 导入服务端证书到 keystorekeytool-import-aliasserver-trustcacerts-file/opt/ca/server_ssl/server-cert.pem\-keystore.keystore-storepassKeystore_123456-noprompt# 4. 导入客户端私钥和证书keytool-importkeystore-srckeystoreclient-pkcs.p12\-srcstoretypePKCS12-srcstorepassCli_123456\-keystore.keystore-deststorepassKeystore_123456-noprompt三、证书部署3.1 目录结构将生成的证书按以下结构放置到达梦数据库安装目录假设$DM_HOME为/opt/dmdbms/opt/dmdbms/bin/ ├── server_ssl/ # 服务端证书目录 │ ├── ca-cert.pem # CA 根证书 │ ├── server-cert.pem # 服务端证书 │ └── server-key.pem # 服务端私钥 └── client_ssl/ └── GW_SJW/ # 目录名必须与登录用户名一致 ├── ca-cert.pem # CA 根证书 ├── client-cert.pem # 客户端证书 ├── client-key.pem # 客户端私钥 ├── client-pkcs.p12 # PKCS12 格式证书 └── .keystore # Java KeystoreJDBC/管理工具用3.2 关键规则client_ssl下的子目录名必须与数据库用户名完全一致包括大小写。客户端证书的 CN 也必须与用户名一致否则 SSL 双向认证会失败。确保运行数据库的操作系统用户对证书目录有读取权限。四、客户端连接方式4.1 disql 命令行连接方式一显式指定证书路径推荐./disql GW_SJW/密码localhost:5236#{SSL_PATH/opt/dmdbms/bin/client_ssl/GW_SJW,SSL_PWDCli_123456}SSL_PATH客户端证书目录路径SSL_PWD客户端私钥密码生成client-key.pem时设置的密码方式二利用默认路径免参数登录需满足两个条件证书已放置在$DM_HOME/bin/client_ssl/用户名/目录下环境变量PATH和LD_LIBRARY_PATH已指向$DM_HOME/binexportPATH/opt/dmdbms/bin:$PATHexportLD_LIBRARY_PATH/opt/dmdbms/bin:$LD_LIBRARY_PATH4.2 JDBC 连接通过 JDBC 连接时使用.keystore文件SSL 密码为keystore 文件密码而非客户端私钥密码。连接参数示例sslFilesPath/opt/dmdbms/bin/client_ssl/GW_SJW sslKeystorePassKeystore_123456注意达梦管理工具也基于 JDBC 连接因此需配置上述两个参数。登录用户名必须与证书目录名及证书 CN 一致。五、彩蛋自动化脚本可以阅读https://gitee.com/jasonchen_code/shell.git

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询