Java文件签名与验证

Java文件签名与验证

数字签名与验证只需要用户输入三个参数:

Ø         原文件

Ø         签名信息文件

Ø         用户名

签名过程:

1.         首先从用户名对应的用户注册文件中读取用户信息和私钥,对原文件产生报文摘要,再对摘要进行签名。原文件的报文摘要、对报文摘要的签名都存入签名信息文件。

2.         接收三个输入参数:原文件路径、签名信息文件路径和用户名

3.         从用户注册文件中读取用户信息和私钥

4.         对原文件产生报文摘要、把摘要用对象输出流写入签名信息文件

5.         生成随机源

6.         生成签名对象,用私有密钥随机源初始化签名对象

7.         将原文件的报文摘要输入签名对象

8.         对原文件的报文摘要进行签名,将签名信息用对象输出流写入签名信息文件

验证签名过程:

根据签名过程的逆过程对签名信息对比认证,顺序不能颠倒。

依次从签名信息文件中读取的对象是:原文件的报文摘要,对原文件报文摘要的签名,

1.         接收三个输入参数:原文件路径、签名信息文件路径和用户名

2.         从用户注册文件中读取用户信息和公钥

3.         从签名信息文件中,读取原文摘要和数字签名

4.         产生原文件报文摘要,并与从签名信息文件中读取到的摘要进行对比

5.         生成签名对象,用公有密钥验证签名信息

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值