java 自签名ssl证书_生成自签名ssl证书

一、生成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

创建域名附加配置文件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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值