MDM:如何使用APNS证书
Posted
技术标签:
【中文标题】MDM:如何使用APNS证书【英文标题】:MDM:How to use APNS certificate 【发布时间】:2012-04-19 03:19:27 【问题描述】:我已使用 ios 企业开发者帐户收到了 .pem 格式的 APNS 证书。我们已从门户网站 https://identity.apple.com/pushcert/ 下载此 mdm 证书
我已经参考了 2011_THE iOS MDM 协议文档以实现 MDM 服务器。我能够获得 pushmagic 和设备令牌。
我正在使用“2011_THE iOS MDM 协议”文档中给出的以下代码作为 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”方式?
【问题讨论】:
【参考方案1】:也可以点击此链接: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 文件。
【讨论】:
【参考方案2】:这里有一个文档可以帮助你
https://media.blackhat.com/bh-us-11/Schuetz/BH_US_11_Schuetz_InsideAppleMDM_WP.pdf
从 Apple 下载的 APNS 证书应包含证书的公钥部分。 您需要将其与私钥结合起来以制作完整的 .p12 pem 文件。 这应该是代码正在谈论的 PlainCert.pem。
【讨论】:
我为 MDM 生成了推送证书。它有一个有效的主题/主题。在钥匙串商店中查看时,它显示“此证书由未知机构签名”。也没有与之关联的私钥。知道有什么问题吗?以上是关于MDM:如何使用APNS证书的主要内容,如果未能解决你的问题,请参考以下文章