Java生成证书用HTTPS进行访问


一、CA证书是什么?

1、 什么是CA?

CA全称为Certificate Authority,可以翻译为证书颁发机构。主要功能为:证书发放、证书更新、证书撤销和证书验证。

2、 什么是证书?

证书指数字证书。
数字证书又称为数字标识。其作用是对计算机网络交流中的信息和数据进行加密和解密保证信息和数据的机密性、完整性、可用性和不可抵赖性。

3、 证书生成过程

数字证书的签发过程:
1、 撰写证书的元数据:包括签发人、地址、签发时间、有效期等,还有证书持有者的基本信息,比如DNS、所有者公钥等信息。
2、 使用通用的Hash算法对证书元数据计算生成数字摘要
3、 使用发行人的密钥对该数字摘要进行加密,生成一个加密的数字摘要,也就是发行人的数字签名。(发行人指CA)

4、 将数字签名房价到数字证书上,变成一个签过名的数字证书

数字证书的验证过程:
1、 证书使用者通过某种途径(如浏览器访问)获取到该数字证书,解压后分别获得证书元数据和数字签名。
2、 使用同样的Hash算法计算证书元数据的数字摘要
3、 使用发行人的公钥对数字签名进行加密,得到解密后的数字摘要
4、 对比两次的数字摘要,如果相同,则说明这个数字证书是被CA验证过的合法证书。

二、Java生成证书

1.进入JDK的bin目录下,然后输出CMD进入控制台

在这里插入图片描述
在这里插入图片描述

2.生成keystore

命令:

.\keytool.exe -genkeypair -alias dongbao-alias -keypass 123456 -keyalg RSA -validity 365 -keystore e:\cer\dongbao-alias.keystore -storepass 123456 -ext san=dns:localhost
您的名字与姓氏是什么?
[Unknown]: zhong
您的组织单位名称是什么?
[Unknown]: jy
您的组织名称是什么?
[Unknown]: jy
您所在的城市或区域名称是什么?
[Unknown]: sz
您所在的省/市/自治区名称是什么?
[Unknown]: sz
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=chao, OU=msb, O=msb, L=msb, ST=cn, C=cn是否正确?
[否]: 是

在这里插入图片描述
生成之后如下图:
在这里插入图片描述

2.生成证书

命令:

.\keytool.exe -exportcert -alias dongbao-alias -keystore E:\cer\dongbao-alias.keystore -file e:\cer\my.cer

如下图就是证书:
在这里插入图片描述

三、无证书测试

1、随便写一个demo测试:
在这里插入图片描述
2、HTTP访问
在这里插入图片描述
3、HTTPS访问,可以看到访问不了
在这里插入图片描述

四、配置证书

安装证书到浏览器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

到此安装完成!

在这里插入图片描述
在这里插入图片描述
配置yml:

ssl:
key-store: classpath:dongbao-alias.keystore
key-store-type: JKS
key-store-password: 123456
key-password: 123456
key-alias: dongbao-alias

在这里插入图片描述
再次访问demo,用HTTPS访问
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喝汽水的猫^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值