Prepare Initial Program Structure

Here's the basic structure of the VerSig program created in the following parts of this lesson. Place this program structure in a file called 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());
        }
    }

}

Notes:

  • The methods for verifying data are in the java.security package, so the program imports everything from that package. The program also imports the java.io package for methods needed to input the file data to be signed, as well as the java.security.spec package, which contains the X509EncodedKeySpec class.

  • Three arguments are expected, specifying the public key, the signature, and the data files.

  • The code written in subsequent steps of this lesson will go between the try and the catch blocks.