為 AIR 檔加上數位簽名

使用公認的憑證授權單位 (CA) 所核發的憑證為 AIR 安裝檔案加上數位簽名後,可讓使用者確信他們所安裝的應用程式並未意外或惡意地遭到竄改,並能證實您本人具備簽署者 (發行者) 身分。如果 AIR 應用程式已經由受信任的憑證簽署,或已「鏈結」到安裝電腦上的受信任憑證,AIR 便會在安裝期間顯示發行者名稱:

已由受信任憑證簽署的應用程式安裝確認對話方塊

如果使用自我簽署憑證 (或未鏈結到受信任憑證的憑證) 來簽署應用程式,則使用者安裝您的應用程式時會承擔較高的安全性風險。安裝對話方塊會反映出此額外的風險:

檢視完整大小的圖形
已由自我簽署憑證簽署的應用程式安裝確認對話方塊
重要事項: 意圖不良的組織或個人一旦取得您的簽署金鑰儲存檔案或察知您的私密金鑰,可能會假冒您的身分偽造 AIR 檔。

程式碼簽署憑證

程式碼簽署憑證之使用所涉及的安全保證、限制與法律義務等事項,刊載於核發商憑證授權單位所頒布的核證作業準則 (Certificate Practice Statements,CPS) 和用戶合約中。如需有關目前核發 AIR 程式碼簽署憑證的憑證授權單位合約的詳細資訊,請參閱:

ChosenSecurity (http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm)

