验证数字签名

如果您具有为其生成数字签名的数据,则可以验证签名的真实性。为此,您需要

  • the data

  • the signature

  • 与用于签署数据的私钥相对应的公钥

在此示例中,您编写一个VerSig程序以验证GenSig程序生成的签名。这演示了验证所谓的签名的真实性所需的步骤。

VerSig导入公钥和据称是指定数据文件签名的签名,然后验证签名的真实性。公用密钥,签名和数据文件名在命令行上指定。

下面是创建VerSig示例程序以导入文件并验证签名的步骤。

创建一个名为VerSig.java的文本文件。Importing 初始程序结构(import 语句,类名,main方法等)。

从指定为第一个命令行参数的文件中导入已编码的公钥字节,并将其转换为PublicKey

从指定为第二个命令行参数的文件中 Importing 签名字节。

获取一个Signature对象,并使用公共密钥对其进行初始化以验证签名。向其提供要验证签名的数据(来自指定为第三个命令行参数的文件),然后验证签名。