PKI体系简易JAVA实现

初学者,这两日对CA认证,数字签名等想要稍微了解下,从网上查了不少资料,发现很多文章中对公钥密码加密和鉴别过程(PKI体系)的某个步骤提供了具体的JAVA实现,对我的学习和了解帮助很大, 但还缺少一个完整的例子。下面就是自己动手构建完整例子的过程,如有错误或概念上的误解请指明。


1.一般公钥密码加密和鉴别过程有以下步骤:


1.获取证书

2.计算欲发送的信息或文件message消息摘要(比如用hash获取)

3.发送消息摘要给时间戳服务器TSA, 获得服务器时间签名的时间戳摘要A和时间戳B

4.将有时间戳的消息摘要用发送方的私钥加密(这里使用非对称密钥),生成数字签名

 

5.发送方随机产生一个对称密钥,用它和某种算法(比如AES)对欲发送的消息或文件加密,得到密文

 

6.发送方用接收方的公钥加密上述对称密钥和使用的算法,和密文放在一起

 

7.密文和签名通过不安全信道传送给接收方

 

8.接收

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值