Создание MDM push сертификата - PullRequest
3 голосов
/ 04 ноября 2011

Я заинтересован в создании PushCertWebRequest (это из документации Apple) Я нашел много документов, как это сделать для сторонних поставщиков, таких как Air-watch и т. Д., Но они пропускают последний шаг, когда они работают с вашим сертификатом .p12. Я имею в виду процесс, когда вы должны создать PushCertWebRequest и загрузить его в https://identity.apple.com/pushcert

Таким образом, мой вопрос заключается в том, как создать лист запроса Push-сертификата. Пример этого списка должен следовать (это из 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.

Ответы [ 3 ]

1 голос
/ 14 августа 2013

Я перенес софтинкерный Java-код на python и добавил несколько приятных вещей.Он доступен на GitHub: http://www.github.com/grinich/mdmvendorsign.

1 голос
/ 16 ноября 2011

Пожалуйста, смотрите подробные шаги и исходный код здесь , чтобы сгенерировать plist.

0 голосов
/ 15 июня 2012
  • создать CSR с помощью любого инструментария, то есть KeyChain Access в Mac System, затем экспортируйте закрытый ключ как «vendor.p12»

  • войдите в Apple Member Center и перейдите на «Портал обеспечения iOS»

  • выберите «Сертификаты» в левой панели навигации и нажмите «Другие» вкладка по центру.

  • следуйте инструкциям на этой странице и загрузите созданный вами CSR.

  • тогда сертификат для вас как поставщика MDM будет доступен для скачать на вкладке «Другое». И скачать его.

  • скачать промежуточный сертификат WWDR.

  • скачать корневой сертификат Apple.

  • выполнить нижеприведенную команду openssl для преобразования сертификата поставщика MDM, WWDR сертификат и корневой сертификат Apple в формате PEM по одному:

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

    openssl x509 -информировать - в AppleWWDRCA.cer - без промежуточного_пема

    openssl x509 -информировать - в AppleIncRootCertificate.cer -out root.pem

  • Затем с помощью прилагаемой Java-программы на веб-странице softthinker создайте закодированный plist. Вам необходимо заменить местозаполнитель в пакете java своими собственными, потому что в пакете java приведен только один пример (нулевого размера):

customer.der, vendor.p12, mdm.pem, промежуточный.pem, root.pem

  • Теперь сначала проверьте сгенерированный формат plist.xml, который должен соответствовать образцу plist.xml, предоставленному в Справочном документе протокола MDM.

  • Если plist.xml имеет соответствующий формат, загрузите encoded_plist на portal . Поэтому мы должны позаботиться о том, чтобы plist.xml был только для справки, это не для загрузки. Только для загрузки encoded_plist. После этого скачайте сертификат с portal .

...