The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
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.