首页 > 代码库 > Java数字签名和数字证书
Java数字签名和数字证书
数字签名
作用:检验jar包是否为公钥发布者的发布的,并且没有被篡改。
过程:
1,作者使用散列算法对jar包生成散列(指纹);
2,作者使用私钥对散列进行加密,
3,将jar包和签名后的散列一起发布。
4,用户使用作者发布的公钥解密散列,得到jar包的指纹;
5,用户使用散列算法对jar生成指纹;
6,对比两个指纹是否一致。
数字证书:权威仍证机构使用自己的私钥对申请认证的用户的公钥进行签名的产物。
作用:检验用户得到的公钥的发布者是否可信
过程:
1,申请者携带材料到认证机构申请数字证书(即让认证机构为其公钥签名);
2,认证机构对其进行审核,审核通过后,使用私钥对申请者的公钥签名,申请者得到数字证书;
3,申请者发布jar及数字证书;
4,用户下载jar及数字证书;
5,用户使用认证机构的公钥对数字证书解密,得到公钥发布者的公钥的指纹;
6,使用散列算法对公钥进行散列,生成指纹;
7,对比公钥的两个指纹是否一致,若一致,使用数字证书没有被篡改,即认证机构对该公钥进行了签名,说明该公钥是可靠的。
Java数字签名和数字证书
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。