Java iOS MDM:APNs 证书 UID 更改

Posted

技术标签:

【中文标题】Java iOS MDM:APNs 证书 UID 更改【英文标题】:Java iOS MDM : APNs Certificate UID changes 【发布时间】:2014-10-31 06:32:58 【问题描述】:

我们开发了一个端到端的 ios MDM 实现。 现在,我要求每个客户(租户)都应该有自己的 APNs 证书,用于发送推送通知。 使用 java,我创建了一个 .CSR,引用了用于创建 Customer.CSR 的 iOS 供应商 CSR 签名链接。

然后使用 Apple 的身份门户创建格式为 MDM_ _Certificate.pem 的 .pem 文件。

查询:

    假设日期为 2014 年 10 月 28 日,我将 Customer.CSR 上传到身份门户并获得了 MdM_Vendor_Certificate.pem(将其保存在我的本地桌面上作为 cert1.pem)。

    假设日期为 2014 年 10 月 29 日,我将相同的 Customer.CSR 上传到身份门户并获得了 MdM_Vendor.Certificate.pem(将其保存在我的本地桌面上为 cert2.pem )。

现在阅读两个证书内容时: 我发现 cert1.pem 的 UID = com.apple.mgmt.External.26b... (我们称之为 topic1

并且 cert2.pem 的 UID = com.apple.mgmt.External.271..(我们称之为 topic2

即两个 UID 都不同。

所以我的问题是:

由于 UID 用于 MDM Payload 的 Topic 字段,APN 在内部使用该字段发送推送通知。

    现在假设我在 设备上使用 topic1 安装了 MDM 配置文件,直到 cert1.pem 用于 APN,设备将接收作为 UID 的推送通知在这种情况下与主题匹配。

但是,

    说当客户更新 APNs 证书时,UID 更改为 topic2,使用的证书将是 cert2.pem,但 设备仍然有安装了 topic1 的 mdm 配置文件(我们不会重新安装我假设设备上的 MDM 配置文件)。

那么设备(带有 topic1)将如何接收推送通知,因为 APNs 现在将获得带有 topic2 的证书。还是由 APNs 处理,它将所有具有 topic1 的设备映射到 topic2。

我不确定 APN 的这种行为。请帮忙。

我希望我说清楚了。

谢谢。

谢谢 萨姆林·谢赫

【问题讨论】:

任何更新..我真的很困惑..请有人帮忙吗?谢谢.. 【参考方案1】:

每当客户使用 Apple 身份门户中的“更新”按钮更新证书时,主题字段都不会更改。

如果 apns 证书已过期,则客户需要重做整个过程。从 CSR 将其上传到苹果的身份门户并取回 PEM 证书。创建了一个新主题。

所有使用旧 apns 注册的设备都必须删除旧配置文件并使用新的 apns 证书重新安装 mdm 有效负载,因为主题已更改,并且设备将不会收到任何 apns 通知。

【讨论】:

以上是关于Java iOS MDM:APNs 证书 UID 更改的主要内容,如果未能解决你的问题,请参考以下文章

多个 MDM 服务器,多个 APNs 证书?

iOS MDM 设备轮询和 APNs 证书

无法通过 APNS 向设备发送 MDM 推送通知。

iOS MDM:推送不起作用

创建一个简单的 MDM server

2 个不同应用的相同 APN