ChosenSecurity CPS (http://www.chosensecurity.com/resource_center/repository.htm)

GlobalSign (http://www.globalsign.com/code-signing/index.html)

GlobalSign CPS (http://www.globalsign.com/repository/index.htm)

Thawte CPS (http://www.thawte.com/cps/index.html)

VeriSign CPS (http://www.verisign.com/repository/CPS/)

VeriSign 用戶合約 (https://www.verisign.com/repository/subscriber/SUBAGR.html)

關於 AIR 程式碼簽署

AIR 檔一經簽署,便會為安裝檔案加上數位簽名。此簽名內含套件的摘要,用於證實 AIR 檔自簽署後未曾遭到竄改,且內含簽署憑證的相關資訊,用於驗證發行者身分。

AIR 使用已獲作業系統的憑證存放區支援的公開金鑰基礎結構 (PKI),以確立憑證是否可受信任。安裝 AIR 應用程式的電腦必須直接信任用於簽署 AIR 應用程式的憑證,或間接信任將該憑證連結到受信任憑證授權單位的憑證鏈結,如此才能驗證發行者資訊。

如果 AIR 檔進行簽署所用的憑證未鏈結到其中一個受信任的根憑證 (這通常亦包括所有自我簽署的憑證),即無法驗證發行者資訊。儘管 AIR 能夠判定 AIR 套件自簽署後未曾遭到竄改,但卻無從得知檔案的實際建立者和簽署者是誰。

備註: 使用者可選擇信任自我簽署的憑證;以這類憑證進行簽署的 AIR 應用程式會將該憑證中「一般名稱」欄位的值顯示成發行者名稱。AIR 並未提供任何方法可讓使用者將憑證認定為受信任。您必須另外提供憑證 (不包括私密金鑰) 給使用者,而使用者必須使用作業系統提供的機制或某種合適的工具,將憑證匯入系統憑證存放區中的適當位置。

關於 AIR 發行者識別名稱

重要事項: 至於 AIR 1.5.3,不建議使用發行者 ID,而且不再以程式碼簽署憑證為基礎而進行計算。新的應用程式不需要,也不應該使用發行者 ID。 更新現有的應用程式時,您必須在應用程式描述器檔案中指定原始發行者 ID。

AIR 1.5.3 之前的版本,在安裝 AIR 檔案的時候,AIR 應用程式安裝程式會產生發行者 ID。這是用於簽署 AIR 檔的憑證獨一無二的識別名稱。如果多個 AIR 應用程式重複使用同一份憑證,這些應用程式將收到相同的發行者 ID。使用其他憑證來簽署應用程式更新,或者有時候只是更新原始憑證的實體,都會變更發行者 ID。

在 AIR 1.5.3 以及更新的版本中,AIR 不會指派發行者 ID。 透過 AIR 1.5.3 發行的應用程式,可以在應用程式描述器中指定發行者 ID。為原本發行為 AIR 1.5.3 以前版本的應用程式發行更新程式,才要指定發行 ID。如果您未在應用程式描述器中指定原始 ID,則新的 AIR 套件就不會被視為現有應用程式的更新程式。

若要判斷原始發行者 ID,請到原始應用程式安裝處的 META-INF/AIR 子目錄中找出 publisherid 檔案。 這個檔案中的字串就是發行者 ID。應用程式描述器必須在應用程式描述器的命名空間宣告中指定 AIR 1.5.3 執行階段 (或更新版本),以便手動指定發行者 ID。

發行者 ID (如果有的話) 可用於以下用途:

  • 加密本機儲存區加密金鑰的一部分

  • 應用程式儲存目錄路徑的一部分

  • 本機連線之連線字串的一部分

  • 識別字串的一部分,AIR 內部瀏覽器 API 用來呼叫應用程式

  • OSID 的一部分 (建立自訂安裝/解除安裝程式時使用)

當發行者 ID 變更時,所有與此 ID 相關的 AIR 功能也會隨之變更行為。例如,現有加密本機儲存區中的資料將無法存取,而且任何建立該應用程式本機連線的 Flash 或 AIR 實體,都必須在連線字串中使用新的 ID。在 AIR 1.5.3 或更新版本中,無法變更已安裝之應用程式的發行者 ID。如果發行 AIR 套件時,您使用不同的發行者 ID,則安裝程式會將新的套件視為不同的應用程式而不是更新程式。

關於憑證格式

AIR 簽署工具接受任何可透過 Java 密碼架構 (JCA) 進行存取的金鑰儲存。這一類包括檔案類型的金鑰儲存如 PKCS12 格式檔案 (副檔名通常為 .pfx 或 .p12)、Java .keystore 檔案、PKCS11 硬體金鑰儲存,以及系統金鑰儲存。ADT 能夠存取的金鑰儲存格式取決於用來執行 ADT 的 Java Runtime 版本與組態而定。存取某些類型的金鑰儲存 (例如 PKCS11 硬體元件) 可能需要安裝及設定額外的軟體驅動程式和 JCA 外掛程式。

若要簽署 AIR 檔案,您可以使用大多數現有的程式碼簽署憑證,或者取得針對簽署 AIR 應用程式而明確核發的憑證。例如,由 VeriSign、Thawte、GlobalSign 或 ChosenSecurity 核發的下列任何類型憑證皆可使用:

  • ChosenSecurity

    • Adobe AIR 的 TC 發行者 ID

  • GlobalSign

    • ObjectSign Code Signing Certificate

  • Thawte :

    • AIR Developer Certificate

    • Apple Developer Certificate

    • JavaSoft Developer Certificate

    • Microsoft Authenticode Certificate

  • VeriSign

    • Adobe AIR Digital ID

    • Microsoft Authenticode Digital ID

    • Sun Java Signing Digital ID

備註: 必須建立憑證以進行程式碼簽署。您不得使用 SSL 或其它類型的憑證簽署 AIR 檔案。

時間戳記

在簽署 AIR 檔時,封裝工具會向時間戳記授權單位的伺服器查詢,以取得可單獨驗證的簽署日期和時間。取得的時間戳記會內嵌於 AIR 檔中。只要簽署憑證在簽署之時仍屬有效,即使憑證已到期也能安裝 AIR 檔。另一方面,如果未能取得時間戳記,一旦憑證到期或遭撤銷即無法安裝 AIR 檔。

預設情況下,AIR 封裝工具會取得時間戳記。不過,若要在時間戳記服務無法使用時仍能封裝應用程式,您可以停用時間戳記。Adobe 建議所有公開散佈的 AIR 檔都應附上時間戳記。

AIR 封裝工具預設使用的時間戳記授權單位是 Geotrust。

取得憑證

為了取得憑證,您通常得造訪憑證授權單位的網站,並完成該公司的採購程序。應該使用哪些工具來產生 AIR 工具所需的金鑰儲存檔案,取決於購買的憑證類型,以及憑證儲存在接收端電腦上的方式而定,甚或某些情況下也和使用哪一種瀏覽器取得憑證有關。例如,若要從 Thawte 取得並匯出 Adobe Developer 憑證,您就必須使用 Mozilla Firefox。接著您就可以直接從 Firefox 使用者介面將憑證匯出成 .p12 或 .pfx 檔案。

備註: Java 1.5 版及以上版本在用來保護 PKCS12 憑證檔案的密碼中,不接受高位元 ASCII 字元。AIR 開發工具會使用 Java 來建立簽署的 AIR 套件。當您以 .p12 或 .pfx 檔案匯出憑證時,請僅使用一般 ASCII 字元做為密碼。

您可以使用專供封裝 AIR 安裝檔案用的 Air Development Tool (ADT) 產生自我簽署的憑證。部分的協力廠商工具亦可使用。

如需有關如何產生自我簽署憑證以及簽署 AIR 檔的指示,請參閱 AIR Developer Tool (ADT) 。您也可以使用 Flash Builder、Dreamweaver 和 Flash 的 AIR 更新來匯出和簽署 AIR 檔案。

下列範例說明如何向 Thawte 憑證授權單位取得 AIR Developer Certificate 憑證,並備妥該憑證以搭配 ADT 使用。

範例:向 Thawte 取得 AIR Developer Certificate 憑證

備註: 此範例所示者僅為取得與備妥適用的程式碼簽署憑證之諸多方法的其中一種。每個憑證授權單位都有其各自的政策和程序。

若要購得 AIR Developer Certificate 憑證,您必須使用 Mozilla Firefox 瀏覽器造訪 Thawte 網站。憑證的私密金鑰會儲存在瀏覽器的金鑰儲存內。請確認 Firefox 金鑰儲存已受到主控密碼的保護,而且電腦實體本身安全無虞 (一旦完成採購程序,您即可從瀏覽器的金鑰儲存內匯出憑證和私密金鑰,然後予以移除)。

在憑證註冊過程中,會產生私密/公開金鑰組。私密金鑰將自動儲存在 Firefox 金鑰儲存內。您必須使用同一部電腦和瀏覽器向 Thawte 網站申請及擷取憑證。

  1. 造訪 Thawte 網站,然後瀏覽至 Code Signing Certificates 產品網頁

  2. 從 Code Signing Certificates 清單中選取 Adobe AIR Developer Certificate。

  3. 完成註冊程序 (共 3 個步驟)。您必須提供公司資訊和聯絡資訊。Thawte 接著會執行身分驗證程序,而且可能要求您提供其它資訊。驗證完成後,Thawte 將寄給您一封電子郵件,並隨信附上有關如何擷取憑證的指示。

    備註: 您可在此找到各式必要書面文件的其它相關資訊: https://www.thawte.com/ssl-digital-certificates/free-guides-whitepapers/pdf/enroll_codesign_eng.pdf
  4. 向 Thawte 網站擷取核發的憑證。憑證將自動儲存至 Firefox 金鑰儲存。

  5. 執行下列步驟,從 Firefox 金鑰儲存內匯出含有私密金鑰和憑證的金鑰儲存檔案:

    備註: 從 Firefox 匯出的私密金鑰/憑證會匯出成 ADT、Flex、Flash 和 Dreamweaver 能夠使用的 .p12 (pfx) 格式。
    1. 開啟 Firefox「憑證管理員」對話方塊:

    2. 在 Windows 上:開啟「工具 > 選項 > 進階 > 加密 > 檢視憑證」

    3. 在 Mac OS 上:開啟「Firefox > 偏好設定 > 進階 > 加密 > 檢視憑證清單」

    4. 在 Linux 上:開啟「編輯 > 偏好設定 > 進階 > 加密 > 檢視憑證」

    5. 從憑證清單中選取 Adobe AIR Code Signing Certificate,再按一下「備份」按鈕。

    6. 輸入金鑰儲存檔案的檔案名稱以及匯出位置,然後按一下「儲存」。

    7. 如果您使用了 Firefox 主控密碼,瀏覽器會提示您輸入軟體安全裝置的密碼以便匯出檔案 (此密碼僅供 Firefox 使用)。

    8. 在「選擇憑證備份密碼」對話方塊中,建立金鑰儲存檔案的密碼。

      重要事項: 此密碼可保護金鑰儲存檔案,且當您使用該檔案來簽署 AIR 應用程式時亦須提供此密碼。請務必選用安全的密碼。
    9. 按一下「確定」。您應該會收到密碼備份成功訊息。內含私密金鑰和憑證的金鑰儲存檔案將儲存成 .p12 副檔名 (為 PKCS12 格式)。

  6. 將您所匯出的金鑰儲存檔案與 ADT、Flash Builder、Flash Professional 或 Dreamweaver 搭配使用。每次簽署 AIR 應用程式時,必須提供您為該檔案建立的密碼。

重要事項: 私密金鑰和憑證仍將儲存在 Firefox 金鑰儲存內。這使您日後得以再匯出憑證檔的另一份副本,也提供了另一處基於維護憑證和私密金鑰的安全性而必須受到保護的存取點。

變更憑證

在某些情況下,您為 AIR 應用程式簽署更新程式所使用的憑證必須變更。這類情況包括:

  • 更新原始簽署憑證

  • 從自我簽署的憑證升級成憑證授權單位核發的憑證

  • 將快要到期的自我簽署憑證變更成另一份憑證

  • 從一個商業憑證變更為另一個商業憑證 (例如,當您的公司性質變更時)

要讓 AIR 將 AIR 檔案視為更新程式,您必須使用相同的憑證來簽署原始和更新的 AIR 檔案,或者將憑證移轉簽名套用至更新程式。移轉簽名是套用至使用原始憑證之 AIR 套件的第二個簽章。移轉簽名會使用原始憑證,來確立簽署者正是應用程式的原始發行者。

安裝內含移轉簽名的 AIR 檔案之後,新憑證會變成主要憑證。 後續的更新程式就不需要移轉簽名。不過,只要能夠配合略過更新程式的使用者,您就應該套用移轉簽名。

重要事項: 您必須變更憑證,並在原始憑證過期之前先使用原始憑證將移轉簽名套用至更新。否則,使用者就必須先解除安裝現有的應用程式版本,然後再安裝新版本。若為 AIR 1.5.3 或更新的版本,您可以在過期後的 365 天寬限期內,使用過期的憑證套用移轉簽名。不過,您無法使用過期的憑證來套用主要的應用程式簽名。

變更憑證:

  1. 建立應用程式的更新版本

  2. 使用「新憑證」封裝並簽署更新版的 AIR 檔

  3. 使用「原始憑證」再簽署一次 AIR 檔 (利用 ADT -migrate 命令)

從其它方面來看,具有移轉簽名的 AIR 檔只是普通的 AIR 檔。若是在沒有原始版本的系統上安裝應用程式,AIR 將如往常般安裝新版本。

備註: 在 AIR 1.5.3 之前,使用更新的憑證來簽署 AIR 應用程式時不一定需要移轉簽名。從 AIR 1.5.3 開始,更新的憑證一律需要移轉簽名。

若要套用移轉簽名,請使用 ADT migrate 命令 ,如 簽署 AIR 應用程式的更新版本 中所述。

備註: ADT migrate 命令無法與包含原生擴充功能的 AIR 桌上型應用程式一起搭配使用,因為那些應用程式是封裝為原生安裝程式,而非 .air 檔案。若要變更包含原生擴充功能之 AIR 桌上型應用程式的憑證,請搭配使用 ADT package 命令 與 -migrate 旗標來封裝應用程式。

應用程式識別變更

在 AIR 1.5.3 之前,安裝的更新程式若簽署移轉簽名,AIR 的識別會變更。變更應用程式的識別會有多種影響,其中包括:

  • 新版應用程式無法存取現有加密本機儲存區中的資料。

  • 應用程式儲存目錄的位置變更。舊有位置上的資料並未複製到新目錄 (但是新版應用程式仍可根據舊有的發行者 ID 找到原始目錄)。

  • 應用程式無法再使用舊有的發行者 ID 來開啟本機連線。

  • 網頁用來存取應用程式的識別字串會變更。

  • 應用程式的 OSID 會變更 (編寫自訂安裝/解除安裝程式時會用到 OSID。)

發行 AIR 1.5.3 或更新版本的更新時,應用程式身分識別無法變更。您必須在更新 AIR 檔案的應用程式描述器中,指定原始應用程式和發行者 ID 。否則,新的套件不會視為更新程式。

備註: 使用 AIR 1.5.3 (或更新版本) 發行新 AIR 應用程式時,請不要指定發行者 ID。

詞彙

本節提供一些您應該要瞭解的重要詞彙,以利於您決定如何簽署應用程式進行公開散佈。

詞彙

說明

憑證授權單位 (CA)

公開金鑰基礎結構網路中的機構,扮演著受信任協力廠商的角色,基本上負責驗證公開金鑰擁有者的身分。CA 通常會用自己的私密金鑰簽署並核發數位憑證,以證明確實驗證過憑證持有人的身分。

核證作業準則 (CPS)

憑證授權單位針對核發及驗證憑證所制定的作業細則與政策。CPS 是 CA 與其用戶及雙方信賴的第三者相互簽訂的合約之一部分。當中亦揭示了 CA 的身分驗證原則,及其核發之憑證所提供的保證等級。

憑證撤銷清單 (CRL)

核發後已遭撤銷而不該再受信任的憑證清單。AIR 將於 AIR 應用程式進行簽署時檢查 CRL;若是沒有時間戳記,則在應用程式安裝時還會檢查一次。

憑證鏈結

憑證鏈結即是一連串的憑證,此鏈結中的每一份憑證均已由下一份憑證進行簽署。

數位憑證

包含下列各項相關資訊的一份數位文件:擁有者的身分、擁有者的公開金鑰,以及憑證本身的身分識別。憑證授權單位核發的憑證是由隸屬於核發商 CA 本身的憑證進行簽署。

數位簽名

經過加密的訊息或摘要,唯有使用公開/私密金鑰組當中的公開金鑰才能予以解密。在 PKI 中,數位簽名包含了一份或多份數位憑證,這些憑證的來源最終可追溯到憑證授權單位。數位簽名可用來證實訊息 (或電腦檔案) 自簽署後未曾遭到竄改 (在密碼編譯演算法所提供的保證限度內),且若是信任核發商憑證授權單位,亦可證實簽署者的身分。

金鑰儲存

包含數位憑證的資料庫,而在某些情況下還包含了相關的私密金鑰。

Java 密碼架構 (JCA)

一種可延伸的架構,用於管理及存取金鑰儲存。如需詳細資訊,請參閱「 Java 密碼架構參考指南 」。

PKCS #11

RSA 實驗室的密碼編譯元件介面標準 (Cryptographic Token Interface Standard)。此為硬體元件架構的金鑰儲存。

PKCS #12

RSA 實驗室的個人資訊交換語法標準 (Personal Information Exchange Syntax Standard)。此為檔案類型的金鑰儲存,通常內含私密金鑰及其相關的數位憑證。

私密金鑰

公開/私密金鑰組非對稱式密碼編譯系統當中的私密金鑰部分。私密金鑰絕不可洩露,更不該在網路上進行傳輸。加上數位簽名的訊息是由簽署者使用私密金鑰進行加密。

公開金鑰

公開/私密金鑰組非對稱式密碼編譯系統當中的公開金鑰部分。公開金鑰可公然發送,以便用於將私密金鑰所加密的訊息解密。

公開金鑰基礎結構 (PKI)

憑證授權單位據以證明公開金鑰擁有者身分的一套信任系統。網路用戶端仰賴受信任 CA 所核發的數位憑證來驗證數位訊息 (或檔案) 簽署者的身分。

時間戳記

加上數位簽名的數據,含有特定事件發生當時的日期和時間。ADT 能從 RFC 3161 相容時間伺服器取得時間戳記並加入到 AIR 套件中。如果有時間戳記,AIR 將使用此數據以確立憑證在簽署時的有效性。這樣一來,AIR 應用程式即使簽署憑證已到期仍能安裝。

時間戳記授權單位

核發時間戳記的授權單位。為了讓 AIR 能夠辨識,時間戳記必須符合 RFC 3161 標準,而且時間戳記簽名必須鏈結到安裝電腦上受信任的根憑證。

iOS 憑證

Apple 核發的程式碼簽署憑證可用來簽署 iOS 應用程式 (包括使用 Adobe AIR 開發的 iOS 應用程式)。若要在測試裝置上安裝應用程式,必須套用使用 Apple 開發憑證簽署的簽名。若要散佈已完成的應用程式,必須套用使用散發憑證簽署的簽名。

若要簽署應用程式,ADT 必須可以同時存取程式碼簽署憑證及關聯的私密金鑰。憑證檔案本身並不包括私密金鑰。您必須以同時包含憑證與私密金鑰的個人資訊交換檔案格式 (.p12 或 .pfx) 來建立金鑰儲存。請參閱 將開發人員憑證轉換成 P12 金鑰儲存檔案

產生憑證簽名要求

若要取得開發人員憑證,您必須先產生憑證簽名要求 (您將在 Apple iOS Provisioning Portal 送出此要求)。

憑證簽名要求程序會產生公開/私密金鑰組。私密金鑰會保留在您的電腦上。而您將傳送包含公開金鑰以及識別資訊的簽名要求給 Apple,Apple 在此扮演憑證授權單位的角色。Apple 會以自己的 World Wide Developer Relations 憑證簽署您的憑證。

在 Mac OS 產生憑證簽名要求

您可以在 Mac OS 利用「鑰匙圈存取」應用程式產生代碼簽名要求。「鑰匙圈存取」應用程式位於 Applications 目錄下的 Utilities 子目錄。您可以在 Apple iOS Provisioning Portal 取得產生憑證簽名要求的指示。

在 Windows 產生憑證簽名要求

對 Windows 開發人員而言,最簡單的方法是取得 Mac 電腦上的 iPhone 開發人員憑證。不過,他們也可以在 Windows 電腦上取得憑證。首先,使用 OpenSSL 建立憑證簽名要求 (CSR 檔):

  1. 在 Windows 電腦上安裝 OpenSSL (移至 http://www.openssl.org/related/binaries.html )。

    您可能也需要安裝「Open SSL」下載頁面中所列出的 Visual C++ 2008 可轉散發套件檔案(您不用在電腦安裝 Visual C++)。

  2. 開啟 Windows 命令工作階段,然後使用 CD 命令切換至 OpenSSL bin 目錄 (例如 c:\OpenSSL\bin\)。

  3. 在命令列輸入以下命令以建立專用密鑰:

    openssl genrsa -out mykey.key 2048

    儲存此專用密鑰。您稍後將會用到它。

    使用 OpenSSL 時,請勿忽略錯誤訊息。OpenSSL 即使產生錯誤訊息,可能仍會輸出檔案。但這些檔案可能無法使用。如果發生錯誤,請檢查您的語法並重新執行命令。

  4. 在命令列輸入以下命令以建立 CSR 檔:

    openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest  -subj "/emailAddress=yourAddress@example.com, CN=John Doe, C=US"

    以您自己的值取代電子郵件地址、CN (憑證名稱) 及 C (國家/地區) 值。

  5. 將 CSR 檔上傳至 Apple 的 iPhone 開發人員網站 (請參閱「申請 iPhone 開發人員憑證並建立佈建描述檔」)。

將開發人員憑證轉換成 P12 金鑰儲存檔案

若要建立 P12 金鑰儲存,您必須在單一檔案中組合 Apple 開發人員憑證與關聯的私密金鑰。建立金鑰儲存檔案的程序,需視您用以產生原始憑證簽名要求的方法以及儲存私密金鑰的位置而定。

在 Mac OS 將 iPhone 開發人員憑證轉換成 P12 檔案

從 Apple 下載 Apple iPhone 憑證之後,請將該憑證匯出為 P12 金鑰儲存格式。在 Mac® OS 執行此動作:

  1. 開啟「鑰匙圈存取」應用程式 (位於 Applications/Utilities 資料夾)。

  2. 如果尚未將憑證新增至鑰匙圈,請選取「檔案 > 輸入」。然後瀏覽至您向 Apple 取得的憑證檔案 (.cer 檔)。

  3. 在「鑰匙圈存取」中選取「鑰匙」類別。

  4. 選取與「iPhone 開發憑證」相關的專用密鑰。

    專用密鑰由 iPhone 開發人員所指定:<名字> <姓氏> 與其配對的公用憑證。

  5. 按住 Command 鍵並按一下 iPhone 開發人員憑證,然後選取「匯出 “iPhone 開發人員:名稱...”」。

  6. 以個人資訊交換 (.p12) 檔案格式儲存您的金鑰儲存。

  7. 系統將提示您建立密碼,以便在使用金鑰儲存簽署應用程式時,或是將此金鑰儲存中的金鑰與憑證傳輸到其他金鑰儲存時使用。

在 Windows 將 Apple 開發人員憑證轉換成 P12 憑證

若要開發 AIR for iOS 應用程式,您必須使用 P12 憑證檔案。您將根據從 Apple 收到的 Apple iPhone 開發人員憑證檔案來產生此憑證。

  1. 將您從 Apple 收到的開發人員憑證檔案轉換成 PEM 憑證檔案。從 OpenSSL bin 目錄執行以下命令列陳述式:

    openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
  2. 如果您使用的是 Mac 電腦上的鑰匙圈專用密鑰,請將它轉換成 PEM 密鑰:

    openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
  3. 現在您可以根據 iPhone 開發人員憑證的密鑰及 PEM 密鑰,產生有效的 P12 檔案:

    openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

    如果您使用的是 Mac OS 鑰匙圈的密鑰,請使用上一個步驟所產生的 PEM 密鑰。否則,請使用先前產生的 OpenSSL 金鑰 (Windows)。