首页 > 数据库 >openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成

openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成

时间:2023-10-18 23:05:07浏览次数:39  
标签:私钥 管理 -- demoCA openssl 证书 key openGauss

openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成

openGauss默认配置了通过openssl生成的安全证书、私钥。并且提供证书替换的接口,方便用户进行证书的替换。

103.1 操作场景

在测试环境下,用户可以用通过以下方式进行数字证书测试。在客户的运行环境中,请使用从CA认证中心申请的数字证书。

103.2 前提条件

Linux环境安装了openssl组件。

103.3 自认证证书生成过程

1、搭建CA环境。

--假设用户为omm已存在,搭建CA的路径为test
--以root用户身份登录Linux环境,切换到用户omm
mkdir test
cd /etc/pki/tls
--copy 配置文件openssl.cnf到test下
cp openssl.cnf ~/test
cd ~/test
--到test文件夹下,开始搭建CA环境
--创建文件夹demoCA./demoCA/newcerts./demoCA/private
mkdir ./demoCA ./demoCA/newcerts ./demoCA/private
chmod 700 ./demoCA/private
--创建serial文件,写入01
echo '01'>./demoCA/serial
--创建文件index.txt
touch ./demoCA/index.txt
--修改openssl.cnf配置文件中的参数
dir  = ./demoCA
default_md      = sha256
--至此CA环境搭建完成

2、生成根私钥。

--生成CA私钥
openssl genrsa -aes256 -out demoCA/private/cakey.pem 2048
Generating RSA private key, 2048 bit long modulus
.................+++
..................+++
e is 65537 (0x10001)
--设置根私钥的保护密码,假设为Test@123
Enter pass phrase for demoCA/private/cakey.pem:
--再次输入私钥密码 Test@123
Verifying - Enter pass phrase for demoCA/private/cakey.pem:

3、生成根证书请求文件。

--生成CA根证书申请文件careq.pem
openssl req -config openssl.cnf -new -key demoCA/private/cakey.pem -out demoCA/careq.pem
Enter pass phrase for demoCA/private/cakey.pem:
--输入根私钥密码 Test@123
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

--以下名称请牢记,生成服务端证书和客户端证书时填写的信息需要与此处的一致
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:shanxi
Locality Name (eg, city) []:xian
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Abc
Organizational Unit Name (eg, section) []:hello
--Common Name可以随意命名
Common Name (eg, YOUR name) []:world
--Email可以选择性填写
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

4、生成自签发根证书。

--生成根证书时,需要修改openssl.cnf文件,设置basicConstraints=CA:TRUE
vi openssl.cnf
--生成CA自签发根证书
openssl ca -config openssl.cnf -out demoCA/cacert.pem -keyfile demoCA/private/cakey.pem -selfsign -infiles demoCA/careq.pem
Using configuration from openssl.cnf
Enter pass phrase for demoCA/private/cakey.pem:
--输入根私钥密码 Test@123
Check that the request matches the signature
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
--至此CA根证书自签发完成,根证书demoCA/cacert.pem。

5、生成服务端证书私钥。

--生成服务端私钥文件server.key
openssl genrsa -aes256 -out server.key 2048
Generating a 2048 bit RSA private key
.......++++++
..++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
--服务端私钥的保护密码,假设为Test@123
Verifying - Enter pass phrase for server.key:
--再次确认服务端私钥的保护密码,即为Test@123

6、生成服务端证书请求文件。

--生成服务端证书请求文件server.req
openssl req -config openssl.cnf -new -key server.key -out server.req
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

--以下填写的信息与创建CA时的信息一致
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:shanxi
Locality Name (eg, city) []:xian
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Abc
Organizational Unit Name (eg, section) []:hello
--Common Name可以随意命名
Common Name (eg, YOUR name) []:world
Email Address []:
--以下信息可以选择性填写
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

7、生成服务端证书。

--生成服务端/客户端证书时,修改openssl.cnf文件,设置basicConstraints=CA:FALSE
vi openssl.cnf
--修改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
Using configuration from /etc/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
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)
--选择y对证书进行签发
Sign the certificate? [y/n]:y

--选择y,证书签发结束
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

去掉私钥密码保护,方法如下:

--去掉服务端私钥的密码保护
openssl rsa -in server.key -out server.key
--如果不去掉服务端私钥的密码保护需要使用gs_guc工具对存储密码进行加密保护
gs_guc encrypt -M server -D ./
--根据提示输入服务端私钥的密码,加密后会生成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

去掉私钥密码保护,方法如下:

--去掉客户端私钥的密码保护
openssl rsa -in client.key -out client.key
--如果不去掉客户端私钥的密码保护需要使用gs_guc工具对存储密码进行加密保护
gs_guc encrypt -M client -D ./  
--根据提示输入客户端私钥的密码,加密后会生成client.key.cipher,client.key.rand两个私钥密码保护文件。

