苹果MDM供应商CSR签名
上传plist到https://identity.apple.com/pushcert/时 ,我点击了“ 无效证书签名请求 ”,下面是我用来生成plist的步骤:
- 作为供应商,使用MacBook的KeyChain Access创build供应商CSR以上传到会员中心以生成MDM签名证书,并以p12格式从KeyChain Access导出私钥,比如vendor.p12
- 使用Openssl创build客户CSR:
– openssl genrsa -des3 -out customerPrivateKey.pem 2048
– openssl req -new -key customerPrivateKey.pem -out customer.csr - 作为供应商,请从供应门户下载MDM签名证书,WWDR中间证书,并从http://www.apple.com/appleca/AppleIncRootCertificate.cer下载Apple根证书,然后使用以下命令将这三个证书转换为PEM格式一个接一个地被程序读取为PushCertCertificateChain:
– openssl x509 -inform der -in AppleWWDRCA.cer -out chain.pem - 作为一个供应商,遵循移动设备pipe理协议参考中的java代码示例,我使用从vendor.p12中提取的私钥对customer.csr进行签名
- 使用Safari将生成的plist上传到https://identity.apple.com/pushcert/并使用客户的Apple ID
上面的步骤有什么问题吗? 请指教。 非常感谢!
请看这里的详细步骤和源代码来生成plist。
我做了一个供应商签名部分的python脚本,所以你不必使用java代码。
同时遵循http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning ,作为供应商作为供应商,
- 使用任何工具包(例如MacBook上的KeyChain Access)创buildCSR,然后将私钥导出为“vendor.p12”
- login到Apple会员中心,然后进入“iOS Provisioning Portal”
- select左侧导航栏上的“证书”,然后点击中心的“其他”标签。
- 请按照该页面上的说明进行操作,并上传您创build的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 intermediate.pem
openssl x509 -inform der -in AppleIncRootCertificate.cer -out root.pem
然后使用http://www.softhinker.com/in-the-news/iosmdmvendorcsrsing中附加的Java程序生成编码的plist。 现在首先validation生成的plist.xml格式,该格式应该与MDM协议参考文档中提供的示例plist.xml相匹配。
如果plist.xml格式适当,则将播放的播放列表上传到https://identity.apple.com/pushcert/ 。 所以我们需要注意的是,plist.xml仅仅是为了我们的参考,这不是用于upload.For仅仅上传encoded_plist。
-
请记住用自己的包replace包中的占位符,因为在java包提供的只是一个样本(零大小):
customer.der,vendor.p12,mdm.pem,intermediate.pem,root.pem
如果我们正在进行客户活动以为MDM Server生成MDM证书
作为客户,
-
使用任何工具包,即openssl创build一个CSR:
openssl genrsa -des3 -out customerPrivateKey.pem 2048
openssl req -new -key customerPrivateKey.pem -out customer.csr
-
将customer.csr转换为der格式:
openssl req -inform pem -outform der -in customer.csr -out customer.der
那么我们需要validation一些东西。
1)使用此命令从customerPrivateKey.pem中删除密码
openssl rsa -in customerPrivateKey.pem -out PlainKey.pem
2)然后使用此命令合并从门户https://identity.apple.com/pushcert/下载的APNS证书(例如CustomerCompanyName.pem)
cat CustomerCompanyName.pem PlainKey.pem > PlainCert.pem
现在,这个PlainCert.pem文件可以在您的服务器中用作MDM_Protocol pdf中提到的APNS / MDM证书,用于示例MDM Server。