本常見問題問答由 WoSign 根據 Forum Nokia(諾基亞開發者論壇)以下文章翻譯整理,請同時參考英文原文: http://forum.nokia.com/main/technical_services/testing/index.html http://forum.nokia.com/main/technical_services/testing/application_testing_faq.html http://seap.forum.nokia.com/main/platforms/s60/faq.html http://seap.forum.nokia.com/main/technical_services/testing/symbian_signed_benefits.html 以及 Symbian Signed 認證常見問題問題
軟件測試是一個應用軟件開發過程中最主要的環節,一般包括模塊測試、系統測試、可用性測試和權威認證測試 ( 如: Symbian Signed 認證測試和 Java Veriified 認證測試 ) 。所有通過諾基亞銷售渠道推廣的移動應用軟件都必須通過 Symbian Signed 認證測試或 Java Veriified 認證測試。請同時參考 諾基亞測試標準和其他重要文檔 。
Symbian Signed 認證已經成為移動應用軟件測試和認證的事實工業標準,采用業界廣泛接受的軟件質量規范來推動基于 Symbian 操作系統的應用軟件的開發和內容的開發。 測試和認證主要是為了保證 Symbian 開發平臺的安全和最終用戶的更加安全。從 Symbian 操作系統 V9.x(S60 第 3 版 ) 開始,“ capability( 能力 ) ”模式限制了許多敏感 API 的訪問,一些“能力”只能通過 Symbian Signed 認證才能獲得,而有些“能力”還需要手機廠商的認證。
Symbian Signed 認證主要流程如下圖所示,首先在 Symbiansigned.com 網上注冊用戶,再申請購買 TC Publisher ID 認證證書,再簽名 SIS 文件,再提交已經簽名的文件給 Symbian Signed 指定的測試公司測試,測試通過后從 Symbiansigned 網站取回由測試公司重新簽名的文件,就可以部署到手機中安全運行了。 請注意:通過測試取回的文件已經重新使用手機所信任的 Symbian 根證書下頒發的 Symbian Signed 證書簽名,請不要再修改此軟件,也不得重新使用您的認證證書簽名,否則不能正常運行。

