zoukankan      html  css  js  c++  java
  • Java文件签名与验证

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

    • Ø         原文件
    • Ø         签名信息文件
    • Ø         用户名

    签名过程:

    1. 1.         首先从用户名对应的用户注册文件中读取用户信息和私钥,对原文件产生报文摘要,再对摘要进行签名。原文件的报文摘要、对报文摘要的签名都存入签名信息文件。
    2. 2.         接收三个输入参数:原文件路径、签名信息文件路径和用户名
    3. 3.         从用户注册文件中读取用户信息和私钥
    4. 4.         对原文件产生报文摘要、把摘要用对象输出流写入签名信息文件
    5. 5.         生成随机源
    6. 6.         生成签名对象,用私有密钥和随机源初始化签名对象
    7. 7.         将原文件的报文摘要输入签名对象
    8. 8.         对原文件的报文摘要进行签名,将签名信息用对象输出流写入签名信息文件

    验证签名过程:

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

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

    1. 1.         接收三个输入参数:原文件路径、签名信息文件路径和用户名
    2. 2.         从用户注册文件中读取用户信息和公钥
    3. 3.         从签名信息文件中,读取原文摘要和数字签名
    4. 4.         产生原文件报文摘要,并与从签名信息文件中读取到的摘要进行对比
    5. 5.         生成签名对象,用公有密钥验证签名信息
  • 相关阅读:
    SpringAOP--动态数据源
    SpringAOP--代理
    SpringAOP--aop使用
    Kafka03--Kafka消费者使用方式
    Kafka02--Kafka生产者简要原理
    Kafka01--Kafka生产者使用方式
    SpringBoot中的日志使用:
    LCS&&LRC&&LIS问题
    解决Idea.exe无法启动问题(idea2017.3版本)
    七牛云简单实用-uploadManager.put(..)抛出异常
  • 原文地址:https://www.cnblogs.com/heartstage/p/3442547.html
Copyright © 2011-2022 走看看