background image

  }
  }
 
 
  第二段代码,命令行中指定存放密钥的文件,用于签名的字符串(这里使用字符串只是
为了简单,其实在真正实际使用中应该换成用 MD5 或 SHA1 算法计算某一文件流的消息摘
要值)和签名所存放的文件.功能是计算出签名并把该签名存放在文件中.
  import java.security.*;
  import java.io.*;
  public class SignGen
  {
  public static void main(String[] args)
  {
  if(args.length!=3)
  {
  System.out.println("Usage: java SignGen KeyFile String SigFile");
  System.exit(1);
  }
  SignGen obj=new SignGen();
  try{
  obj.genSignature(args[0],args[1],args[2]);
  }catch(NoSuchAlgorithmException ex)
  {
  System.out.println("NoSuchAlgorithmException");
  }
  catch(InvalidKeyException ex)
  {
  System.out.println("InvalidKeyException");
  }
  catch(SignatureException ex)
  {
  System.out.println("SignatureException");
  }
  catch(ClassNotFoundException ex)
  {
  System.out.println("ClassNotFoundException");
  }
  catch(FileNotFoundException ex)
  {
  System.out.println("FileNotFoundException");
  }
  catch(IOException ex)
  {
  System.out.println("IOException");