#配置安全连接
JDBC的安全连接配置包括SSL加密通信、TLCP加密通信、SM3密码哈希算法、SM4密码加密算法以及UKEY安全登录,此类安全配置的开关均在服务端,若服务端开启了相应的安全配置开关,JDBC需要进行相应的设置,否则无法获取连接进行数据库操作。
# SSL加密通信
若服务端开启了SSL加密通信,JDBC必须配置以下参数:
| 配置参数名 | 参数描述 |
|---|---|
| sslRootCer | 为SSL加密通信根证书的标准路径,可以为绝对路径或相对路径。 |
URL连接配置示例:
jdbc:yasdb://192.168.1.2:1688/yashan?sslRootCer=./root.crt
# TLCP加密通信
若服务端开启了TLCP加密通信,需要联系技术支持获取安装包中相应的动态库并存放至指定路径:
| 动态库 | 文件名 | 存放至以下路径 |
|---|---|---|
| yashandb-gmssl-jni动态库 | * Windows系统:yas_gmssl_jni.dll * Linux系统:libyas_gmssl_jni.so | 存放至java.library.path所包含的目录下。 默认情况下,java.library.path包含工程根目录、Path目录、OS的系统目录等,也可以在项目启动命令里加上JVM参数 -Djava.library.path=XXX显式设置该路径。 |
| GmSSL动态库 | * Windows系统:gmssl.dll * Linux系统:libgmssl.so | * Windows系统:存放至Path路径下。 * Linux系统:存放至LD_LIBRARY_PATH目录下。 |
除了动态库,JDBC还必须配置以下参数:
| 配置参数名 | 参数描述 |
|---|---|
| tlcpCacertFile | TLCP加密通信根证书的标准路径,可以为绝对路径或相对路径。 |
| tlcpCertFile | TLCP加密通信客户端证书的标准路径,可以为绝对路径或相对路径。 |
| tlcpClientKeyFile | TLCP加密通信客户端key文件的标准路径,可以为绝对路径或相对路径。 |
| tlcpClientKeyPass | TLCP加密通信客户端key的密码。 |
URL连接配置示例:
jdbc:yasdb://192.168.1.2:1688/yashan?tlcpCacertFile=D:/gmssl_ca/rootcacert.pem&tlcpCertFile=D:/gmssl_ca/clientcert.pem&tlcpClientKeyFile=D:/gmssl_ca/clientkey.pem&tlcpClientKeyPass=123456
# SM3密码哈希算法
若服务端开启了SM3密码哈希算法,需要联系技术支持获取安装包中相应的动态库并存放至指定路径:
| 动态库 | 文件名 | 存放至以下路径 |
|---|---|---|
| YASJDBC动态库 | * Windows系统:YASJDBC.dll * Linux系统:YASJDBC.so | 存放至java.library.path所包含的目录下。 默认情况下,java.library.path包含工程根目录、Path目录、OS的系统目录等,也可以在项目启动命令里加上JVM参数 -Djava.library.path=XXX显式设置该路径。 |
| GmSSL动态库 | * Windows系统:gmssl.dll * Linux系统:libgmssl.so | * Windows系统:存放至Path路径下。 * Linux系统:存放至LD_LIBRARY_PATH目录下。 |
# SM4密码加密算法
若服务端开启了SM4密码加密算法,需要联系技术支持获取安装包中相应的动态库并存放至指定路径:
| 动态库 | 文件名 | 存放至以下路径 |
|---|---|---|
| YASJDBC动态库 | * Windows系统:YASJDBC.dll * Linux系统:YASJDBC.so | 存放至java.library.path所包含的目录下。 默认情况下,java.library.path包含工程根目录、Path目录、OS的系统目录等,也可以在项目启动命令里加上JVM参数 -Djava.library.path=XXX显式设置该路径。 |
| GmSSL动态库 | * Windows系统:gmssl.dll * Linux系统:libgmssl.so | * Windows系统:存放至Path路径下。 * Linux系统:存放至LD_LIBRARY_PATH目录下。 |
# UKEY安全登录
若服务端开启了UKEY安全登录,需要联系技术支持获取安装包中相应的动态库并存放至指定路径:
| 动态库 | 文件名 | 存放至以下路径 |
|---|---|---|
| YASJDBC动态库 | * Windows系统:YASJDBC.dll * Linux系统:YASJDBC.so | 存放至java.library.path所包含的目录下。 默认情况下,java.library.path包含工程根目录、Path目录、OS的系统目录等,也可以在项目启动命令里加上JVM参数 -Djava.library.path=XXX显式设置该路径。 |
| libgm3000动态库 | * Windows系统:mtoken_gm3000.dll * Linux系统:libgm3000.1.0.so | * Windows系统:存放至Path路径下。 * Linux系统:存放至LD_LIBRARY_PATH目录下。 |
除了动态库,JDBC还必须配置以下参数:
| 参数名 | 合法值 | 参数描述 |
|---|---|---|
| UKeyName | * DBA:如果登录的用户角色是DBA,则要求UKEY的设备名为DBA * SECURITY_ADMIN:如果登录的用户角色是安全管理员,则要求UKEY的设备名为SECURITY_ADMIN * AUDIT_ADMIN :如果登录的用户角色是审计员,则要求UKEY的设备名为AUDIT_ADMIN | 该参数表示要认证的UKEY设备名,设备名要求和用户的角色名保持对应。 |
| UKeyPin | 小于64位的密码值 | 该参数指定UKEY的用户密码。 |
URL连接配置示例:
jdbc:yasdb://192.168.1.2:1688/yashan?UKeyName=DBA&UKeyPin=Yashan123

