mobileconfig配置文件获取udid并签名
一、配置文件及内容说明
mobileconfig配置文件内容:
<?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://show.tlyxgame.com/index.php/public/getUUid?id=OqTwI4MTA</string>
<key>DeviceAttributes</key>
<array>
<string>UDID</string>
<string>IMEI</string>
<string>ICCID</string>
<string>VERSION</string>
<string>PRODUCT</string>
<string>DEVICE_NAME</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>www.xman.com</string>
<key>PayloadDisplayName</key>
<string>sky</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>8C7AD0B8-3900-44DF-A52F-3C4F92921807</string>
<key>PayloadIdentifier</key>
<string>com.yun-bangshou.profile-service</string>
<key>PayloadDescription</key>
<string>该配置文件将帮助用户获取当前iOS设备的UDID号码。</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
具体文档说明:
mobileconfig属性说明回调地址必须采取https协议
二、对mobileconfig签名
两种方案:
1、苹果电脑平台签名方案
python签名工具
核心功能点:/usr/bin/security cms -S -N "开发者证书简介中的常用名称" -i udid.mobileconfig -o udid_signed.mobileconfig
最终得到的udid_signed.mobileconfig 就签名完成了。
2、openssl方式,适合全平台签名
1、导出开发者证书的p12文件
2、将导出的P12文件转换为pem形式的证书
下载获取到pem.dms文件,将其中的-----END CERTIFICATE-----以上内容全部剪切到cer.pem文件中,将-----END PRIVATE KEY-----以上内容全部剪切到key.pem中
3、下载最新的AppleWWDRCA证书【初始电脑默认会安装】证书地址 并安装
打开电脑的钥匙串,种类为证书,钥匙串为系统的条件下,找到Apple Worldwide Developer Relations Certification Authority,并导出cer文件。使用一下命令转换为pem证书
openssl x509 -inform DER -outform PEM -in AppleCertificate.cer -out root.crt.pem
4、使用以上获取的文件签名mobileconfig文件
openssl smime -sign -in udid.mobileconfig -out udid_signed.mobileconfig -signer cer.pem -inkey key.pem -certfile root.crt.pem -outform der -nodetach
到此使用配置文件获取udid的功能全部完成