安全证书、OpenSSL、keystore(keystore生成过程讲得多)

OpenSSL安全证书的生成步骤:

这是国产数据库-达梦数据库-安全证书的生成过程。达梦数据库V7采用基于SSL的安全加密通信。

0.准备工作
安装openssl
在bin目录下建立ca文件夹
ca文件夹下建立newcerts,private文件夹
建立index.txt和serial文件,serial文件中深入内容01
更改配置文件dir        = ./demoCA                     为dir        = ./CA    
            certificate    = $dir/cacert.pem       为certificate    = $dir/ca-cert.pem
            private_key    = $dir/private/cakey.pem为private_key    = $dir/private/ca-key.pem

设置环境变量OPENSSL_CONF为C:\OpenSSL\bin\openssl.cfg
进入openssl命令提示后
1.创建根密钥和证书请求
req -new -x509 -keyout ca/private/cakey.pem -out ca/ca-cert.pem -config openssl.cfg

2.创建服务器和客户端密钥
genrsa -out server-key.pem 1024
genrsa -out client-key.pem 1024

3.创建服务器和客户端的证书请求
req -new -key server-key.pem -out server.csr -config openssl.cfg
req -new -key client-key.pem -out client.csr -config openssl.cfg

4.证书签名
ca -in server.csr -out server-cert.pem -cert ca/ca-cert.pem -keyfile ca/private/ca-key.pem -config openssl.cfg
ca -in client.csr -out client-cert.pem -cert ca/ca-cert.pem -keyfile ca/private/ca-key.pem -config openssl.cfg

5.证书签名如果遇到下面的问题,可以清空index.txt文件内容后正常生成
Certificate is to be certified until Oct 16 05:51:39 2021 GMT (3650 days)
Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2

6.证书签名如果遇到省份城市等不匹配时,可以修改openssl.cfg文件中的配置
# For the CA policy
[ policy_match ]
countryName        = match
stateOrProvinceName    = optional
organizationName    = optional
organizationalUnitName    = optional
commonName        = supplied
emailAddress        = optional

---------------------------------------------------------------------------------------------------------------------------
生成java的keystore,使用jdk提供的keytool工具, 最后生成的文件为.keystore
1.建立.keystore文件,需要填写证书信息,注意第一项是用户名,需要和达梦数据库用户名“SYSDBA”一致
keytool -genkey -keyalg RSA -alias client -keystore .keystore -storepass changeit -storetype jks
您的名字与姓氏是什么?
 [Unknown]:  SYSDBA
您的组织单位名称是什么?
 [Unknown]:  DAMENG
您的组织名称是什么?
 [Unknown]:  HUST
您所在的城市或区域名称是什么?
 [Unknown]:  WUHAN
您所在的州或省份名称是什么?
 [Unknown]:  HUBEI
该单位的两字母国家代码是什么
 [Unknown]:  CN
N=SYSDBA, OU=DAMENG, O=HUST, L=WUHAN, ST=HUBEI, C=CN 正确吗?
 [否]:  是

输入<client>的主密码
       (如果和 keystore 密码相同,按回车):
       
2. 得到证书请求文件client.csr
keytool -certreq -alias client -keyalg RSA -file client.csr -keystore .keystore

3. CA签署证书,生成 client.pem
openssl ca -keyfile ca/private/ca-key.pem -cert ca/ca-cert.pem -in client.csr -out client.pem -config openssl.cfg

4. 转换client.pem格式,生成 client.cer
openssl x509 -in client.pem -out client.cer

5. 导入CA证书到keystore
keytool -import -alias ca -trustcacerts -file ca-cert.pem -keystore .keystore

6. 导入用户的证书 client.cer到keystore
keytool -import -alias client -trustcacerts -file client.cer -keystore .keystore

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值