您当前的位置:首页 > 计算机 > 编程开发 > Java

Java 签名和验证

时间:12-14来源:作者:点击数:

参考了 Java 安全官方教程( docs.oracle 商业网/javase/tutorial/security/apisign/index.html)

在该官方教程中,GenSig.java( docs.oracle 商业网/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/security/apisign/examples/GenSig.java) 类生成密钥对,对输入的文件进行签名,输出了一个签名结果文件 sig 和公钥 suepk。

VerSig.java( docs.oracle 商业网/javase/tutorial/security/apisign/examples/VerSig.java) 类接受三个参数:公钥文件名(suepk)、签名文件(sig)、被签名的源文件名(hello.txt)。

该教程解释了两个类的原理,并附加有源码。将源码下载并编译。创建一个 hello.txt 的文件作为被签名的目标文件,里面随便放点字符串。然后执行:

$ java GenSig hello.txt                        (生成文件sig和suepk)
$ java VerSig suepk sig hello.txt
signature verifies: true

在实际使用时,密钥对不可能每次在程序中重新生成。而keytool恰好可以生成并相对安全保存密钥对。所以下面结合了 keytool 和 java 实现的功能。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