1. S60 第 3 版的應用軟件簽名是強制要求嗎?
答:是的。 S60 第 3 版的應用軟件是必須要數字簽名才能運行的,是強制要求。請注意:數字簽名與測試認證是兩碼事,數字簽名是必須的,而測試認證不是必須的。您可以使用自簽證書 (SDK 生成 ) 簽名,或使用 TC Publisher ID(Symbian Signed 認證證書 ) 來簽名應用軟件。
2. 自簽證書、 Symbian 開發者證書 (Symbian developer certificate) 和 Symbian 認證證書 (TC Publisher ID) 三者有什么不同?簽名后的效果有什么不一樣?
答:對于 S60 第 3 版,應用軟件簽名是必須的,否則不能成功安裝到手機上。如果應用軟件不需要任何能力 (capability) ,則可以使用 SDK 生成自簽證書;如果應用軟件需要能力,則在軟件開發和自測過程中需要申請 Symbian 開發者證書來簽名應用軟件;而對于最終發布的商用應用軟件,有些能力必須通過 Symbian Signed 認證來授權,只有通過 Symbian Signed 認證才能訪問某些能力。同時,手機廠商或移動運營商的應用軟件市場推廣也要求應用軟件已經通過 Symbian Signed 認證。
三種證書簽名后的效果不同在于:
(1) 使用自簽證書簽名
• 可以使用 SDK 帶的工具來生成自簽證書或直接使用 Carbide 中的自簽證書; • 簽名后可以安裝應用軟件,但有警告; • 只具有有限的能力,僅包括: ReadUserData, WriteUserData, NetworkServices, LocalServices 和 UserEnvironment
(2) 使用開發者證書簽名
• 可以簽名 SIS 文件包 • 應用軟件具有 14 種能力,可以申請其他能力 • 僅用于開發過程調試,有測試手機數量限制
(3) 通過 Freeware 認證
• 開發者通過 Symbian Signed Freeware 認證通道提交應用軟件獲得認證 ( 如果軟件通過測試 ) • 應用軟件具有 14 種能力,可以申請其他能力 • 不得用于商業目的
(4) 通過 Symbian Signed 認證
• 開發者通過 Symbian Signed 認證通道提交應用軟件獲得認證 ( 如果軟件通過測試 ) • 應用軟件可以有所有能力
(5) 自我認證 (Self Certified)
• 開發者從 Symbian 獲得自我認證資格,自己測試和簽名應用軟件 • 應用軟件可以有所有能力
3. 為何我需要購買 TC Publisher ID ( Symbian Signed 認證證書 )?
答:如果您要申請 Symbian Signed 認證,則一定要先購買 TC Publisher ID (免費軟件Freeware開發者除外) 。在提交 Test house 測試之前,您需要使用 TC Publisher ID 簽名 SIS 文件,用于保證軟件確實來自軟件開發商和不會在發送過程中被非法篡改。
如果您需要申請支持某些重要的能力的 Symbian 開發者證書,也需要先有 TC Publisher ID 。如果您希望在多款手機上測試您的應用軟件,也需要先有 TC Publisher ID( 僅針對 S60 第 3 版 ) 。
4. Symbian Signed 認證證書 (TC Publisher ID) 和 Symbian Signed 測試費用如何?
答: Symbian Signed 認證證書 (TC Publisher ID) 費用為 US$200( 人民幣 1600 元 )( 原 VeriSign ACS Publisher ID 價格為 US$350/ 人民幣 2800 元 ) 。 WoSign 為 TC Trustcenter 唯一指定的中國區銷售代理商 、輔助身份驗證機構和中文技術支持中心。
不同的應用軟件測試費用不一樣,請參考: Test House information 有詳細的收費說明。此測試費用與其他類似測試服務來講是非常優惠的,而且 Symbian 正在努力降低此費用,將會推出新的測試工具軟件來進一步降低測試費用。 WoSign 推薦用戶聯系Test House: MphasiS,主要考慮到3家測試公司中只有該公司在上海有辦事處,方便用戶中文聯系,同時其測試費用也是3家測試公司中最便宜的(網上公開價格為:185歐元,約2000元)。具體聯系信息如下:Atlas Wang, Tel: 021-5080 7360, Fax: 021-5080 7362, Email: wang.hao@mphasis.com 。
5. 什么是 Symbian 開發者證書?我什么時候需要開發者證書?
答:如果您需要某些能力并需要在一臺手機上測試,則您需要在 Symbian Signed 網站(Request DevCerts)申請 Symbian 開發者證書 ( 僅針對 S60 第 3 版 ) 。請參考Symbian Signed網站提供的 "Symbian開發者證書申請流程(中文)" 申請開發者證書。請注意: Symbian 開發者證書只能在申請時指定的手機上測試使用。申請條件依據希望在多少臺手機上測試和希望獲得哪些能力而不同,具體規定如下表:
測試手機數量 Number of IMEIs
|
申請條件 Authentication
|
申請獲得的能力 Granted capabilities
|
1
|
Symbian Signed Account
|
LocalServices, ProtServ, UserEnvironment, NetworkServices, Location, ReadUserData, WriteUserData, SW Event, SurroundingsDD, ProtSrv, PowerMgmt, ReadDeviceData, WriteDeviceData, TrustedUI
|
2-100
|
TC Publisher ID and Symbian Signed account
|
As above
|
>100
|
TC Publisher ID, Symbian Signed account and licensee support
|
As above + NetworkControl, MultimediaDD, ComDD, DiskAdmin, AllFiles, DRM & TCB
|
6. Symbian Signed 認證證書 (TC Publisher ID) 和 Symbian 開發者證書有效期為多長?
答: TC Publisher ID 有效期為一年,而開發者證書有效期為 6 個月。在申請開發者證書和使用開發者證書簽名時,請確保您的 TC Publisher ID 是在有效期內的。您可以雙擊證書文件 (.cer) 查看證書有效期。如果TC Publisher ID 認證證書已經過期,請重新購買新證書。
7. 我如何知道自簽證書簽名的應用軟件使用了哪些能力?
答:如果應用軟件要求某些能力,則在安裝過程中會顯示如下圖示信息(不同的軟件可能顯示不同的信息),詢問用戶是否允許(由于本文從英文原文翻譯,沒有中文顯示信息,請參考您的手機的中文警告信息,以下同)。 是否允許應用軟件: - 使用連接功能 ( 能力 = LocalServices ) - 讀取用戶數據 ( 能力 = ReadUserData ) - 寫入用戶數據 ( 能力 = WriteUserData) - 使用照相機或麥克風 ( 能力 = UserEnvironment) - 網絡訪問或發起電話呼叫 ( 能力 = NetworkServices)
8. 如果一個應用軟件已經簽名,如何顯示已經簽名的應用軟件?
答:使用不同的簽名證書簽名,會顯示不同的警告信息:
(1) 使用自簽證書簽名
顯示“安全警告:應用軟件不可信任,也許會損害您的手機”

(2) 通過 Freeware 認證
下圖已經涂掉 Freeware 的名稱,顯示“此應用軟件為免費軟件,不得用于商業銷售。如果您已經付款購買,請發 Email 到: symbiansigned@symbian.com ,并告之您從哪里獲得此軟件。 ”

