制作以下5個批處理文件:
set.cmd
set JDK_BIN=E:”Program Files”Javajdk1.6.0_24in
set KEY_FOLDER=E:DigitalSignature
key.cmd
call set.cmd
%JDK_BIN%keytool -genkey -keystore %KEY_FOLDER%cuckoo.keystore -alias cuckoo < KEY_ANSWER.lst
%JDK_BIN%keytool -selfcert -keystore %KEY_FOLDER%cuckoo.keystore -alias cuckoo -validity 1000 < KEY_PWD.lst
%JDK_BIN%keytool -export -keystore %KEY_FOLDER%cuckoo.keystore -alias cuckoo -file %KEY_FOLDER%cuckoo.cer < KEY_PWD.lst
註 : KEY_ANSWER.lst 和 KEY_PWD.lst 為輸入重定向文件,從文本文件裡讀每行來回答命令行的問題,換行回車作為提交。 -validity 後面跟簽名有效期,以天為單位,默認是半年
例: KEY_ANSWER.lst
password
password
Ren Jian
The CUCKOO Workgroup
Sun Yat-sen University
Guangzhou
Guangdong
CN
是
(後面加兩個換行)
KEY_PWD.lst
password
(換行)
selfsign.cmd
%JDK_BIN%jarsigner -keystore %KEY_FOLDER%cuckoo.keystore %1 cuckoo < KEY_PWD.lst
sign.cmd
call set.cmd
call selfsign.cmd %1
batchsign.cmd
call set.cmd
for %%N in (%1*.jar) do call selfsign.cmd %%N
使用說明:
1. 在set.cmd中設置JDK_BIN文件夾位置和存放Key的文件夾位置
2. 運行key.cmd產生key
3. 單個文件簽名
命令: sign.cmd [jar]
4. 對指定文件夾下所有文件批量簽名:
命令: batchsign.cmd [jar_folder]