使用ssl證書進行簽名
http://www.rootmanager.com/iphone-ota-configuration/iphone-ota-setup-with-signed-mobileconfig.html
使用蘋果開發(fā)者證書進行簽名
使用命令行方式簽名
- 從鑰匙串(keychain)中導出證書
實用工具->鑰匙串訪問->選擇要導出的證書,導出生成p12文件 InnovCertificates.p12 - p12換成pem格式方法
p12在線轉(zhuǎn)換pem https://www.sslshopper.com/ssl-converter.html
(證書)cer.p12文件 轉(zhuǎn)cer.pem文件
openssl pkcs12 -clcerts -nokeys -out cer.pem -in cer.p12
(私鑰)key.p12文件轉(zhuǎn)key.pem文件
openssl pkcs12 -nocerts -out key.pem -inkey.p12 - 下載 Apple Root Certificate 和 Apple Intermediate Certificate
(對于本篇文章 .mobileconfig文件的驗證我使用了蘋果的以下兩個證書.
Apple Root Certificate(蘋果根證書)
Apple Application Integration Certificate (蘋果應用集成證書 )
你也可以使用這些證書或者蘋果提供的其他證書 地址: http://www.apple.com/certificateauthority/
下載的文件中包括證書(cer)和私鑰(key)
(在命令行中讀取證書,參考鏈接 info.ssl.com/article.aspx?id=12149)
根據(jù)這個文件我們可以解壓出來證書.
解壓 Apple Root Certificate證書. 然后解壓Apple Intermediate Certificate
openssl x509 -inform DER -outform PEM -in AppleIncRootCertificate.cer -out root.crt.pem
openssl x509 -inform DER -outform PEM -in AppleAAICA.cer -out Intermediate.crt.pem
在文本編輯器中打開兩個解壓出來的文件
復制并且粘貼Intermediate.crt.pem 到 root.crt.pem的開始位置,保存,然后你的root.crt.pem文件就是兩個證書合并的結果
- 簽名和驗證.mobileconfig文件
上邊所有文件準備號后,運行命令行工具,運行以下命令
openssl smime -sign -in Example.mobileconfig -out SignedVerifyExample.mobileconfig -signer InnovCertificates.pem -certfile root.crt.pem -outform der -nodetach
結果就是簽名并且驗證后的 .mobileconfig文件
使用腳本簽名
先從github
上找到 python 腳本蟀苛,將腳本文件profile_signer.py
和描述文件Example.mobileconfig
放在同一目錄下慧妄。
注:以下命令中使用的
"iPhone Distribution: XXXXXX Network Technology Co., Ltd (XXXXXX)"
為證書在鑰匙串中顯示的全名屡江。( 獲取方式:鑰匙串 -> 選中證書 -> 顯示簡介 -> 常用名稱 )
- 對
Example.mobileconfig
進行簽名
./profile_signer.py -n "iPhone Distribution: XXXXXX Network Technology Co., Ltd (XXXXXX)" sign Example.mobileconfig AcrobatProSigned.mobileconfig - 對
Example.mobileconfig
進行加密
./profile_signer.py -n "iPhone Distribution: XXXXXX Network Technology Co., Ltd (XXXXXX)" encrypt Example.mobileconfig AcrobatProEnc.mobileconfig - 對
Example.mobileconfig
進行簽名并加密
./profile_signer.py -n "iPhone Distribution: XXXXXX Network Technology Co., Ltd (XXXXXX)" both Example.mobileconfig AcrobatProBoth.mobileconfig
如果能正確讀取到證書巢钓,會看到如圖提示,選擇
允許
即可完成簽名睬辐!