验证数字签名
原文: https://docs.oracle.com/javase/tutorial/security/apisign/versig.html
如果您有生成数字签名的数据,则可以验证签名的真实性。要做到这一点,你需要
- 数据
- 签名
- 与用于签署数据的私钥对应的公钥
在此示例中,您编写VerSig
程序以验证 GenSig
程序生成的签名。这演示了验证所谓签名的真实性所需的步骤。
VerSig
导入公钥和签名,该签名被声称是指定数据文件的签名,然后验证签名的真实性。公钥,签名和数据文件名在命令行中指定。
创建VerSig
示例程序以导入文件和验证签名的步骤如下。
-
创建名为
VerSig.java
的文本文件。键入初始程序结构(import 语句,类名,main
方法等)。 -
从指定为第一个命令行参数的文件中导入编码的公钥字节,并将它们转换为
PublicKey
。 -
从指定为第二个命令行参数的文件中输入签名字节。
-
获取
Signature
对象并使用公钥对其进行初始化以验证签名。向其提供要验证其签名的数据(从指定为第三个命令行参数的文件),并验证签名。