• 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.         生成签名对象,用公有密钥验证签名信息
  • 相关阅读:
    vim编辑中断后,重新编辑的警告删除
    更新centos7的kernel
    centos7 设置连接无线wifi
    U盘安装centos7
    centos7清理矿机木马qw3xT,kpgrbcc
    centos7 防火墙屏蔽IP
    ftp用户和密码
    聚类结果的评估指标及其JAVA实现
    java.io.Serializable浅析
    JAVA中求解对象所占字节大小
  • 原文地址:https://www.cnblogs.com/heartstage/p/3442547.html
Copyright © 2020-2023  润新知