程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME MIDlet(MIDP 2.0)代碼簽名證書申請和使用指南(4)

J2ME MIDlet(MIDP 2.0)代碼簽名證書申請和使用指南(4)

編輯:J2ME

第6步:常見問題解答

如果您使用簽名工具,一般都是沒有問題,請檢查JAD文件是否含有MIDlet-Certificate-1-1、MIDlet-Certificate-1-2、MIDlet-Certificate-1-3屬性和MIDlet-Jar-RSA-SHA1屬性。問題往往出在部署過程,主要常見問題有:

1.不能驗證證書

簽名成功後仿真時出現如下圖12所示警告信息:

圖12

顯示“System does not recognize who is trying to authorize the application”,意思是無法驗證證書頒發機構。主要有2個原因:

(1)證書導入問題:您申請證書時會生成私鑰和CSR(證書請求文件),在頒發證書給您之前,一定不能刪除NDS 3.0或WTK 2.5等簽名工具,也不要再動證書管理,不要再使用自簽證書做實驗等。而取到證書後,必須在生成CSR的同一台電腦上的同一簽名工具中導入證書,否則證書不能導入成功;

(2)使用的簽名證書的根證書沒有預置在手機中(包括自簽證書),請一定要購買Thawte或VeriSign的Java代碼簽名證書,其他CA頒發的證書都不支持。

2.JAR文件已經被修改

如下圖13所示,顯示如下警告信息:

圖13

“The signature of the JAR is invalid”意思是JAR文件簽名無效。主要有2個原因:

(1)簽名MIDlet後修改了JAR文件:也許您發現簽名時簽名工具讀取JAD文件,而不是JAR文件,這樣會誤以為簽名時是簽的是JAD文件,而與JAR文件無關。其實,簽名時會計算出JAR文件的SHA-1摘要,並把此摘要寫在JAD文件中。如果您修改了JAR文件,則其SHA-1摘要就變了,MIDlet在驗證時就會出錯。所以,您簽名MIDlet後,一定不能再修改JAR文件,如果要修改,則需要重新簽名;

(2)JAR文件在網絡傳輸或下載過程中被篡改,可能是下載的原因,也有可能是被其他人非法故意篡改。哪怕是一個字節的修改,也不能通過驗證。這就是簽名的基本功能之一。

3.許可不匹配

如果MIDlet中的許可屬性(MIDlet-Permissions)中有一個或多個不屬於所屬的保護域,則仍然不允許安裝。而如果MIDlet中的可選許可屬性(MIDlet-Permissions-Opt)中有一個或多個不屬於所屬的保護域,會允許安裝。

如下圖14所示,如果我們修改http許可為:Javax.microedtion.io.Connector.htt,則會顯示如下警告信息:

圖14
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved