我需要以編程方式從用於簽署iOS應用程序的證書中獲取數據(公鑰)。有誰知道這是否有可能?有一些API嗎?看起來像MacOS有幾種解決方案,但它們都不適合iOS。是否可以從iOS應用程序簽署的證書中獲取數據?
回答
嘗試以下步驟:
- 提取您的iOS應用程序(擴展名:
.ipa
)的內容。你可以簡單地使用Archive Utility來做到這一點。 - 切換到提取的內容,在那裏你看到一個應用程序文件(擴展名:
.app
) - 右鍵點擊應用,然後選擇顯示包內容
- 你會看到你的名字下使用供應配置文件:embedded.mobileprovision
- 在終端(使用正確的路徑)中執行以下命令或使用您選擇的應用程序(如TextWrangler)打開
embedded.mobileprovision
。你會找到<data>
元素中的簽名證書密鑰(或者,如果你使用一個以上的證書)內DeveloperCertificates的對propertyList安全 CMS -D -i embedded.mobileprovision
此外,如果要提取的公共密鑰並將其直接保存到一個文件中,執行終端如下:
下載並安裝自制,如果你還沒有安裝它已經:
紅寶石-e 「$(捲曲-fsSL https://raw.github.com/mxcl/homebrew/go/install)」
安裝XMLStarlet或其他任何工具,它可以幫助我們解析plist的內容:
brew install xmlstarlet
像以前一樣,我們使用
security cms
命令解碼embedded.mobileprovision輪廓,但這次我們直接饋送它XMLStarlet(所述xml
命令)來解析DeveloperCertificates
元件,的數據部分,其包含公鑰。我們用openssl讀取它並將其寫入文件,我們稱之爲publickey.pem:
security cms -D -i embedded.mobileprovision | xml sel -t -v「/ plist/dict/key [。='DeveloperCertificates']/following-sibling :: array [1]/data [1]」| awk'{print $ 1}'| sed'/^$/d'| base64 -D | openssl x509 -inform der> publickey。PEM
你會找到公共密鑰的文件
publickey.pem
你應該也可以在運行時做到這一點。見http://stackoverflow.com/questions/17584426/check-if-app-is-ad-hocdevapp-store-build-at-run-time – jverrijt
中如果你想從應用程序內部檢查證書,那麼它在iOS上是不可能的。其中一個主要原因是Apple申請辭職。
iOS應用程序在Mac OS上的沙盒程序要多得多。
- 1. 是否可以使用SSL證書籤署我的程序集?
- 2. 如何獲取ios應用程序的簽名應用程序證書信息
- 3. 是否可以驗證自簽名證書和可信證書?
- 4. 是否可以在我的應用程序iOS中從Skype獲取通知?
- 5. 通用應用程序是否可以在iOS 3.0上部署?
- 6. 是否有可能使用更新的證書重新簽署Java小程序?
- 7. 如何從Window Store證書籤署Windows Store應用程序?
- 8. Adobe Air應用程序是否可以關閉自簽名證書警告?
- 9. 是否可以重新簽署Mac OSX應用程序
- 10. 是否可以從另一個iPhone應用程序中瀏覽Safari書籤?
- 11. iOS中的手機應用程序是否可以從其他應用程序獲取文本?
- 12. 在ClickOnce部署中使用證書籤名應用程序
- 13. 應該可以使用iCloud獲取iOS書籤嗎?
- 14. 在部署應用程序時獲取證書錯誤
- 15. 是否可以從Flash應用程序獲取顏色代碼?
- 16. 自簽名證書是否可供簽署SAML令牌?
- 17. 在Rails應用程序中籤署新證書
- 18. 使用不同的證書籤署Blackberry 10應用程序
- 19. 使用WineBottler簽署應用程序的正確證書
- 20. 生成用於簽署AIR的證書應用程序
- 21. 是否可以使用PositiveSSL證書籤署EXE(可執行文件)?
- 22. 是否可以通過編程從iOS應用程序獲取應用程序ID?
- 23. iOS - iOS應用程序是否可以僅供內部公司用戶部署
- 24. 如何在iOS應用程序中使用自簽名證書
- 25. 是否有可能從android中的另一個應用程序獲取數據?
- 26. iOS證書過期:您是否重新提交應用程序?
- 27. 使用數字證書籤署程序集或exe文件是否可以防止篡改攻擊?
- 28. 我可以在沒有開發人員證書的情況下籤署IOS應用程序嗎?
- 29. 是否可以從我的iPhone恢復iOS應用程序?
- 30. 無法使用分發證書籤署iPhone應用程序
難道你不能從Apple Developer Portal中複製公鑰/私鑰嗎?答案如下:http://stackoverflow.com/a/6708011/1515075 –