ios 超籤簽名服務器搭建(超籤)

爲什麼要搭建簽名服務器嗎?

因爲應用不能上架App Store , 使用企業簽名頻繁掉籤造成客戶流失,用戶體驗不好。

ios安裝的app有幾種方式嗎?

1、App Store 安裝,符合法律法規的能走app Store的app

2、企業簽名安裝,灰色產業

3、搭建簽名服務器安裝,灰色產業

ios 搭建簽名服務優勢

1、不掉籤

2、用戶可以直接安裝不需要信任,但第一次需要安裝 .mobileconfig文件

3、體驗好,不容易流失用戶

ios 超籤劣勢

一個證書只能安裝100個,也就是需要大量的證書才能做起來,成本太高。

超籤實現原理可以分如下幾個步驟

1、用戶請求服務器安裝mobileconfig文件,服務器獲取到用戶udid

2、服務器調用蘋果接口添加udid

3、服務器調用蘋果接口獲取 mobileprovision 文件

4、服務器使用 mobileprovision 文件進行對 ipa 重籤

5、服務器返回重籤後的 ipa

服務器生成mobileconfig文件

鑰匙串中導出這 AppleWorldwideDeveloperRelationsCertificationAuthority 證書

AppleWorldwideDeveloperRelationsCertificationAuthority.cer 轉 pem

openssl x509 -inform DER -outform PEM -in dev.cer -out dev.crt.pem

導出發佈證書

p12 轉 pem,在線轉

https://www.sslshopper.com/ssl-converter.html

簽名mobileconfig文件

openssl smime -sign -in test_sgin.mobileconfig -out SignedVerifyExample.mobileconfig -signer zhengshupem.pem -certfile dev.crt.pem -outform der -nodetach

test_sgin.mobileconfig 內容

 <!--參考:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ConfigurationProfileExamples/ConfigurationProfileExamples.html-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>PayloadContent</key>
        <dict>
            <key>URL</key>
            <string>https://192.168.1.16:8443/SignServlet</string> <!--接收數據的接口地址-->
            <key>DeviceAttributes</key>
            <array>
                <string>UDID</string>
                <string>IMEI</string>
                <string>ICCID</string>
                <string>VERSION</string>
                <string>PRODUCT</string>
            </array>
        </dict>
        <key>PayloadOrganization</key>
        <string>LINKKT</string>  <!--組織名稱-->
        <key>PayloadDisplayName</key>
        <string>App Installation Assistant</string>  <!--安裝時顯示的標題-->
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>PayloadUUID</key>
        <string>app.vena.pi.push</string>  <!--自己隨機填寫的唯一字符串-->
        <key>PayloadIdentifier</key>
        <string>app.vena.pi.profile-service</string>
        <key>PayloadDescription</key>
        <string>LINKKT Installation Assistant</string>   <!--描述-->
        <key>PayloadType</key>
        <string>Profile Service</string>
    </dict>
</plist>

調用蘋果服務器省略

 

自動重籤ipa工具

 http://s.kxapp.com/  下載命令行版,後臺服務器調用自動簽名

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章