Kingbase设置SSL登录

服务器开启SSL并生成证书

  • 使用LibPQFactory
    • 服务器

      1. 确保安装openssl

      2. 在data目录下,创建自签名的证书

        # 为服务器创建一个快速的自签名的证书,填充那些openssl要求的信息。确保把本地主机名当做"Common Name"输入;挑战密码可以留空。该程序将生成一个用口令保护的密钥,它不会接受小于四字符的口令。
        	openssl req -new -text -out server.req
        # 要移去密钥(如果你想自动启动服务器就必须这样),运行下面的命令:
        	openssl rsa -in privkey.pem -out server.key
        	rm privkey.pem
        # 将一个证书变成自签名的证书并复制密钥和证书到服务器将要查找它们的地方
        	openssl req -x509 -in server.req -text -key server.key -out server.crt
        # 修改文件权限,如果文件的权限比这个更自由,服务器将拒绝该文件。
        	chmod og-rwx server.key
        # 生成根证书
        	cp server.crt root.crt
        
      3. 配置kingbase.conf文件

        ssl = on                                 # (change requires restart)
        #ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
                                                       # (change requires restart)
        #ssl_prefer_server_ciphers = on              # (change requires restart)
        #ssl_ecdh_curve = 'prime256v1'               # (change requires restart)
        #ssl_cert_file = 'server.crt'               # (change requires restart)
        #ssl_key_file = 'server.key'                # (change requires restart)
        ssl_ca_file = 'root.crt '                       # (change requires restart)
        #ssl_crl_file = ''                           # (change requires restart)
        
      4. 配置sys_hba.conf文件

        hostssl    all             all             0.0.0.0/0               md5  clientcert=1
        
      5. 重启数据库服务器

    • 客户端证书

      # 生成kingbase8.key
        openssl genrsa -des3 -out kingbase8.key 1024
        openssl rsa -in kingbase8.key -out kingbase8.key
        chmod 400 kingbase8.key
      # 生成kingbase8.csr,CN需要指定为要连接数据库的用户名,如需匹配不同的用户,可指定为*
        openssl req -new -key kingbase8.key -out kingbase8.csr -subj '/C=GB/ST=Berkshire/L=Newbury/O=Kingbase/CN=TEST'
      # 生成kingbase8.crt
        openssl x509 -req -in kingbase8.csr -CA root.crt -CAkey server.key -out kingbase8.crt -CAcreateserial
      # 生成kingbase8.pk8
        openssl pkcs8 -topk8 -outform DER -in kingbase.key -out kingbase8.pk8 -nocrypt
      

JDBC配置方法

  • 通过参数sslmode配置证书验证方式,该参数支持四个值:disable(禁用SSL)、require、verify-ca、verify-full。使用verify-ca和verify-full时,需通过连接参数sslrootcert指定根证书文件的位置,如不指定,Linux默认路径为$HOME/.kingbase8/root.crt,Windows默认路径为%APPDATA%\kingbase8\root.crt,将服务器data目录下的root.crt放到对应目录下即可。只有verify-full模式会对主机名进行验证。
  • 通过参数sslcert配置客户端证书位置,如不指定,Linux默认路径为$HOME/.kingbase8/kingbase8.crt,Windows默认路径为%APPDATA%\kingbase8\kingbase8.crt,将服务器data目录下的kingbase8.crt放到对应目录下即可。
  • 通过参数sslkey配置秘钥文件位置,如不指定,Linux默认路径为$HOME/.kingbase8/kingbase8.pk8,Windows默认路径为%APPDATA%\kingbase8\kingbase8.pk8,将服务器data目录下的kingbase8.pk8放到对应目录下即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值