国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

在Applet中實現數字簽名

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

  本文給出Applet中數字簽名的具體實現細節。
  
  預備工作:當然是寫一個Applet,其中涉及到對本地文件的讀或寫操作用于測試目的??梢韵扔枰詧绦校氡貞撌菚伋?a href="http://m.survivalescaperooms.com/article.asp?typeid=160">java.security.accessControlException的。
  
  下面實現簽名:(代碼本身無須任何更改)
  注:下面所使用的keytool或jarsigner命令只存在與Java2中,1.1中為javakey.且二者的安全模型有很大的差異,故務必首先確定你所使用SDK的版本。
  
  (1)使用keytool命令建立自己的密鑰庫并生成X.509自簽名證書。
  下列的命令很長時間都不使用了,具體參數什么的都忘完了,故只給出大概的參數,至于具體用法請參閱文檔。
  keytool -genkey -alias xiewuhen(這里似乎應該是密鑰庫的項目);
  下面按照提示一步步進行下去即可。
  
  (2)把Applet類文件打包成jar.
  
 ?。?)利用jarsigner簽名jar文件。
  jarsigner applet.jar xiewuhen(這個applet.jar是你要簽名的jar文件,xiewuhen是你前面在密鑰庫中生成的項目)
  
 ?。?)檢查jar文件,在meta-inf目錄下應該會出現兩個新文件,xiwehen.SF,xiwuhen.DSA.
  注重xiewuhen這個密鑰項目只是事例,具體是什么依靠你最初使用keytool所生成的項目。其中SF文件是簽名文件,是一個ASCII文件,保存了簽名過程中使用的摘要算法。DSA文件是一個二進制文件,保存了簽名和數字證書。最后一點就是文件擴展名具體是DSA還是RSA取決你使用的簽名算法,默認是DSA,可以在keytool參數中指定RSA算法。
  
 ?。?)若你是在單機且只有一個密鑰庫的機器上測試,下一個步驟可以省略因為這牽涉到證書的導入導出的問題。由于你簽名方和驗證方共用同一個密鑰庫,那證書就無須導來導去了。但為了模擬真正的環境,所以還是建議在多機上測試或建立多個密鑰庫。
  
 ?。?)使用keytool -eXPort -file -alias等一系列參數將證書導出,保存成crt格式,可以在流覽器中配置該證書。但我們暫不考慮這種情況。再次使用keytool -import -file -alias命令將證書導入驗證方的密鑰庫。注重alias指定的別名務必和生成時的一模一樣。
  
 ?。?)修改策略文件。該文件位于主目錄的/lib/security/中,是java.seUCrity文件。至于你的Java主目錄是什么,可以查看java.home系統屬性。
  
 ?。?)如下修改策略:
  //指定的的密鑰庫路徑。type目前只能是JKS(Sun的默認實現),可以省略。
  keystore "keystoreURL","keystoreType";
  grant signedBy "xiwuhen" codeBase "這里指定Applet的裝入URL,若是文件URL須在前面加上file: 注重這里務必不可省略,否則Applet就會共享其他的策略了
  {
  permission java.io.FilePermission "autoexec.bat","read";
  //上面的權限只是一個例子,依據你的要求給出具體策略。
  };
  最后還有一點就是Applet可以有許多人順序簽名,若是那樣的話,signedBy中的各個簽名者之間是和的關系,而不是或。也就是說比如signedBy "a,b"那必須兩人都簽了名名才行,只有其一是不予通過的。
  關于證書的問題,由于這里我們使用的是自簽名證書,所以只能用于測試目的,在真正的商務活動中是不會有人信任這種證書的(想必你也不會信任來路不明的證書)。要想真正用于實際須向證書機構(CA)申請并購買數字證書。類似機構大的主要有Verisign,Thawte等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成武县| 青岛市| 仪陇县| 平昌县| 芮城县| 海晏县| 安阳县| 巩义市| 阳高县| 丽江市| 金湖县| 武平县| 丰原市| 通海县| 南岸区| 遵义市| 荔浦县| 上蔡县| 四子王旗| 西昌市| 淳化县| 陆河县| 兴化市| 松溪县| 沅江市| 合水县| 鞍山市| 凌云县| 潜江市| 晋宁县| 自贡市| 公安县| 包头市| 潮州市| 沂南县| 嘉黎县| 保山市| 宣汉县| 天镇县| 阿克| 博野县|