linux使用openssl 生成 .crt .key .keystore

9 篇文章 0 订阅
1 篇文章 0 订阅

新建一个ssl.cnf


[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = CN

stateOrProvinceName = BeiJing

localityName = BeiJing
organizationName = GS Ltd		### 公司缩写 Ltd

organizationalUnitName = GS		### 公司缩写

commonName = 192.168.1.1

commonName_max = 64

[v3_req]
basicConstraints = CA:TRUE
subjectAltName = @alt_names

[alt_names]
#根据需要可以添加多个,我在测试时使用内网IP,一直提示hostname not verified ,
#后来在这里添加了自己的ip就可以了
IP.1 = 192.168.1.1
IP.2 = 192.168.1.2

生成key

[root@192-168-1-1 ssl] openssl genrsa -des3 -out ssl.key 4096
Generating RSA private key, 4096 bit long modulus
................................................................................++
e is 65537 (0x10001)
Enter pass phrase for ssl.key:					##输入密码 123456
Verifying - Enter pass phrase for ssl.key:          ## 再次输入密码  123456

genrsa: 产生rsa密钥命令
-out: 输出路径


根据key和cnf生产crt

[root@192-168-1-1 ssl]# openssl req -new -x509 -days 365 -key ssl.key -out ssl.crt -extensions v3_req -config ssl.cnf
Enter pass phrase for ssl.key:  ##输入key的密码 123456
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.
-----
CN []:CN
BeiJing []:BeiJing
BeiJing []:BeiJing
GS Ltd []:GS Ltd
GS []:GS
192.168.1.1 []:192.168.1.1

-new:表示生成一个新证书签署请求

-x509:专用于CA生成自签证书,如果不是自签证书则不需要此项

-key:用到的私钥文件

-out:证书的保存路径

-days:证书的有效期限,单位是day(天),默认是openssl.cnf的default_days

查看.crt的详细信息

openssl x509 -in ssl.crt -noout -text

生产keystore

[root@192-168-1-1 ssl]# openssl pkcs12 -export -in ssl.crt -inkey ssl.key -out ssl.p12 -name ssl -CAfile ssl.crt -caname root -chain
Enter pass phrase for ssl.key:  ##输入key的密码 123456
Enter Export Password:  ##输入密码 123456
Verifying - Enter Export Password:   ##输入密码 123456

[root@192-168-1-1 ssl]# keytool -importkeystore -v  -srckeystore ssl.p12 -srcstoretype pkcs12 -srcstorepass 123456 -destkeystore ssl.keystore -deststoretype jks -deststorepass 123456 
正在将密钥库 ssl.p12 导入到 ssl.keystore...
已成功导入别名 ssl 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消
[正在存储ssl.keystore]

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore ssl.keystore -destkeystore ssl.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

[root@192-168-1-1 ssl]# keytool -importkeystore -srckeystore ssl.keystore -destkeystore ssl.keystore -deststoretype pkcs12
输入源密钥库口令:  
已成功导入别名 ssl 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

Warning:
已将 "ssl.keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "ssl.keystore.old" 进行了备份。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值