类:生成和验证签名

本课将指导您完成使用 JDK Security API 生成数据的数字签名并验证签名真实的必要步骤。本类适用于希望将安全功能纳入其程序(包括密码服务)的开发人员。

本课演示了 JDK Security API 在签名文档方面的用法。该类显示了由拥有原始文档的人执行的一个程序将执行什么程序来生成密钥,使用私钥为文档生成数字签名,以及将公钥和签名导出到文件中。

然后,它显示了另一个程序的示例,该程序由文档,签名和公钥的接收者执行。它显示了程序如何导入公共密钥并验证签名的真实性。本类还讨论并演示了提供和导入密钥(包括证书)的可能替代方法和方法。

有关概念和术语(数字签名,证书,密钥库)的更多信息,请参阅API 和工具用于安全代码和文件交换类。

在本类中,您将创建两个基本应用程序,一个用于数字签名生成,另一个用于验证。接下来是对潜在增强功能的讨论和演示。本类分为三个部分。

  • 生成数字签名显示了使用 API 生成密钥和使用私钥对数据进行数字签名以及将公钥和签名导出到文件的过程。应用程序从命令行获取数据文件名。

  • 验证数字签名显示了使用 API 导入公共密钥和被认为是指定数据文件签名的签名并验证签名的真实性。数据,公共密钥和签名文件名在命令行上指定。

  • 弱点和替代方案讨论了基本程序使用的方法的潜在弱点。然后,它介绍并演示了提供和导入密钥的可能替代方法和方法,包括使用包含编码的密钥字节的文件和使用包含公共密钥的证书。