2011年8月22日 星期一

JNLP JAR 簽署製作步驟

1。用keytool來創建一個密匙(同時指定時效,多久會過期,默認只給6個月)

2。用JARSigner用此密匙為JAR簽名。

可以用同一個密匙來為多個JAR簽名。


P.S. keytool、JARSigner必須設定好環境變數將Path加入java bin path ex:C:\Program Files\Java\jdk1.6.0_20\bin 才可在command mode呼叫



注意:大小寫,簽名一致,數字簽名過期

為什麼JAR要被簽名?當用戶啟動一個Java Network Launching Protocol (JNLP,Java網絡加載協議)文件或使用一個applet時,這個JNLP或applet可能請求系統提供一些非一般的訪問。比如“文件打開”等進行這樣的請求,就需要簽名的JAR。

如果它是匿名的,系統會詢問用戶是否打算信任JAR的簽署者。

1.首先生成簽名文件,執行完成後,會在使用者目錄內生成一個.keystore的密鑰文件,2kByte大小。

yourProj是別名keypass後面是密文密碼,keystore密碼是存儲密碼(要改變此文時需要輸入確認此密碼)

在dos command mode(cmd)提示狀態下輸入

>keytool -genkey -alias yourProj -keypas

s yourCompany:Kouling




螢幕提示:

輸入keystore密碼: yourCompany:yourPassword

您的名字與姓氏是什麼?

[Unknown]: ChinayourCompany

您的組織單位名稱是什麼?

[Unknown]: ChinayourCompany.com

您的組織名稱是什麼?

[Unknown]: Company

您所在的城市或區域名稱是什麼?

[Unknown]: City

您所在的州或省份名稱是什麼?

[Unknown]: Province

該單位的兩字母國家代碼是什麼

[Unknown]: CN

CN=ChinayourCompany, OU=ChinayourCompany.com, O=Company, L=City, ST=Province, C=CN 正確

嗎?

[否]: Y

2.為此密鑰加有效期限:7200天,將近20年. [嘿嘿,足夠用了吧?再也別想6個月]

輸入命令:

>keytool -genkey -alias yourProj -keypass yourCompany:Kouling -selfcert -validity 7200

屏幕提示:

輸入keystore密碼: yourCompany:yourPassword

注意:-validity 7200 這個就是加時效的參數,7200單位是“天”。

檢查密鑰文件,輸入命令:

>keytool -list

螢幕提示:

輸入keystore密碼: yourCompany:yourPassword

Keystore 類型: jks

Keystore 提供者: SUN

您的keystore 包含1 輸入

yourProj, 2009-5-15, keyEntry,

認證指紋(MD5): D4:9D:C7:3A:91:B4:30:6A:4D:50:F1:7C:E7:F5:B9:49

說明已經生成成功完成!

3.開始為Jar包文件簽名

用JARsigner工具

切換到項目jar包所在目錄


輸入命令:

>jarsigner -verbose -certs commons-logging-1.1.jar yourProj

注:

verbose輸出詳細信息

certs表示驗證此jar包時輸出證書信息

螢幕提示:

輸入密鑰庫的口令短語: yourCompany:yourPassword

輸入yourProj 的密鑰口令: yourCompany:Kouling

正在添加: META-INF/YOURPROJ.SF

正在添加: META-INF/YOURPROJ.DSA

正在添加: org/

正在添加: org/apache/

正在添加: org/apache/commons/

正在添加: org/apache/commons/logging/

正在添加: org/apache/commons/logging/impl/

。。。

。。。

4。打開jar包文件的META-INF目錄可以看到

yourProj.SF

yourProj.DSA

以及被擴充的MANIFEST.MF文件

表明已經加入了簽名文件


引用至 http://litaigang2009.blog.163.com/blog/static/128562280201032112232391/

沒有留言:

張貼留言