# 准备初始程序结构

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

以下是本课程以下部分中创建的`VerSig`程序的基本结构。将此程序结构放在名为`VerSig.java`的文件中。

```
import java.io.*;
import java.security.*;
import java.security.spec.*;

class VerSig {

    public static void main(String[] args) {

        /* Verify a DSA signature */

        if (args.length != 3) {
            System.out.println("Usage: VerSig " +
                "publickeyfile signaturefile " + "datafile");
        }
        else try {

        // the rest of the code goes here

        } catch (Exception e) {
            System.err.println("Caught exception " + e.toString());
        }
    }

}

```

备注：

*   验证数据的方法在`java.security`包中，因此程序从该包导入所有内容。该程序还为输入要签名的文件数据所需的方法以及包含`X509EncodedKeySpec`类的`java.security.spec`包导入`java.io`包。

*   需要三个参数，指定公钥，签名和数据文件。

*   在本课程的后续步骤中编写的代码将介于`try`和`catch`块之间。