达梦数据库配置SSL通信加密

这篇具有很好参考价值的文章主要介绍了达梦数据库配置SSL通信加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


达梦的数字证书的制作采用openssl工具实现,openssl是一个开放源代码的软件库包,软件库包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。

一、安装OPENSSL工具

下载openssl软件库包。
方法一:官网 https://www.openssl.org/source/old/ (tar.gz 源代码安装法)
方法二:exe格式安装包
http://slproweb.com/products/Win32OpenSSL.html
http://slproweb.com/download/Win64OpenSSL_Light-1_1_1q.exe
这个网站不是官网,它是专门为不会源代码方式安装的用户准备的,它从openssl的官网下载下来源代码编译为各个平台的执行码,然后做一个界面向导方式的安装程序,方便大家界面向导方式安装。

备注:选择一个适合Win64平台的、exe格式可执行程序,单机下载。如选择轻量级的安装文件只有3-4MB大小,基本上一分钟以内就下载好了。

我们采用exe格式的安装包来安装,因为它对初学者友好、简单,合适windows。

双击运行Win64OpenSSL-3_0_5.exe文件,注意安装路径位置不要带有空格或者中文字符,其他默认下一步即可
达梦数据库配置SSL通信加密
达梦数据库配置SSL通信加密
达梦数据库配置SSL通信加密
达梦数据库配置SSL通信加密

二、配置openssl.cfg文件

用记事本打开C:\OpenSSL\bin\路径下的openssl.cfg 文件
dir:所有生成的文件存放的默认路径
database:签发过的证书的列表文件
new_certs_dir:存放所有新签发的证书
serial:下一个要签发的证书的序号,第一个从1开始
certificate:CA的证书文件的名字
private_key:CA的私钥文件的名字
default_days:签发证书的默认有效期,365天会经常过期不能用了,我们手动设置为3650天。
default_bit:私钥默认的长度大小,1024不够安全,我们手动设置2048

另外:我们需要手动在bin下创建ca文件夹,ca文件夹下再创建newcerts、private子文件夹。ca文件夹下创建一个内容为空的index.txt;创建一个内容为01的serial文件;privite文件夹下创建一个内容为空的.rand
达梦数据库配置SSL通信加密
达梦数据库配置SSL通信加密

达梦数据库配置SSL通信加密

三、安装JDK

下载地址:
JDK 1.7官网下载地址 https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
达梦数据库配置SSL通信加密
下载后安装在不带空格、特殊符号、中文字符的目录下,如:C:\JDK

四、生成CA私钥和自签名证书

达梦数据库配置SSL通信加密
达梦数据库配置SSL通信加密
运行cmd.exe,切换到 C:\OpenSSL\bin 目录下,执行以下的脚本:

set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cfg
echo %OPENSSL_CONF%
rd /s /q ca
mkdir .\ca
mkdir .\ca\newcerts
mkdir .\ca\private
copy nul ca\index.txt
set /p="01"<nul>>ca\serial
mkdir server_ssl
mkdir client_ssl
#echo 生成 ca 私钥(ca-key.pem)和 ca 自签名证书(ca-cert.pem),需输入 ca 私钥存储密码
openssl  req  -new  -x509  -days  3650  -keyout  ca-key.pem  -out  ca-cert.pem  -subj /C=cn/ST=hubei/L=wuhan/O=dameng/OU=tech/CN=tech/emailAddress=fcy@demeng.com

注:最后一条命令执行过程会要求用户输入长度大于等于 4 字符的 ca 私钥存储密码。本例设置的密码是changeit。生成的ca私钥是ca-key.pem,自签名证书是:ca-cert.pem,都
位于C:\OpenSSL\bin目录下面。

五、生成server端私钥和被ca签名的server数字证书

在上述命令行程序中继续执行下述语句:

set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cfg
echo %OPENSSL_CONF%
#生成server私钥 server-key.pem(无密码)
openssl genrsa -out server-key.pem 2048
#生成server证书请求server.csr
openssl  req  -new  -key  server-key.pem  -out  server.csr  -subj "/C=cn/ST=hubei/L=wuhan/O=dameng/OU=tech/CN=server/emailAddress=fcy@demeng.com"
#生成 server经ca签名的证书server-cert.pem
openssl ca -startdate 20190821235959-0700 -enddate 20290821235959-0700 -in server.csr -out server-cert.pem
#将server可信证书转换为格式X509格式
openssl x509 -in server-cert.pem -out server.cer
copy ca-cert.pem server_ssl\
copy ca-key.pem server_ssl\
copy server.csr server_ssl\
copy server.cer server_ssl\
copy server-cert.pem server_ssl\
copy server-key.pem server_ssl\

注:执行过程中,当要求输入 ca-key.pem 的存储私钥时,请输入前面设置的“changeit”。

六、生成用户私钥和被ca签名的用户数字证书

