使用mobileconfig文件获取iPhone UDID并使用PHP验证响应签名

时间:2016-04-27 15:24:38

标签: php ios iphone openssl

我正在编写一个需要将用户设备UDID发送到服务器的应用程序。我这样做是在设备上安装简单的udid.mobileconfig文件。 udid.mobileconfig文件是这样的:

Length  Data
======  ====
10      ['191044', '246142', '265214', '290507', '300258', '341525', '348922', '359832', '365744', '382502']
10      ['191044', '246142', '265214', '290507', '296858', '300258', '341525', '348922', '359832', '365744']
10      ['10001', '27638', '51569', '88226', '116422', '126227', '159947', '162938', '184977', '188045']
 7      ['382502', '390538', '410857', '433453', '479170', '489980', '540746']
 7      ['100005', '127545', '202036', '257630', '362970', '376927', '429080']

这将成功运行并将设备UDID发送到我的PHP文件,在这种情况下它是<!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://dl.iapp.ml/UDID/udidreceiver.php</string> <key>DeviceAttributes</key> <array> <string>UDID</string> </array> </dict> <key>PayloadOrganization</key> <string>iApp.ml</string> <key>PayloadDisplayName</key> <string>UDID</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>92092767-E9CF-452A-A78C-FC3A9AE24308</string> <key>PayloadIdentifier</key> <string>ml.iApp.profile-service</string> <key>PayloadDescription</key> <string>In order to access your UDID please install this profile.</string> <key>PayloadType</key> <string>Profile Service</string> </dict> </plist> 。但是有一个问题。您可以更改使用本地代理服务器发送到服务器的设备UDID。 iPhone将签署响应,然后通过网络发送。所以我想检查登录udidreceiver.php,如果UDID没有改变,请接受它。否则显示错误。

更新:来自iPhone MIME类型的回复为udidreceiver.php 但我无法使用application/pkcs7-signature命令执行任何简单操作。也许它不是真正的PKCS#7文件!什么类型? 我上传了iOS响应到我的服务器。请看一看: http://rkstore.ir/1.p7s

0 个答案:

没有答案