(3) 使用開發者證書簽名
顯示“此應用軟件處于開發測試階段,如果您繼續安裝此軟件可能會帶來損害您的手機,要繼續安裝嗎?”而一旦用戶選擇繼續安裝,則不會有其他安全警告。

(4) 通過 Symbian Signed 認證
不僅沒有任何安全警告,而且不需要用戶確認和同意應用軟件中使用的能力,大大簡化安裝和方便用戶使用。

9. 我如何知道我的 S60 第 3 版應用軟件需要哪些能力?
答:在 S60 第 3 版開發包的幫助文檔中有詳細說明調用哪些 API 需要什么能力,您可以通過 S60 仿真器來得到確認。當選中“ Enable EPOCWIND,OUT Logging ”和在 epoc.ini 中設置 PlatSecDiagnostics 為 ON 時,仿真器將在 Windows 臨時目錄中生成一個名為 epocwind.out 的文件,此文件中包含了應用軟件所需要的能力信息。
10. 我的應用軟件在訪問某些 API 或函數時要求Nokia Vendor ID,如何得到Nokia Vendor ID?
答: Nokia Vendor ID(VID) 用來保護系統的敏感區域,是 NOKIA 專用的,不會對任何其他方開放。也就是說,您不能訪問需要 VID 的 API 或函數。
11. 我的應用軟件需要播放和錄制音頻和視頻,需要有 MultimediaDD 能力嗎?
答:不需要,除非您需要修改缺省的系統權限。
12. 我的應用軟件需要從收件箱中讀取附件,需要有 AllFiles 能力嗎?
答:不需要。在消息庫中有一個類 MmsvAttachmentManager 可以原來完成此任務。
13. 我的應用軟件需要從文件系統中移動 / 刪除 / 復制文件,需要有 AllFiles 能力嗎?
答:從一般目錄 ( nondata-caged ) 中移動 / 刪除 / 復制文件不需要。只有從 Data-caged 目錄 ( 如: /sys/bin, /private, 和 /resource ) 才需要。
14. 如果要調用 FEP (Front End Processor), MTM (Message Type Module), or browser plug-in ,需要有 哪些 能力嗎?
答:需要 ALL - TCB (All minus TCB) 能力。
15. 我無法安裝 Symbian SIS 文件到 Symbian OS v9.x 手機上,應該怎么辦?
答: 如果您的應用軟件是通過 Symbian Signed 認證的,請檢查 S60 手機上的“工具” -> “設置” -> “安全” -> “證書管理”中是否有 Symbian B 根證書,并檢查手機日期和時間是否設置正確,同時檢查手機 SIM 卡是否插入和工作正常。
16. 我們應用軟件已經通過某款手機 (S60 第 2 版或 S40) 的 Symbian Signed 認證測試,是否可以在其他 S60 或 S40 手機上安裝?
答:安裝應該是沒有問題的。但如果您的應用軟件僅通過某款手機的測試,則不能保證在其他手機上工作正常,推薦重新針對其他目標手機做測試。請注意:基于 S60 第 1 版和第 2 版開發的應用軟件不能在第 3 版手機上安裝,需要使用相應的 SDK 重新編譯您的軟件。
17. 什么是 UID ?我如何得到 UID?
答: Unique Identifier (UID) 是系統為二進制文件 (EXE 或 DLL) 分配的唯一識別符,是為了防止可執行文件的相互干擾。對于 S60 第 3 版應用軟件需要重新申請 UID ,請參考: www.symbiansigned.com -> UIDs
18. 我需要從 protected range 還是 unprotected range 申請 UID?
答:下表能解釋什么情況下需要什么 UID range ,取決于您的應用軟件是使用什么證書簽名的:
Signing status
|
Symbian Signed (ready to be submitted to Symbian Signed)
|
DevCert self-signed
|
Other self-signed (e.g. signed with self-created certificate)
|
UID range
|
Protected
|
Protected or unprotected
|
Unprotected
|
19. 我如何在 S60 第 3 版手機上備份和恢復我的應用軟件?
答: S60 第 3 版缺省是不支持備份的,但您可以使用如下辦法備份和恢復您的應用軟件:
創建一個 XML 備份注冊文件: backup_registration.xml
<?xml version="1.0" standalone="yes" ?> <backup_registration> <system_backup /> </backup_registration>
把 "backup_registration.xml" 包括到您的項目包文件中 project .pkg :
"backup_registration.xml"- "!:\private\98765432\backup_registration.xml"
請注意:把此注冊文件放在應用軟件的專用保護數據區。 |