此处的用户名为 SYSDBA,若是其他用户名只需全局替换用户名即可。在上述命令行程序中继续执行下述语句:

set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cfg
echo %OPENSSL_CONF%
mkdir .\SYSDBA
#生成SYSDBA 私钥 client-key.pem
openssl genrsa -out SYSDBA/client-key.pem 2048
#生成SYSDBA证书请求client.csr
openssl  req  -new  -key  SYSDBA/client-key.pem  -out  SYSDBA/client.csr  -subj "/C=cn/ST=hubei/L=wuhan/O=dameng/OU=tech/CN=SYSDBA/emailAddress=SYSDBA@dameng.com"
#生成SYSDBA经ca签名证书client-cert.pem
openssl ca -startdate 20190821235959-0700 -enddate 20290821235959-0700 -in SYSDBA/client.csr  -out  SYSDBA/client-cert.pem
#将X509格式的 client-key.pem 和 client-cert.pem 合并转换为 pkcs12 格式的文件client-pkcs.p12
#务必输入export password为 changeit(小写)
openssl  pkcs12  -export  -inkey  SYSDBA/client-key.pem  -in  SYSDBA/client-cert.pem  -out SYSDBA/client-pkcs.p12
keytool -import -alias ca -trustcacerts -file ca-cert.pem -keystore SYSDBA/.keystore -deststorepass changeit  -noprompt
keytool -import -alias server -trustcacerts -file server.cer -keystore SYSDBA/.keystore -deststorepass changeit  -noprompt
keytool  -v  -importkeystore  -srckeystore  SYSDBA/client-pkcs.p12  -srcstoretype  PKCS12  -keystore  SYSDBA/.keystore -deststorepass changeit
copy ca-cert.pem SYSDBA\
move SYSDBA client_ssl\

注:执行过程中,当要求输入 ca-key.pem 的存储私钥时,请输入“changeit”,当要求输入 pkcs.p12 的 export password 时,请务必输入小写的“changeit”。
若需生成多个用户则全局替换用户名之后,再次执行,一个用户名只能执行一次,执行两次或以上会出现错误;最后将目录下的server_ssl和client_ssl文件夹都拷贝到dmdbms\bin\目录下即可使用。

七、证书信息

正常的用户证书制作完,总共会有6个文件,且都有文件大小,如果你的证书有出现0kb,或者少于6个的,说明你的证书制作的有问题
达梦数据库配置SSL通信加密
正常的server端证书样式如下:
达梦数据库配置SSL通信加密

八、上传证书到服务器

将成功制作好的证书,上传到数据库上,可通过ps -ef | grep dmserver查看数据库安装位置,我的在/opt/dmdbms/下
达梦数据库配置SSL通信加密
找到对应server_ssl跟client_ssl路径,我的为/opt/dmdbms/bin/client_ssl跟server_ssl,然后将你做好的证书替换到该目录下里头,原数据库默认证书记得保存一份,然后把对应证书的权限给上,这一步很重要,权限一定要是你当前的用户权限
达梦数据库配置SSL通信加密

九、修改dm.ini文件

进入到你的实例目录下,找到dm.ini文件,修改ENABLE_ENCRYPT参数为1,并设置COMM_ENCRYPT_NAME加密算法,加密算法按照用户个人需求填写,具体有哪些加密算法,可以参考DM安全管理手册
达梦数据库配置SSL通信加密

十、重启服务

重新启动数据库服务

十一、剥离server key

由于证书本身被加密,就会导致如果你是以systemctl服务启动时候需要通过输入密码进行解密后加载,而后台服务启动缺少交互输入导致启动失败。
生效方式有两种:

  1. 前台启动服务,会提示你输入enter pem内容,该密码就是你生成证书时候的密码
  2. 还是以服务方式启动,但是需要把服务器端的key里面的key剥离掉
    此处需要对server-key.pem进行密码剥离,使其不用输入密码
    达梦数据库配置SSL通信加密
  3. 重新启动服务即可

十二、使用ssl加密方式登陆数据库

1)disql工具

./disql SYSDBA/8ay%y2kKEe@localhost:10236#“{ssl_path=/home/dmdba/dmdbms/bin/client_ssl/SYSDBA,ssl_pwd=Hzfc_77_88_99}”

关于disql登录疑问解答
达梦数据库配置SSL通信加密

2)使用客户端manager工具

1.将生成好的client_ssl证书拷贝到你的达梦客户端安装目录里(提前把client_ssl备份一份),我的客户端目录如下
达梦数据库配置SSL通信加密
2.启动客户端进行验证
直接输入密码会提示SSL环境失败,是因为当前环境是开启加密环境,必须配置ssl才能进入
达梦数据库配置SSL通信加密
选择高级里面,选择客户端证书位置,然后输入证书密码
达梦数据库配置SSL通信加密
登陆后可以看到开启ssl加密,这样就ok拉
达梦数据库配置SSL通信加密
3.检验通信加密是否开启的手段
达梦数据库配置SSL通信加密
如果还有任何问题,欢迎到达梦在线服务平台提问
社区 | 达梦在线服务平台https://eco.dameng.com文章来源地址https://www.toymoban.com/news/detail-406437.html

