今天總結下本人一直使用的在J2ME,BlackBerry和Android平台下籤名方法。
J2ME:
1.產生key store. 用JAVA_HOME/bin目錄下"keytool.exe"命令產生。
E.g.
D:/Java/jdk1.5.0_15/bin>keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -validity 10000
2.產生key store後還得修改下認證,必須需要手機廠商承認的認證,這就得去花錢買了,Verisign和Thawte都能買到認證,
然後進行簽名。
3.本人一般都用ANTENNA ANT產生J2ME程式,所以簽名相對簡單些,直接調用"Wtksign"任務來進行數位簽章。
E.g.
<wtksign keystore="${keystore-path}"
jarfile="${path.build}/${jar.name}.jar"
jadfile="${path.build}/${jar.name}.jad"
storepass="${keystore-pass}"
certalias="${alias-name}"
certpass="${keystore-pass}"
/>
或者也可以運行WTK裡面的Utilities進行簽名。
Android:
覺得Android最通用了,它不需要去購買認證,用JAVA的簽名就可以。
1.產生Key store方法和J2ME一樣。
2.調用JAVA_HOME/bin目錄下"jarsigner.exe"命令對已產生的.apk檔案進行簽名。如果用ANT來build
程式也可以調用ANT提供的"signjar"任務。
E.g.
D:/Java/jdk1.5.0_15/bin>jarsigner -verbose -keystore my-release-key.keystore
my_application.apk alias_name
BlackBerry:
黑莓比較麻煩些,而且對於中國使用者來說很不方便。首先,你得去購買個簽名賬戶,然後才能進行
簽名。據說好像不對中國使用者提供,我也沒有研究過,都是公司買個簽名。購買後RIM會發給你3個.csi檔案,分別對應不同的API使用。.csi檔案產生key之後就不能在別的電腦使用了,這點也不爽。
假設你真的購買到.csi檔案並且產生完key後,調用BB_HOME/bin目錄下的SignatureTool.jar檔案,選擇你需要簽名的程式最後點Request就進行簽名了,如果成功了在Status一欄裡會看到Signed字樣。
好了,先到這吧。回家做飯去了