国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 16:20:03
字體:
來源:轉載
供稿:網友

VeriSign 和 Thawte 的java代碼簽名證書可以用于數字簽名運行J2ME MIDlet(MIDP 2.0)代碼,支持目前市面上流行的各種基于Java的手機多媒體和交互應用,運行簽名后的MIDlet Suite就不會彈出煩人的警告框了! 但 VeriSign Java 代碼簽名證書通用性更好,支持更多類型的手機和 PDA 等移動終端。

以下MIDlet簽名指南根據Sun網站和VeriSign/Thawte網站上的文章(網頁)整理,請同時參考原文:
    (1) What's New in the J2ME Wireless Toolkit 2.0
    (2) Understanding MIDP 2.0's Security Architecture
    (3) Java ME - Micro App Development Made Easy
    (4) Nokia MIDlet(MIDP 2.0)代碼簽名證書申請和使用指南

本簽名指南是基于 Sun Java Wireless Toolkit 2.2 和 2.5 Beta的 使用指南 編寫,如果您還沒有此開發工具可以到Nokia網站上 下載 合適的開發工具(推薦下載最新的2.5 Beta,因為2.2版本的仿真OTA運行有問題Bug,簽名后不顯示已經簽名的簽名信息)。

同時,請一定要先參考: MIDP 2.0安全機制,充分理解MIDP 2.0的安全機制有助于簽名MIDlet的成功部署。

第1步 創建Keystore和私鑰 Step 1. Create a Keystore and Key Pair:

如圖1所示,打開開發工具包中的KToolbar, 點擊“打開項目”,再在主菜單“項目”中選擇“簽署”,如圖2所示,如果您已經有了Java代碼簽名證書的密鑰對(.sks文件),則您可以點擊“導入密鑰對”導入您的證書密鑰對,導入時需要輸入您的私鑰密碼。如果您還沒有申請證書,則您可以點擊“新建密鑰對”來生成密鑰對(Keystore和私鑰),正確填寫證書信息后點擊“創建”即可。
但請注意以下3點:
(1) 填寫國家(Country)字段時只能填寫國家名稱縮寫CN;
(2) 在生成密鑰對時并沒有提示輸入私鑰密碼,但導入時需要輸入私鑰密碼,缺省密碼為“passWord”;
(3) VeriSign代碼簽名證書不支持中文,請填寫正確的英文名稱,而Thawte代碼簽名證書支持中文,您可以根據需要在單位名稱、部門名稱、所在城市和省份等填寫中文名稱。

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

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

這樣就生成了密鑰對,如圖3所示,點擊別名“wotrustj”就可以顯示證書信息,請注意:此時顯示的證書頒發者(Issuer)為自己,因為還沒有提交CSR申請證書。

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

第2步 生成證書請求文件(CSR) Step 2. Generate the CSR and request your certificate:

如圖4所示,選中證書別名后,再點擊“Generate CSR”生成CSR文件:wotrustcs.csr,并把此文件發給WoTrust,等待1-2個工作日就可頒發證書。

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

第3步 把證書導入到 keystore中 Step 3. Import the certificate reply into your keystore:

一旦您的Java代碼簽名證書頒發,VeriSign的證書則附在頒發通知郵件的下面,直接完整復制(包括: -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----),并粘貼到記事本本上保存為mycert.cer文件即可。Thawte的證書則需要到Thawte網站上去下載,注意選擇 PKCS #7 格式,此證書格式含有您的證書和根證書鏈,Keytool要求此格式證書。把此證書使用文本編輯器保存為mycert.cer。再點擊“導入證書”導入您的證書,如圖5所示,一旦導入成功,您會看到此證書的頒發者(Issuer)就是“Thawte Code Signing CA”了。您也可以在“文件”-“工具集”-“管理證書”-“導入證書”即可。您可以看到在J2ME證書管理器中含有Thawte所有根證書。現在,請您馬上備份您的證書對(私鑰和公鑰)keystore文件:keystore.sks,最好是備份到光盤或其他電腦上,以便以后導入證書用!一般在開發工具的安裝目錄下,如:C:/WTK22/appdb 。


請注意: 在導入證書的時候,請選擇安全保護域:trusted third party(可信任的第三方)。

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

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

第4步 簽名MIDlet Step 4.Sign your MIDlet:

您需要Nokia的開發工具(NDS)來簽名代碼和配置您的應用了,如圖7所示,先選中您的證書別名,再點擊“簽署MIDlet套件”就馬上完成簽名,提示“已簽名的MIDlet套件”。

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

現在,.jad 就已經包含了您的私鑰簽名和公鑰證書,您可以使用記事本打開JAD文件,會看到已經增加了許多字母,如圖8所示,仔細查看就可以看到 MIDlet-Certificate-1-1:后面就是您的簽名證書,而 MIDlet-Certificate-1-2:后面就是簽名證書 Thawte Code Signg CA, MIDlet-Certificate-1-3:后面就是頒發證書的頂級證書 Thawte PRemium Server CA,而 MIDlet-Jar-RAS-SHA1:后面就是使用您的私鑰簽名JAD代碼后的簽名摘要。

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

第5步 仿真運行和部署已經簽名的MIDlet Step 5. Emulate and Deploy your MIDlet:

這樣,就完成了MIDlet代碼的簽名,可以正常使用了。建議您先點擊“運行”仿真運行應用軟件,如圖9所示,會顯示一些運行信息,同時系統會啟動仿真器運行。如果仿真測試沒有問題就可以上傳到服務器上。

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

建議同時做OTA仿真運行,點擊“項目”-“通過OTA運行”就可以仿真下載安裝過程,會提示“Are you sure you want to install...?(您確定要安裝此MIDlet嗎?)”,接著顯示詳細的MIDlet信息,同時會顯示簽名證書的頒發機構(CA)的詳細信息,如下圖10所示:

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

我們來對比一下如果沒有簽名安裝MIDlet的提示情況,如下圖11所示,同樣會提示您是否確認要安裝此MIDlet,同時會在“Advanced(高級)”中顯示“Unindentified Third Party(代碼開發商身份不能確認)”,強烈建議用戶不要安裝沒有簽名的MIDlet,否則一旦安裝了惡意代碼,您的手機可能就報廢了!

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

第6步 常見問題解答

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

1. 不能驗證證書

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

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

    顯示“ 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 文件已經被修改

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

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

    “ 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 ) 中有一個或多個不屬于所屬的保護 域,會允許安裝。

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

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

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五原县| 云安县| 长春市| 仁怀市| 南阳市| 凉山| 基隆市| 远安县| 凤山县| 讷河市| 姚安县| 朝阳区| 耿马| 南木林县| 青河县| 永川市| 会泽县| 甘孜县| 永安市| 梁河县| 乐东| 资源县| 介休市| 高密市| 中卫市| 大连市| 洞头县| 海丰县| 咸阳市| 蒙自县| 神木县| 玉林市| 镇江市| 乌什县| 宁陵县| 策勒县| 双江| 泾川县| 黔南| 灌阳县| 景德镇市|