3

我对创建 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 块。

4

3 回答 3

1

在此处查看详细步骤和源代码以生成 plist。

于 2011-11-16T06:54:59.070 回答
1

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

于 2013-08-14T06:51:49.943 回答
0
  • 使用任何工具包创建 CSR,即 Mac 系统上的 KeyChain Access,然后将私钥导出为“vendor.p12”

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

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

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

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

  • 下载 WWDR 中间证书。

  • 下载苹果根证书。

  • 执行下面的 openssl 命令,将 MDM 厂商证书、WWDR 证书、Apple 根证书一一转换为 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 仅供我们参考,而不是用于上传。仅用于上传 encoded_plist。之后从门户下载证书。

于 2012-06-15T03:59:04.103 回答