【问题标题】:MDM push certificate creationMDM 推送证书创建
【发布时间】:2011-12-21 20:51:19
【问题描述】:

我对创建 PushCertWebRequest 很感兴趣(来自苹果文档) 我找到了很多文档如何为 Air-watch 等 3rd 方供应商执行此操作,但他们跳过了使用 .p12 证书的最后一步。我的意思是您应该创建 PushCertWebRequest 并将其上传到https://identity.apple.com/pushcert

所以我的问题是如何创建推送证书请求 plist。 此 plist 的示例应如下所示(来自苹果文档)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PushCertRequestCSR</key>
<string>
MIIDjzCCAncCAQAwDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQAD
</string>
<key>PushCertCertificateChain</key>
<string>
-----BEGIN CERTIFICATE-----
MIIDkzCCAnugAwIBAgIIQcQgtHQb9wwwDQYJKoZIhvcNAQEFBQAwUjEaMBgGA1UE
AwwRU0FDSSBUZXN0IFJvb3QgQ0ExEjAQBgNVBAsMCUFwcGxlIElTVDETMBEGA1UE
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDlTCCAn2gAwIBAgIIBInl9fQbaAkwDQYJKoZIhvcNAQEFBQAwXDEkMCIGA1UE
AwwbU0FDSSBUZXN0IEludGVybWVkaWF0ZSBDQSAxMRIwEAYDVQQLDAlBcHBsZSBJ
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDpjCCAo6gAwIBAgIIKRyFYgyyFPgwDQYJKoZIhvcNAQEFBQAwXDEkMCIGA1UE
AwwbU0FDSSBUZXN0IEludGVybWVkaWF0ZSBDQSAxMRIwEAYDVQQLDAlBcHBsZSBJ
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDiTCCAnGgAwIBAgIIdv/cjbnBgEgwDQYJKoZIhvcNAQEFBQAwUjEaMBgGA1UE
AwwRU0FDSSBUZXN0IFJvb3QgQ0ExEjAQBgNVBAsMCUFwcGxlIElTVDETMBEGA1UE
-----END CERTIFICATE-----
</string>
<key>PushCertSignature</key>
<string>
CGt6QWuixaO0PIBc9dr2kJpFBE1BZx2D8L0XH0Mtc/DePGJOjrM2W/IBFY0AVhhEx
</string>

最后我创建了 PushCertRequestCSR 和 PushCertSignature,但我真的不知道如何创建 PushCertCertificateChain 块。

【问题讨论】:

    标签: iphone push apple-push-notifications mdm


    【解决方案1】:

    请查看detailed steps and source code here生成plist。

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然这在理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供参考链接。
    【解决方案2】:

    我将 softhinker java 代码移植到 python,并添加了一些不错的东西。它在 GitHub 上可用:http://www.github.com/grinich/mdmvendorsign

    【讨论】:

      【解决方案3】:
      • 使用任何工具包创建 CSR,即 Mac 系统上的 KeyChain Access, 然后将私钥导出为'vendor.p12'

      • 登录 Apple 会员中心,然后转到“iOS 配置门户”

      • 选择左侧导航栏上的“证书”,然后单击“其他” 选项卡在中心。

      • 按照该页面上的说明,上传您创建的 CSR。

      • 那么您作为 MDM 供应商的证书将可用于 在“其他”选项卡上下载。并下载它。

      • 下载 WWDR 中间证书。

      • 下载 Apple 根证书。

      • 执行下面的openssl命令来转换MDM供应商证书,WWDR 证书和苹果根证书一一转PEM格式:

        openssl x509 -inform der -in mdm_identity.cer -out mdm.pem

        openssl x509 -inform der -in AppleWWDRCA.cer -out middle.pem

        openssl x509 -inform der -in AppleIncRootCertificate.cer -out root.pem

      • 然后使用softthinker网页中附带的Java程序生成编码plist。 您需要将 java 包中的占位符替换为您自己的占位符,因为 java 包中提供的只是示例之一(零大小),它们是:

      customer.der、vendor.p12、mdm.pem、intermediate.pem、root.pem

      • 现在首先验证生成的 plist.xml 格式应该与 MDM 协议参考文档中提供的示例 plist.xml 匹配。

      • 如果 plist.xml 格式合适,则将 encoded_plist 上传到 portal 。所以我们需要注意 plist.xml 仅供参考,而不是用于上传。仅用于上传编码的 plist。 然后从portal下载证书。

      【讨论】:

      • 人们开始注意到您经常链接到 softhinker.com。很快你就会收集垃圾邮件的标志。你可能想放松一点。也许将链接放在末尾而不是开头?也许会因为几个问题而退休?
      猜你喜欢
      • 2015-02-28
      • 2011-05-03
      • 1970-01-01
      • 2016-12-14
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多