我已经使用iOS Enterprise开发者帐户收到了APNS证书,格式为.pem格式。我们已从门户网站https://identity.apple.com/pushcert/下载此mdm证书
我已经推荐了用于MDM服务器实现的2011_THE iOS MDM协议文档。我能够获得pushmagic和设备令牌。
我使用“2011_THE iOS MDM Protocol”文档中提供的以下代码作为server.py文件。
class queue_cmd: def GET(self):
global current_command, last_sent global my_DeviceToken, my_PushMagic
i = web.input() cmd = i.command
cmd_data = mdm_commands[cmd]
cmd_data['CommandUUID'] = str(uuid.uuid4())
current_command = cmd_data last_sent = pprint.pformat(current_command)
wrapper = APNSNotificationWrapper('PlainCert.pem', False)
message = APNSNotification()
message.token(my_DeviceToken)
message.appendProperty(APNSProperty('mdm', my_PushMagic))
wrapper.append(message)
wrapper.notify()
现在我想知道我是否应该使用从门户https://identity.apple.com/pushcert/下载的APNS证书,在我们的server.py代码中将其重命名为“PlainCert.pem”,或者我应该生成“PlainCert.pem”其他方式?
答案 0 :(得分:3)
请点击此链接:http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning
并从customerPrivateKey.pem中删除密码 使用此命令
openssl rsa -in customerPrivateKey.pem -out PlainKey.pem
然后使用此命令合并从门户网站https://identity.apple.com/pushcert/下载的APNS证书(例如CustomerCompanyName.pem)
cat CustomerCompanyName.pem PlainKey.pem > PlainCert.pem
现在,可以在服务器代码中使用此PlainCert.pem文件。
答案 1 :(得分:1)
这是一份应该有用的文件
https://media.blackhat.com/bh-us-11/Schuetz/BH_US_11_Schuetz_InsideAppleMDM_WP.pdf
从apple下载的APNS证书应包含证书的公钥部分。 你需要将它与私钥结合起来制作一个完整的.p12 pem文件。 这应该是代码所讨论的PlainCert.pem。