到了这里,关于达梦数据库配置SSL通信加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DM8:达梦数据库审计配置

    登陆审计用户 SYSAUDITOR 密码 SYSAUDITOR 开启审计 (5.2.1 语句级审计的动作是全局的,不对应具体的数据库对象) 3.1.1 审计表的创建、修改和删除。 3.1.2 对 SYSDBA 创建用户成功进行审计。 3.1.3 对用户 SYSDBA 进行表的修改和删除进行审计,不管失败和成功。 取消审计语句和设置审计

    2024年02月07日
    浏览(50)
  • windows 达梦数据库服务连接时提示:登录服务器失败,错误号6001,错误消息:网络通信异常 之数据库服务不存在的处理方式

    在windows客户端上连接部署在windows操作系统上的达梦数据库, 使用DM管理工具连接数据库    正确输入用户名与密码之后点击确定按钮之后出现: 登录服务器失败,错误号6001,错误消息:网络通信异常  现象 如下图所示:   在之前也发布了一篇关于此错误的博文: 达梦管

    2024年02月11日
    浏览(54)
  • 如何配置达梦数据库使其支持GB18030-2022中文编码字符集

    达梦版本要求,要求使用2023年4月及之后的达梦月度版版本,补丁版、临时版等不可以。 正确安装windows操作系统,windows10以下的版本未做过测试,可能系统不支持导致各种显示错误,建议用windows10及以上版本,本人亲测过window10和windows11支持. 安装一个字体覆盖全的字库,w

    2024年02月09日
    浏览(61)
  • -9501 MAL系统没有配置或者服务器不是企业版(dm8达梦数据库)

    搭建主备集群时,遇到报错-9501 MAL系统没有配置或者服务器不是企业版 检查dmmal.ini配置文件权限正确 dmdba:dinstall,内容正确 检查dm.key授权是支持主备或读写分离 检查dm.ini 参数配置 最终定位问题是 dm.ini 中 INSTANCE_NAME 参数值 与dmmal.ini 中MAL_INST_NAME 不匹配的原因,修改后启动

    2024年02月11日
    浏览(42)
  • idea连接Sqlserver数据库报错:驱动程序无法使用安全套接字层(SSL)加密建立到SQL

    com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层(SSL)加密建立到SQL Server的安全连接。错误:“客户端首选项[TLS12]不接受服务器选择的协议版本TLS10”。 使用idea连接Sqlserver数据库,然后想用MybatisX插件生产代码 1、建立连接 填写数据库信息 测试连接报错

    2024年02月07日
    浏览(68)
  • SpringBoot使用Jasypt对配置文件加密、数据库密码加密

    Dmo源码请点这里! Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。jasypt库与springboot集成,在实际开发中非常方便。 1、Jasypt Spring Boot 为 spring boot 应用程序中的属性源提供加密支持,出于安全考虑,Spring boot 配置文件中的敏感信息通常需要对它进

    2024年04月28日
    浏览(46)
  • <达梦>《达梦数据库备份归档》

    方式 备份 DIsql 工具 用于执行联机的数据备份与数据还原,包括数据库备份、归档备份、表空间备份与还原、表备份与还原; DMRMAN 工具 用于执行脱机的数据备份、还原与恢复,包括脱机的数据库备份、还原与恢复,脱机还原表空间,归档的备份、还原与修复; 客户端工具

    2024年02月05日
    浏览(67)
  • SpringBoot项目配置文件数据库用户名密码加密

    在使用SpringBoot开发过程中,会将一些敏感信息配置到SpringBoot项目的配置文件中( 不考虑使用配置中心的情况 ),例如数据库的用户名和密码、Redis的密码等。为了保证敏感信息的安全,我们需要将此类数据进行加密配置。 目前通用的做法是使用 jasypt 对数据库用户名或者密码

    2024年02月10日
    浏览(44)
  • idea 中无法连接 sql server 数据库,报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

    上面的代码报错如下: 在dbURL中把;trustServerCertificate=true加上后就没有报错了 无报错 因为sql server在jdbc连接的时候需要一定的安全验证,只需要在dbURL中把;trustServerCertificate=true加上后令其跳过就行了

    2024年02月12日
    浏览(51)
  • 达梦数据库创建及数据库实例管理

    数据库配置助手创建数据库调用 dbca.sh 图形化界面创建数据库: [dmdba@DCA02 tool]$ ./dbca.sh 2021-01-11 11:43:45 [com.dameng.dbca.Startup] [INFO] 启动 DBCA 指定数据库名称、实例名称(单机情况下数据库和实例名称可以相同),指定端口号: 簇大小、页大小、字符集、 字符串 大小写敏感、

    2023年04月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包