前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >生成自签名ssl证书

生成自签名ssl证书

作者头像
Linux运维技术之路
发布2022-06-07 09:02:30
发布2022-06-07 09:02:30
2.6K00
代码可运行
举报
运行总次数:0
代码可运行

一、生成CA私钥

代码语言:javascript
代码运行次数:0
运行
复制
mkdir ca
cd ca
#创建私钥 (建议设置密码)
openssl genrsa -des3 -out myCA.key 2048

生成CA证书

代码语言:javascript
代码运行次数:0
运行
复制
# 20 年有效期
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 7300 -out myCA.crt

把此证书导入需要部署的PC中即可,以后用此CA签署的证书都可以使用

查看证书信息命令 openssl x509 -in myCA.crt -noout -text

二、创建ssl证书私钥

代码语言:javascript
代码运行次数:0
运行
复制
cd ..
# 此文件夹存放待签名的证书
mkdir certs
cd certs
openssl genrsa -out localhost.key 2048

创建ssl证书CSR

代码语言:javascript
代码运行次数:0
运行
复制
openssl req -new -key localhost.key -out localhost.csr

创建域名附加配置文件cert.ext

代码语言:javascript
代码运行次数:0
运行
复制
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
IP.2 = 127.0.0.1
DNS.3 = test.com
DNS.4 = *.test.com

三、使用CA签署ssl证书

代码语言:javascript
代码运行次数:0
运行
复制
# ssl证书有效期10年,此步骤需要输入CA私钥的密码
openssl x509 -req -in localhost.csr -out localhost.crt -days 3650 \
  -CAcreateserial -CA ../ca/myCA.crt -CAkey ../ca/myCA.key \
  -CAserial serial -extfile cert.ext

四、查看签署的证书信息

代码语言:javascript
代码运行次数:0
运行
复制
openssl x509 -in localhost.crt -noout -text

使用CA验证一下证书是否通过

代码语言:javascript
代码运行次数:0
运行
复制

root@ubuntu:/home/test/certs# openssl verify -CAfile ../ca/myCA.crt localhost.crt
localhost.crt: OK

五、 把服务端代码转换浏览器可以识别的PCS12格式,密码使用上面输入的密码

代码语言:javascript
代码运行次数:0
运行
复制
openssl pkcs12 -export -in localhost.crt -inkey localhost.key -out server.p12

六、使用jetty中的PKCS12Import工具类完成转换,密码同上

代码语言:javascript
代码运行次数:0
运行
复制
wget https://biteeniu.github.io/files/jetty-6.1.26.jar
java -cp jetty-6.1.26.jar org.mortbay.jetty.security.PKCS12Import server.p12 server.jks

七、使用下面命令查看jks文件中包含的证书信息

代码语言:javascript
代码运行次数:0
运行
复制
keytool -v -list -keystore server.jks
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux运维技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档