设为首页 加入收藏

TOP

Java结合keytool实现非对称签名与验证(三)
2018-08-10 09:12:10 】 浏览:336
Tags:Java 结合 keytool 实现 对称 签名 验证
qGSIb3DQEBAQUAA4GNADCBiQKBgQCzVDmu6Cf2QF7cERCGYU3B8Epm 6pkkpMZFgotphXMgAmBBNJbhSi7qPH4R5JlEm1ZXPr5DZH/pyJBWQhiiHGeUAOve +GOgvt9Rk25r7OEWYvn/GCr/JBfLBGqwtlzn/t2s2x04IooshsGkOd6YpZoztkED tu2gKHedFczF607IvwIDAQAB -----END PUBLIC KEY-----

摘要计算

创建一个内容是 1234 的文本文件 hello.txt。用 OpenSSL 计算它的 SHA256 摘要(SHA256 是 jarsigner 的默认摘要算法):

$ cat hello.txt
1234
$ openssl dgst -SHA256 -out hello.sha256 hello.txt
$ cat hello.sha256
SHA256(hello.txt)= a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4

签名和验证

对摘要文件 hello.sha256 进行签名:

$ openssl rsautl -sign -in hello.sha256 -out hello.sign -inkey key.pem

用公钥对签名进行验证:

$ openssl rsautl -verify -in hello.sign -inkey pub-key.pem -pubin
SHA256(hello.txt)= a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4

用公钥验证必须加上 -pubin 参数。 用私钥对签名进行验证:

$ openssl rsautl -verify -in hello.sign -inkey key.pem
SHA256(hello.txt)= a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4

验证的STD输出与摘要文件 hello.sha256 的内容一样,说明验证可以通过。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇高效遍历Java容器 下一篇JDK源码阅读:ByteBuffer

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目