首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

J2ME MIDlet(MIDP 2.0)代碼簽名證書申請與使用指南(四):常見問題解決方案

     編輯:J2ME

第6步:常見問題診斷與對策

簽名工具通常無問題,關鍵在部署階段。請先檢查 JAD 是否包含 MIDlet-Certificate-1-1/2/3 及 MIDlet-Jar-RSA-SHA1 屬性。

1. 無法驗證證書

模擬器報警「System does not recognize who is trying to authorize the application」(圖12)。主因兩點:

  • 證書導入錯誤:生成 CSR 後不可刪除簽名工具或動證書管理;取得證書必須在同一電腦、同一工具中導入,否則失敗。
  • 根證書未預置手機:自簽證書或非主流 CA 證書手機不信任,必須購買 Thawte 或 VeriSign 的 Java 代碼簽名證書。
無法驗證證書

圖12:無法驗證證書警告

2. JAR 文件已被修改

警告「The signature of the JAR is invalid」(圖13)。原因:

  • 簽名後修改了 JAR:簽名時會將 JAR 的 SHA-1 摘要寫入 JAD,任何修改均導致驗證失敗,需重新簽名。
  • 網絡傳輸或下載過程被篡改:哪怕一位元組改動也無法通過,這正是簽名防篡改的核心功能。
JAR簽名無效

圖13:JAR 簽名無效警告

3. 權限不匹配

若 MIDlet-Permissions 中有權限不屬於所屬保護域,安裝被拒;MIDlet-Permissions-Opt 不匹配則允許安裝但功能受限。圖14展示將 http 權限寫錯導致的警告。

權限不匹配

圖14:權限不匹配警告

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved