计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
更新时间:2023-03-17 GMT+08:00

SSL证书

证书的使用信息仅供参考。有关证书和管理证书及相关文件的安全指南的详细信息,请参见数据库服务器文档。

Data Studio可以使用安全套接字层[SSL]选项连接到数据库。添加连接需要下列文件:

#

证书/密钥

说明

1

客户端SSL证书

由系统/数据库管理员提供。

2

客户端SSL密钥

由系统/数据库管理员提供。

3

Root证书

由系统/数据库管理员提供。

SSL证书生成和服务器配置

生成证书的步骤如下:

  1. 搭建CA环境:假设已创建omm用户,且CA路径为test。

    以root用户登录SUSE Linux操作系统,并切换到omm用户。

    执行如下命令:

    mkdir test
    cd /etc/ssl

    将配置文件openssl. cnf复制到test目录下。

    命令如下:

    cp openssl.cnf ~/test
    cd ~/test

    在test文件夹下建立CA环境。

    在demoCA./demoCA/newcerts./demoCA/private目录下新建一个文件夹。

    命令如下:

    mkdir ./demoCA ./demoCA/newcerts ./demoCA/private
    chmod 777 ./demoCA/private

    创建serial文件,并将01写入其中。

    命令如下:

    echo '01'>./demoCA/serial

    创建index.txt文件。

    命令如下:

    touch /home/omm/test/demoCA/index.txt

    修改配置文件openssl.cnf中的参数。

    命令如下:

    dir = /home/omm/test/demoCA
    default_md = sha256

    CA环境搭建完成。

  2. 生成根私钥:生成CA私钥。

    命令如下:

    openssl genrsa -aes256 -out demoCA/private/cakey.pem 2048

    生成2048-bit的RSA私钥。

  3. 生成根证书请求文件:根证书应用文件名为server.req。

    命令如下:

    openssl req -config openssl.cnf -new -key demoCA/private/cakey.pem -out demoCA/careq.pem

    输入demoCA/private/cakey.pem的密码。

    输入root私钥密码。

    系统会要求输入证书请求中需包含的信息。

    您所输入的即为所谓的“区分名称”或“DN”。

    其中一些字段可以不填。

    一些字段会显示一个默认值,输入“.”可使字段为空。将如下信息填入生成的服务器和客户端证书。

    Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:xxxx
    Locality Name (eg, city) []:xxxx
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Abc
    Organizational Unit Name (eg, section) []:hello
    -Common name can be any name
    Common Name (eg, YOUR name) []:world
    -Email is optional.
    Email Address []:
    A challenge password []:
    An optional company name []:

  4. 生成自签名根证书

    命令如下:

    openssl ca -config openssl.cnf -out demoCA/cacert.pem -keyfile demoCA/private/cakey.pem -selfsign -infiles demoCA/careq.pem

    使用openssl.cnf中的配置。

    输入demoCA/private/cakey.pem的密码。

    输入root私钥密码。

    检查请求与签名是否匹配。

    Signature ok
    Certificate Details:
    Serial Number: 1 (0x1)
    Validity
    Not Before: Feb 28 02:17:11 2017 GMT
    Not After : Feb 28 02:17:11 2018 GMT
    Subject:
    countryName = CN
    stateOrProvinceName = shanxi
    organizationName = Abc
    organizationalUnitName = hello
    commonName = world
    X509v3 extensions:
    X509v3 Basic Constraints:
    CA:FALSE
    Netscape Comment:
    OpenSSL Generated Certificate
    X509v3 Subject Key Identifier:
    F9:91:50:B2:42:8C:A8:D3:41:B0:E4:42:CB:C2:BE:8D:B7:8C:17:1F
    X509v3 Authority Key Identifier:
    keyid:F9:91:50:B2:42:8C:A8:D3:41:B0:E4:42:CB:C2:BE:8D:B7:8C:17:1F
    Certificate is to be certified until Feb 28 02:17:11 2018 GMT (365 days)
    Sign the certificate? [y/n]:y
    1 out of 1 certificate requests certified, commit? [y/n]y
    Write out database with 1 new entries
    Data Base Updated

    已下发名为demoCA/cacert.pem的CA根证书

  5. 生成服务器证书私钥:生成名为server.key的私钥文件。

    命令如下:

    openssl genrsa -aes256 -out server.key 2048

  6. 生成服务器证书请求文件:生成服务器证书请求文件server.req。

    命令如下:

    openssl req -config openssl.cnf -new -key server.key -out server.req

    输入server.key的密码。

    系统会要求输入证书请求中需包含的信息。

    您所输入的即为所谓的“区分名称”或“DN”。

    其中一些字段可以不填。

    一些字段会显示一个默认值,输入“.”可使字段为空。

    配置如下信息,确保与创建CA时内容一致。
    Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:xxxx
    Locality Name (eg, city) []:xxxx
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Abc
    Organizational Unit Name (eg, section) []:hello
    -Common name can be any name
    Common Name (eg, YOUR name) []:world
    Email Address []:
    -- The following information is optional.
    A challenge password []:
    An optional company name []:

  7. 生成服务器证书:将demoCA/index.txt.attr属性设为“no”。

    vi demoCA/index.txt.attr

    下发生成的服务器证书请求文件,下发成功后,会生成一个正式的服务器证书server.crt。

    openssl ca -config openssl.cnf -in server.req -out server.crt -days 3650 –md sha256

    使用/etc/ssl/openssl.cnf中的配置。

    输入./demoCA/private/cakey.pem的密码:

    检查请求与签名是否匹配。

    Signature ok
    Certificate Details:
    Serial Number: 2 (0x2)
    Validity
    Not Before: Feb 27 10:11:12 2017 GMT
    Not After : Feb 25 10:11:12 2027 GMT
    Subject:
    countryName = CN
    stateOrProvinceName = shanxi
    organizationName = Abc
    organizationalUnitName = hello
    commonName = world
    X509v3 extensions:
    X509v3 Basic Constraints:
    CA:FALSE
    Netscape Comment:
    OpenSSL Generated Certificate
    X509v3 Subject Key Identifier:
    EB:D9:EE:C0:D2:14:48:AD:EB:BB:AD:B6:29:2C:6C:72:96:5C:38:35
    X509v3 Authority Key Identifier:
    keyid:84:F6:A1:65:16:1F:28:8A:B7:0D:CB:7E:19:76:2A:8B:F5:2B:5C:6A
    Certificate is to be certified until Feb 25 10:11:12 2027 GMT (3650 days)
    -- Choose y to sign and issue the certificate.
    Sign the certificate? [y/n]:y
    -- Select y, the certificate singing and issuing is complete.
    1 out of 1 certificate requests certified, commit? [y/n]y
    Write out database with 1 new entries
    Data Base Updated

    启用私钥密码保护:若服务器私钥的密码保护未启用,用户需执行gs_guc命令加密密码。

    gs_guc encrypt -M server -K root私钥密码 -D ./

    使用gs_guc加密后,会生成私钥密码保护文件server.key.cipher和server.key.rand

  8. 生成客户端证书和私钥:生成客户端私钥。

    openssl genrsa -aes256 -out client.key 2048

    生成客户端证书请求文件。

    openssl req -config openssl.cnf -new -key client.key -out client.req

    生成的客户端证书请求文件签发下发后,会生成正式的客户端证书文件client.crt。

    openssl ca -config openssl.cnf -in client.req -out client.crt -days 3650 –md sha256

    若服务器的pg_hba.conf文件中METHOD被设置为cert,客户端必须使用License文件client.crt中配置的用户名username(普通用户)连接数据库。若METHOD被设置为md5或sha256,客户端则没有此用户名限制。

    若不删除客户端私钥的密码保护,则需要使用gs_guc对密码进行加密。

    gs_guc encrypt -M client -K root私钥密码 -D ./  

    使用gs_guc加密后,会生成私钥密码保护文件client.key.cipher和client.key.rand。

替换证书

在LibrA中配置SSL连接所需的默认安全证书和私钥。已从CA获取服务器和客户端的正式证书和秘钥。

  1. 准备证书和秘钥。服务器上的配置文件名称约定如下:

    l Certificate name: server.crt
    l Key name: server.key
    l Key password and encrypted file: server.key.cipher and server.key.rand
    Conventions for configuration file names on the client:
    l Certificate name: client.crt
    l Key name: client.key
    l Key password and encrypted file: client.key.cipher and client.key.rand
    l Certificate name: cacert.pem
    l Names of files on in the revoked certificate list: sslcrl-file.crl

  2. 创建压缩包:

    压缩包名称:db-cert-replacement.zip

    压缩包格式:ZIP

    压缩包文件列表:server.crt, server.key,server.key.cipher, server.key.rand, client.crt, client.key, client.key.cipher,client.key.rand, cacert.pem.

    若需要配置证书撤销列表(CRL), 压缩包文件列表必须包含sslcrl-file.crl。

    命令如下:
    zip db-cert-replacement.zip client.crt client.key client.key.cipher client.key.rand server.crt server.key server.key.cipher server.key.rand
    zip -u ../db-cert-replacement.zip cacert.pem

  3. 调用证书替换接口替换证书。将准备好的压缩包db-cert-replacement.zip上传至集群用户的任一路径,如,/home/gaussdba/test/db-cert-replacement.zip。

    执行如下命令替换Coodinator中的证书:

    gs_om -t cert --cert-file=/home/gaussdba/test/db-cert-replacement.zip

    Starting SSL cert files replace.

    Backing up old SSL cert files.

    Backup SSL cert files on BLR1000029898 successfully.

    Backup SSL cert files on BLR1000029896 successfully.

    Backup SSL cert files on BLR1000029897 successfully.

    Backup gds SSL cert files on successfully.

    BLR1000029898 replace SSL cert files successfully.

    BLR1000029896 replace SSL cert files successfully.

    BLR1000029897 replace SSL cert files successfully.

    Replace SSL cert files successfully.

    Distribute cert files on all coordinators successfully.

    可以使用gs_om -t cert --rollback命令远程调用接口和gs_om -t cert --rollback -L命令。

客户端配置

  1. 对客户端密钥文件执行以下命令

    openssl pkcs8 -topk8 -inform PEM -outform DER -in Client.key -out client.pk8

  2. 将前面创建的“client.pk8”, “client.crt”, “cacert.pem”文件复制到客户端。

    在Data Studio上选择“客户端SSL秘钥”时,该秘钥文件不可选,只能选择*.pk8文件。然而,下载后的证书文件不包含该pk8文件。

  3. 在服务器上对客户端配置“双向”SSL认证。

    hostssl      all           all           10.18.158.95/32        cert

    在服务器上对客户端配置“单向”SSL认证。

    hostssl      all           all           10.18.158.95/32        sha256

  4. 登录Data Studio时,密码在双向SSL认证过程中未生效。

    需要输入SSL密码。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情