文档

Java™ 教程
隐藏目录
将签名和公钥保存到文件中
导航: Java SE 中的安全特性
课程: 生成和验证签名
部分: 生成数字签名

将签名和公钥保存到文件中

现在您已经为某些数据生成了签名,需要将签名字节保存在一个文件中,将公钥字节保存在另一个文件中,以便您可以通过调制解调器、软盘、邮件等方式将其发送给其他人。

接收者可以通过运行即将在验证数字签名步骤中生成的VerSig程序来验证数据是否来自您,并且在传输过程中是否被修改。该程序使用公钥来验证接收到的签名是否是接收到的数据的真实签名。

请回忆一下,签名被放置在名为realSig的字节数组中。您可以通过以下方式将签名字节保存在名为sig的文件中。

/* 将签名保存到文件中 */
FileOutputStream sigfos = new FileOutputStream("sig");
sigfos.write(realSig);
sigfos.close();

请回忆一下,在生成公钥和私钥步骤中,公钥被放置在名为pub的 PublicKey 对象中。您可以通过调用getEncoded方法获取编码后的键字节,然后将编码后的字节存储在一个文件中。您可以随意命名文件。例如,如果您的名字是 Susan,您可以将其命名为suepk(表示“Sue 的公钥”),如下所示:

/* 将公钥保存到文件中 */
byte[] key = pub.getEncoded();
FileOutputStream keyfos = new FileOutputStream("suepk");
keyfos.write(key);
keyfos.close();

上一页: 签署数据
下一页: 编译和运行程序