亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在Jini,RMI和Applet中如何實現代碼簽名

2019-11-18 11:56:53
字體:
來源:轉載
供稿:網友

  第一段代碼:生成公開/私有密鑰對并在命令行中指定文件,把密鑰對寫入該文件.
  import java.security.*;
  import java.io.*;
  public class KeyPairGen
  {
  public static void main(String[] args)
  {
  if(args.length!=1)
  {
  System.out.  System.exit(1);
  }
  KeyPairGen obj=new KeyPairGen();
  try{
  obj.gen(args[0]);
  }catch(NoSUChAlgorithmException ex)
  {
  System.out.println("NoSuchAlgorithmException");
  }
  catch(FileNotFoundException ex)
  {
  System.out.println("FileNotFoundException");
  }
  catch(IOException ex)
  {
  System.out.println("IOException");
  }
  }
  public void gen(String source) throws NoSuchAlgorithmException,
  FileNotFoundException,IOException
  {
  KeyPairGenerator kpGen=KeyPairGenerator.getInstance("DSA");
  kpGen.initialize(512);
  KeyPair kPair=kpGen.genKeyPair();
  FileOutputStream fos=new FileOutputStream(source);
  ObjectOutputStream oos=new ObjectOutputStream(fos);
  oos.writeObject(kPair);
  fos.close();
  oos.close();
  }
  }
  第二段代碼,命令行中指定存放密鑰的文件,用于簽名的字符串(這里使用字符串只是為了簡單,其實在真正實際使用中應該換成用
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");
  }
  }
  public void genSignature(String keyFile,String str,String sigFile)
  throws NoSuchAlgorithmException,InvalidKeyException,SignatureException,
  ClassNotFoundException,FileNotFoundException,IOException
  {
  FileInputStream fis=new FileInputStream(keyFile);
  ObjectInputStream ois=new ObjectInputStream(fis);
  KeyPair kp=(KeyPair)ois.readObject();
  PublicKey pubKey=kp.getPublic();
  PrivateKey priKey=kp.getPrivate();
  fis.close();
  ois.close();
  Signature sig=Signature.getInstance("SHA1WithDSA");
  sig.initSign(priKey);
  sig.update(str.getBytes());
  byte[] b=sig.sign();
  FileOutputStream fos=new FileOutputStream(sigFile);
  ObjectOutputStream oos=new ObjectOutputStream(fos);
  oos.writeObject(b);
  fos.close();
  oos.close();
  }
  }
  第三段代碼當然是用于驗證簽名了.命令行中指定三個參數.密鑰文件,更新驗證的字符串和簽名文件.
  import java.security.*;
  import java.io.*;
  public class SignVerify
  {
  public static void main(String[] args)
  {
  if(args.length!=3)
  {
  System.out.println("Usage: java SignVerify KeyFile String SigFile");
  System.exit(1);
  }
  SignVerify obj=new SignVerify();
  try{
  obj.verify(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");
  }
  }
  public void verify(String keyFile,String str,String sigFile) throws
  NoSuchAlgorithmException,InvalidKeyException,SignatureException,
  ClassNotFoundException,FileNotFoundException,IOException
  {
  FileInputStream fis=new FileInputStream(keyFile);
  ObjectInputStream ois=new ObjectInputStream(fis);
  KeyPair kp=(KeyPair)ois.readObject();
  PublicKey pubKey=kp.getPublic();
  PrivateKey priKey=kp.getPrivate();
  fis.close();
  ois.close();
  FileInputStream fis1=new FileInputStream(sigFile);
  ObjectInputStream ois1=new ObjectInputStream(fis1);
  byte[] b=(byte[])ois1.readObject();
  fis1.close();
  ois1.close();
  Signature sig=Signature.getInstance("SHA1WithDSA");
  sig.initVerify(pubKey);
  sig.update(str.getBytes());
  if(sig.verify(b))
  {
  System.out.println("Verify OK!");
  }
  else
  {
  System.out.println("Verify Error!");
  }
  }
  }
  在驗證過程中,密鑰對,字符串和簽名一個都不能錯,否則無法通過驗證.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品国产福利国产秒拍| 色樱桃影院亚洲精品影院| 欧美日韩在线影院| 国产性色av一区二区| 日韩第一页在线| yw.139尤物在线精品视频| 黑人巨大精品欧美一区二区一视频| 日韩av片电影专区| 国产91精品在线播放| 97av视频在线| 在线播放亚洲激情| 亚洲综合中文字幕在线观看| 怡红院精品视频| 欧美在线免费观看| 国产脚交av在线一区二区| 午夜精品三级视频福利| 欧美老少配视频| 亚洲欧美在线免费观看| 精品亚洲一区二区三区在线观看| 国产精品久久久久影院日本| 中文字幕日韩在线播放| 国产亚洲精品美女| 在线观看中文字幕亚洲| 91欧美视频网站| 最近2019中文字幕第三页视频| 亚洲午夜av久久乱码| 亚洲国产成人精品女人久久久| 日韩专区中文字幕| 亚洲直播在线一区| 国产精品黄色av| 欧美精品videossex性护士| 综合激情国产一区| 久久久国产精品免费| 国产综合色香蕉精品| 91亚洲精品久久久| 亚洲欧洲激情在线| 色偷偷噜噜噜亚洲男人| 色婷婷亚洲mv天堂mv在影片| 91精品视频免费看| 91国产在线精品| 亚洲三级免费看| 日本一欧美一欧美一亚洲视频| 欧美日韩国产精品一区| 亚洲天堂网在线观看| 国产在线视频2019最新视频| 亚洲精品在线不卡| 国产精品高潮呻吟久久av野狼| 成人av资源在线播放| 北条麻妃在线一区二区| 久久久久久久网站| 欧美在线视频一二三| 日韩精品欧美激情| 久久国产天堂福利天堂| 欧美最猛性xxxxx亚洲精品| 欧美区二区三区| 成人久久久久久| 久久精品久久久久| 亚洲欧美日韩第一区| 91免费综合在线| 欧美激情一级欧美精品| 精品久久中文字幕久久av| 国内外成人免费激情在线视频网站| 亚洲天堂av电影| 国产欧美精品久久久| 欧美激情国产日韩精品一区18| 久久久久久久久久久91| 中文字幕亚洲欧美日韩高清| 欧美激情精品久久久久久蜜臀| 91网站在线免费观看| 国产成人小视频在线观看| 亚洲美女激情视频| 国产剧情日韩欧美| 亚洲级视频在线观看免费1级| 91高潮精品免费porn| 亚洲福利在线观看| 欧美在线视频观看| 国产精品久久久999| 亚洲男人天天操| 国产成人avxxxxx在线看| 亚洲护士老师的毛茸茸最新章节| 精品视频一区在线视频| 精品日韩美女的视频高清| 国产精品偷伦免费视频观看的| 欧美激情高清视频| 久久久久久av| 欧美性猛交xxxx黑人| 欧美色道久久88综合亚洲精品| 亚洲人成网站在线播| 成人黄色免费网站在线观看| 亚洲免费电影在线观看| 欧美老女人bb| 国产亚洲欧美另类中文| 欧美激情中文网| 欧美在线视频观看| 欧美成人小视频| 国产一区二区三区视频免费| 亚洲成色777777女色窝| 欧美激情日韩图片| 久久久久国产精品免费网站| 日韩美女写真福利在线观看| 亚洲少妇中文在线| 日韩精品在线第一页| 97超级碰在线看视频免费在线看| 91精品国产高清久久久久久| 日韩在线免费观看视频| 亚洲片av在线| 亚洲精品97久久| 成人网在线观看| 久操成人在线视频| 最近2019年手机中文字幕| 成人网在线免费看| 国模叶桐国产精品一区| 国产在线精品自拍| 亚洲女成人图区| 中文字幕欧美精品日韩中文字幕| 欧美成人中文字幕在线| 亚洲在线免费观看| 国产精品久久久久久av福利软件| 精品视频偷偷看在线观看| 91精品久久久久久久久中文字幕| 欧美午夜影院在线视频| 国产伦精品一区二区三区精品视频| 欧美丰满少妇xxxxx| 国产精品久久久久久久久久久久久| 亚洲成人在线网| 久久中文字幕视频| 在线观看欧美视频| 久久久久久久成人| 国产97人人超碰caoprom| 午夜精品视频在线| 欧美一级视频一区二区| 日韩免费在线播放| 欧美中文在线字幕| 亚洲欧美日韩天堂| 中文字幕成人在线| 亚洲欧美日韩国产成人| 欧美激情第三页| 亚洲aⅴ男人的天堂在线观看| 欧美理论电影在线播放| 91久久嫩草影院一区二区| 国产成人在线播放| 亚洲欧洲国产精品| 伊人久久五月天| 国产日韩欧美在线| 91精品久久久久久久久| 精品日韩视频在线观看| 精品调教chinesegay| 色婷婷亚洲mv天堂mv在影片| 亚洲精品福利在线| 成人性生交大片免费观看嘿嘿视频| 欧美性色视频在线| 国产一区二区三区免费视频| 欧美视频免费在线| 亚洲天堂成人在线视频| 91精品免费久久久久久久久| 日韩精品欧美国产精品忘忧草| 日本久久久久久久久久久| 欧洲成人性视频| 国产精品久久久久久久美男| 国产网站欧美日韩免费精品在线观看| 精品亚洲一区二区| 色综合老司机第九色激情| 国产在线观看91精品一区| 日韩av在线天堂网|