MDM:如何使用APNS证书

时间:2012-04-19 03:19:28

标签: python ios mdm

我已经使用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”其他方式?

2 个答案:

答案 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。