# 生成数字签名

> 原文： [https://docs.oracle.com/javase/tutorial/security/apisign/gensig.html](https://docs.oracle.com/javase/tutorial/security/apisign/gensig.html)

您要创建的`GenSig`程序将使用 JDK Security API 为使用私钥的数据生成密钥和数字签名，并将公钥和签名导出到文件。应用程序从命令行获取数据文件名。

以下步骤创建`GenSig`示例程序。

1.  [准备初始程序结构](step1.html)

    创建名为`GenSig.java`的文本文件。键入初始程序结构（import 语句，类名，`main`方法等）。

2.  [生成公钥和私钥](step2.html)

    生成密钥对（公钥和私钥）。签名数据需要私钥。公共密钥将由 [`VerSig`](versig.html) 程序用于验证签名。

3.  [签署数据](step3.html)

    获取`Signature`对象并初始化以进行签名。为其提供要签名的数据，并生成签名。

4.  [将签名和公钥保存在文件中](step4.html)

    将签名字节保存在一个文件中，将公钥字节保存在另一个文件中。

5.  [编译并运行程序](step5.html)