非通信加密的情况下,为了实现对登录用户名、密码的安全管理,达梦对登录消息中的用户名密码进行了增强加、解密处理。
具体实现分为四步:一是通过 dmkey 工具生成公钥文件和私钥文件。二是配置服务器参数,使用私钥对客户端发送过来的登录名和密码进行解密。三是配置客户端参数,使用公钥文件对登录用户名和密码进行加密。四,启动数据库服务器。
dmkey 是一个 RSA 非对称加解密的公钥文件、私钥文件生成工具。公钥文件和私钥文件分别用于对登录消息中的用户名、密码进行加密和解密。
安装好 DM 数据库管理系统后,在安装目录的“bin”子目录下可找到 dmkey 执行文件。
启动操作系统的命令行窗口,进入“dmkey”所在目录,可以准备启动 dmkey 工具了。
dmkey 的使用需要指定必要的参数。为 dmkey 指定参数的格式为:
讯享网
常见的使用搭配有两种:
一,生成公钥和私钥。
讯享网
PATH:指定生成公钥和私钥的所在目录(缺省为 dmkey.exe 所在的目录);
PUBKEY:指定生成公钥的文件名(缺省为 dm_login.pubkey),私钥为固定文件名 dm_login.prikey。公钥文件为文本方式存储,私钥文件则为二进制存储。
例如:
二,显示私钥的相关信息(文件版本号、私钥 Guid、私钥的生成时间、dmkey 工具的版本号)。
该信息主要用于校验公钥、私钥是否匹配。同一套公钥文件、私钥文件的 Guid 一样的。文件版本号只有私钥文件有,公钥文件没有。
讯享网
PRIKEY:私钥文件 dm_login.prikey 所在路径。
例如:
dmkey 使用较为灵活,参数较多,用户可以使用“dmkey help”查看 dmkey 版本信息以及各参数的简单信息。
讯享网
首先,将私钥文件拷贝到 ini 参数 SYSTEM_PATH 指定的目录下。
其次,配置 INI 参数 FORCE_CERTIFICATE_ENCRYPTION=1,即非加密通讯的情况下,开启用户名密码强制证书加密。该参数有效值为 0、1,缺省值为 0,运行中无法更改。
该项配置成功后,启动数据库服务器时,服务器会对登录的用户名密码强制使用 SYSTEM_PATH 目录下的私钥文件进行解密。
客户端配置有两种方式:一种是通过 dm_svc.conf 文件进行配置,供所有用户使用;另一种是通过 DPI 进行配置,供 DPI 编程用户使用。使用 DPI 编程的用户可以使用第一种方式设置,也可以使用第二种方式设置,当两种方式不一致时,第二种方式优先。
使用配置项 LOGIN_CERTIFICATE 指定登录加密用户名密码公钥所在的路径。该配置项可全局配置也可在某个服务名下配置,一旦配置即认为开启了客户端的证书加密用户名密码模式。
指定 con 上属性 DSQL_ATTR_LOGIN_CERTIFICATE,用于指定加密登录用户名密码的公钥所在的路径。该属性和 dm_svc.conf 中配置项 LOGIN_CERTIFICATE 功能一样。两者不一致时,DSQL_ATTR_LOGIN_CERTIFICATE 设置优先。
全部配置完成后,启动数据库服务器。服务器启动时自动加载 SYSTEM_PATH 目录下的私钥文件,对登录的用户名密码使用私钥文件 dm_login.prikey 进行解密。
下面通过一个具体的实例,展示如何配置登录用户名和密码的增强加、解密功能。
第一步,通过 dmkey 生成公钥文件、私钥文件。
第二步,首先将私钥文件 dm_login.prikey 拷贝到数据库 SYSTEM PATH 目录下,然后配置服务器 ini 参数 FORCE_CERTIFICATE_ENCRYPTION=1。
第三步,配置 dm_svc.conf 文件的 LOGIN_CERTIFICATE 配置项,指定公钥文件所在位置。dm_svc.conf 文件内容如下:
讯享网
第四步,启动数据库服务器。
至此,配置完毕。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/194278.html