将客户端密钥转化为DER格式,方法如下:

openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt

9、吊销证书列表的生成。

如果需要吊销列表,可按照如下方法生成:

--首先创建crlnumber文件
echo '00'>./demoCA/crlnumber
--吊销服务端证书
openssl ca -config openssl.cnf -revoke server.crt
--生成证书吊销列表sslcrl-file.crl
openssl ca -config openssl.cnf -gencrl -out sslcrl-file.crl

标签:私钥,管理,--,demoCA,openssl,证书,key,openGauss
From: https://blog.51cto.com/shuchaoyang/7923502

相关文章

  • 第3章 用户管理(一)
    Linux是一种多用户操作系统,提供了强大的用户管理功能。在Linux中,用户和组是管理系统资源和权限的基本单位。本文将为您介绍Linux用户/组的概念和相关操作,以帮助您更好地管理系统中的用户和组。1.用户/组概览1.1用户表示UID与GID每个用户在Linux系统中都有一个唯一的数字标识符,......
  • 钉钉圈子群用于实验室辅助管理
    其实前面一直用企业微信管理实验室的,疫情期间企业微信未认证的人数上限是500,也差不多够用了。上半年开始企业微信开始弹认证提醒了,提示人数不能超100,然后就发现很多新加的学生无法发送信息了,审批功能倒还是能用,就是不能聊天。微信群、freeflarum免费论坛、兔小巢、QQ频道,学生都没......
  • 【笔记】问题控制与管理&故障、问题、已知错误、变更请求之间的逻辑关系&问题管理流程
    【笔记】问题控制与管理&故障、问题、已知错误、变更请求之间的逻辑关系问题控制与管理与故障管理的尽可能快地恢复服多的目标不同,问题管理是要防止再次发生故障**例如你制作了一个报表,用户填写了问题数据进去,因此报错提示了,让用户换个数据或者和用户说不要这样填写的方法就算......
  • 企业IT部门管理者必备:CIO工作指南 P120
       本人从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货.   【智能制造数字化咨询】该PPT共120页,由于篇幅有限,以下为部分资料,如需完整原版 方案,点击关注下方。人们经常建议CIO将IT......
  • Linux 下安装 miniconda,管理 Python 多环境
    安装miniconda1、下载安装包Miniconda3-py37_22.11.1-1-Linux-x86_64.sh,或者自行选择版本2、把安装包上传到服务器上,这里放在/home/software3、安装bashMiniconda3-py37_22.11.1-1-Linux-x86_64.sh4、按回车WelcometoMiniconda3py37_22.11.1-1Inordertocontin......
  • 企业级 SigningPDF 数字签名 - 如何安装 GlobalSign AATL 文档签名证书
    派胜SigningPDF全球签是一款企业级PDF数字签名软件,可信数字签名、电子印章和时间戳解决方案。SigningPDF支持Adobe全球认可的证书颁发机构,高自动化为PDF文档添加可信合法的数字签名。访问SigningPDF官网下载最新版。https://www.paioffice.com/signingpdf/downloads(1)申......
  • Nginx 服务器 SSL 证书安装部署
    工具:WinSCP、putty下载证书cloud.tencent.com_bundle.crt证书文件cloud.tencent.com_bundle.pem证书文件cloud.tencent.com.key私钥文件cloud.tencent.com.csrCSR文件上传证书到服务器通过WinSCP将已获取到的cloud.tencent.com_bundle.crt或cloud.tencent.com_......
  • 项目播报 | 璞华科技助力苏州巨迈科构建数字化管理体系
    项目播报近日,苏州巨迈科智能科技有限公司(以下简称:苏州巨迈科)签约璞华科技实施PLM项目,建立苏州巨迈科统一的研发管理平台,实现产品数据在部门间的共享,提升企业技术管理水平和综合竞争力,提高信息化管理水平。苏州巨迈科是集自动化设备和工业软件一体化的智能制造整体解决方案提供......
  • 关于项目管理的若干建议
    今天整理电脑,发现自己去年年初给老板写的这个很好,拿出来和大家分享一下《关于项目管理的若干建议》1、人尽其才,成本优先技术开发型公司最主要的管理就是人员的管理,如何最大程度的利用好现有人才,发挥其最大作用,也是成本控制的重要参数。技术开发人员按初级、中级、高级三个级别进......
  • 第六届物业管理创新发展论坛在深召开,鹏业受邀参加并发表主题演讲
    10月12日至14日,由中国物业管理协会(以下简称“中物协”)主办,物业管理行业唯一报备商务部的国际性展会——2023中国国际物业管理产业博览会(以下简称“物博会”)在深圳会展中心隆重举行。本届物博会同期还召开了第六届物业管理创新发展论坛,由主论坛和近20场平行论坛组成,围绕智慧物业新实......