国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS 超級簽名之描述文件的實現過程

2020-07-26 02:18:13
字體:
來源:轉載
供稿:網友

簡介

因為最近企業簽掉得太嚴重了,上頭要求實現超級簽進行游戲下載。故有了此文章,記錄一下過程。

簽名原理其實很簡單,超級簽名的技術就是使用個人開發者賬號,將用戶的設備當作開發設備進行應用分發。這也導致成本非常高,一個開發者賬號最多只能注冊一百臺設備,然而一個賬號的價格為99美元。不過目前超級簽分發的應用穩定性很高,不用再像企業簽那樣經常掉簽。

新建 .mobileconfig 描述文件

該描述文件用于獲取用戶設備的UDID,用戶通過某個點擊操作下載此文件,安裝后服務器會收到該用戶設備的 UDID 回調事件。

<?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://[你的服務器地址].com/resource/uploadUUID.do</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>xxx.xxx.com</string> <!--組織名稱--> <key>PayloadDisplayName</key> <string>查詢設備UDID</string> <!--安裝時顯示的標題--> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>c156f2f8-fc42-4260-8fc5-8644861d8293</string> <!--自己隨機填寫的唯一字符串,http://www.guidgen.com/ 可以生成--> <key>PayloadIdentifier</key> <string>xxx.xxx.profile-service</string> <key>PayloadDescription</key> <string>本文件僅用來獲取設備ID</string> <!--描述--> <key>PayloadType</key> <string>Profile Service</string> </dict></plist>

注冊開發者設備及簽名包體

由于時間太趕,這里注冊開發者設備及簽名包體采用的都是三方提供的服務,因此沒有細節提供,但是怎樣去做還是可以說一下的。

我們可以借助Spaceship工具完成注冊新的開發者設備和更新Provisioning Profile,簽名包體可以用Sigh框架,具體實現請自行搜索。

最后用戶下載的方式與企業簽的一樣,使用itms-services協議進行下載。

ssl 簽名 .mobileconfig 配置文件

我看了很多文章,都是用開發者證書去簽名的,可是我弄了好久,死活從“未簽名”變成了“”尚未驗證“,當時一度絕望了好長時間。從 iPhone 配置實用工具 2.2 到 iPhone 配置實用工具 3.5,皆不成功。

配置文件是可以使用的,雖然說安裝時會提示紅色字“尚未驗證”,看起來不太安全之外,一切安好。可是要有追求啊,別人能做到的東西,那就是肯定能做的。

ssl 證書簽名配置文件是知道的,可是向后端人員要證書文件的時候一度受到了困擾,所以前期擱置了好久,直到其它的方法都被我試過了,都不行之后,只好繼續調研 ssl 證書簽名配置文件。

踩完無數的坑之后,這里介紹一種親測可用的方法,使用 ssl 證書進行配置文件的簽名。我是看這篇文章實現的為iOS的mobileconfig配置文件進行簽名。

很簡單,需要三個文件,三行命令,完成。

$ openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer mbaike.crt -inkey mbaike.key -certfile ca-bundle.pem -outform der -nodetach$ openssl rsa -in mbaike.key -out mbaikenopass.key$ openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer mbaike.crt -inkey mbaikenopass.key -certfile ca-bundle.pem -outform der -nodetach

這里耗時主要是在等運維人員提供相關證書文件,千萬別給錯了,否則很難 Debug。

下載描述文件后不能自動跳轉到安裝界面

在 iOS 12.2 上蘋果做了改動,下載完后需要用戶手動進行安裝。點擊 設置 ―― 已下載描述文件,會自動彈出描述文件安裝界面,點擊右上角安裝即可。

官方說明點這兒在 iPhone 或 iPad 上安裝配置描述文件。

利用 .mobileprovision 跳轉到已下載描述文件

這是為了方便用戶不需手動找描述文件并安裝,可以直接跳過去,省去用戶操作。

  • 從蘋果開發者網站中下載對應的發布描述文件;
  • 把發布描述文件部署在服務器;
  • web 訪問服務器的發布描述文件,如: http://***.com/embedded.mobileprovision
  • Done。

當執行第三步后,會自動跳轉至描述文件。

參考文獻

Create GUIDs online

SSL Converter - Convert SSL Certificates to different formats

mobileconfig文件的簽名和認證(signed、verified)

iOS超級簽名

通過Safari瀏覽器獲取iOS設備UDID(設備唯一標識符)

總結

以上所述是小編給大家介紹的iOS 超級簽名實現之描述文件的實現過程,希望對大家有所幫助,也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临西县| 宣威市| 靖边县| 瑞安市| 赣州市| 顺义区| 石屏县| 崇仁县| 昭通市| 林甸县| 丹巴县| 桃园市| 子长县| 景泰县| 黄石市| 大邑县| 福贡县| 林甸县| 湄潭县| 湾仔区| 洪江市| 保康县| 叶城县| 肥东县| 灵武市| 睢宁县| 嵩明县| 南宁市| 奉化市| 舒城县| 久治县| 黑龙江省| 彰化县| 朔州市| 温州市| 宜兰市| 福建省| 雷波县| 砚山县| 美姑县| 麻江县|