我对创建PushCertWebRequest感兴趣(这是来自Apple文档) 我发现很多文档如何为第三方供应商(如Air-watch等)执行此操作,但是他们跳过了使用.p12证书的最后一步。我的意思是你应该创建PushCertWebRequest并将其上传到https://identity.apple.com/pushcert
的过程所以我的问题是如何创建推送证书请求plist。 这个plist的例子应该遵循(这是来自apple doc)
<?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块。
答案 0 :(得分:1)
请参阅detailed steps and source code here以生成plist。
答案 1 :(得分:1)
我将softhinker java代码移植到python,并添加了一些不错的东西。它可以在GitHub上找到:http://www.github.com/grinich/mdmvendorsign。
答案 2 :(得分:0)
使用任何工具包创建CSR,即Mac系统上的KeyChain Access, 然后将私钥导出为'vendor.p12'
登录Apple会员中心,然后转到“iOS配置门户”
在左侧导航栏中选择“证书”,然后点击“其他” 中心的标签。
按照该页面上的说明操作,上传您创建的CSR。
然后您可以使用作为MDM供应商的证书 在“其他”标签上下载。并下载它。
下载WWDR中间证书。
下载Apple根证书。
执行以下openssl命令转换MDM供应商证书WWDR 证书和Apple根证书逐个PEM格式:
openssl x509 -inform der -in mdm_identity.cer -out mdm.pem
openssl x509 -inform der -in AppleWWDRCA.cer -out intermediate.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