Java iOS MDM:APNs证书UID更改

时间:2014-10-31 06:32:58

标签: java ios apple-push-notifications mdm

我们开发了端到端的iOS MDM实施。 现在,我要求每个客户(租户)都应拥有自己的APN证书,该证书将用于发送推送通知。 使用java我创建了一个.CSR,引用了iOS Vendor CSR Signing Link,用于创建Customer.CSR。

使用Apple的Identity Portal然后创建.pem文件,其格式为MDM_< Vendor_Name> _Certificate.pem。

查询:

  1. 比如2014年10月28日,我将Customer.CSR上传到身份门户网站并获得了MdM_Vendor_Certificate.pem(将其保存在我的本地桌面上 cert1.pem )。< / p>

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

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

    和cert2.pem有UID = com.apple.mgmt.External.271 .. (我们称之为 topic2

    即。两个UID都不同。

    所以我的问题是:

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

    1. 现在说我已在设备上安装了MDM配置文件,主题1 ,直到 cert1.pem 用于APN,设备将接收推送通知作为UID在这种情况下与主题相匹配。
    2. 但是,

      1. 说当客户更新APNs证书时,UID更改为topic2,使用的证书将是cert2.pem,但设备仍然具有 mdm配置文件,其中安装了topic1(我们不会重新安装设备上的MDM配置文件我假设)。
      2. 那么设备(带有topic1)将如何接收推送通知,因为APN现在将获得带有topic2的证书。或者它是由APN处理它将所有设备与topic1映射到topic2。

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

        我希望自己清楚明白。

        感谢。

        由于 Samreen Shaikh

1 个答案:

答案 0 :(得分:1)

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

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

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