一、生成CA私钥
mkdir ca
cd ca
#创建私钥 (建议设置密码)
openssl genrsa -des3 -out myCA.key 2048
生成CA证书
# 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证书私钥
cd ..
# 此文件夹存放待签名的证书
mkdir certs
cd certs
openssl genrsa -out localhost.key 2048
创建ssl证书CSR
openssl req -new -key localhost.key -out localhost.csr
创建域名附加配置文件cert.ext
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证书
# 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
四、查看签署的证书信息
openssl x509 -in localhost.crt -noout -text
使用CA验证一下证书是否通过
root@ubuntu:/home/test/certs# openssl verify -CAfile ../ca/myCA.crt localhost.crt
localhost.crt: OK
五、 把服务端代码转换浏览器可以识别的PCS12格式,密码使用上面输入的密码
openssl pkcs12 -export -in localhost.crt -inkey localhost.key -out server.p12
六、使用jetty中的PKCS12Import工具类完成转换,密码同上
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文件中包含的证书信息
keytool -v -list -keystore server.jks
-
Linux
+关注
关注
88文章
11628浏览量
217948 -
SSL
+关注
关注
0文章
132浏览量
26650 -
虚拟机
+关注
关注
1文章
968浏览量
30173
发布评论请先 登录
Jtti分析SSL证书安装不成功是怎么回事?有哪些原因?
搭建自己的ubuntu系统之创建ubuntu虚拟机
TECS OpenStack资源池虚拟机网络二层地址无法互通的问题处理
Linux内核编译失败?移动硬盘和虚拟机的那些事儿
Linux 5.15.52_2.1.0 (Yocto) 是否支持Xen虚拟机管理程序?
hyper 备份,Hyper备份:虚拟机备份与恢复
hyper-v虚拟机,为何需要用hyper-v虚拟机?
hyper v 上网,Hyper-V上网:虚拟机网络配置
hyper v 删除,怎么样删除hyper-v中的虚拟机?
hyper内存条,hyper-v 添加虚拟机还需要硬盘吗
Ubuntu系统的虚拟机安装步骤 如何在Ubuntu系统上编译软件
Hyper-V创建虚拟机配置IP等网络配置原理(Linux、Windows为例)

虚拟机:Linux生成自签名SSL证书
评论