Създаване на MDM push сертификат

Интересно ми е създаването на PushCertWebRequest (това е от документацията на Apple). Намерих много документи как да направя това за доставчици на трети страни като Air-watch и т.н., но те пропускат последната стъпка, когато работят с вашия . p12 сертификат. Имам предвид процес, когато трябва да създадете PushCertWebRequest и да го качите на https://identity.apple.com/pushcert

Така че въпросът ми е как да създам plist за заявка за Push Certificate. примерът на този 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.


person Dmitry Pilipenko    schedule 04.11.2011    source източник


Отговори (3)


Моля, вижте подробни стъпки и изходен код тук, за да генерирате plist.

person Softhinker.com    schedule 16.11.2011
comment
Добре дошли в Stack Overflow! Въпреки че теоретично това може да отговори на въпроса, би било за предпочитане да включите основните части на отговора тук и да предоставите връзката за справка. - person Bill the Lizard; 05.03.2012

Пренесох java кода на softhinker към python и добавих няколко хубави неща. Наличен е в GitHub: http://www.github.com/grinich/mdmvendorsign.

person Michael Grinich    schedule 14.08.2013

  • създайте CSR, като използвате произволен инструментариум, т.е. KeyChain Access на Mac System, след което експортирайте частния ключ като „vendor.p12“

  • влезте в Apple Member Center и отидете на „iOS Provisioning Portal“

  • изберете „Сертификати“ от лявата лента за навигация и щракнете върху раздела „Други“ в центъра.

  • следвайте инструкциите на тази страница и качете създадения от вас CSR.

  • тогава сертификатът за вас като доставчик на MDM ще бъде достъпен за изтегляне в раздела „Други“. И го изтеглете.

  • изтеглете междинен сертификат WWDR.

  • изтеглете основния сертификат на Apple.

  • изпълнете командата openssl по-долу, за да конвертирате MDM сертификат на доставчик, WWDR сертификат и Apple root сертификат в 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

  • След това използвайте приложената Java програма в уеб страницата softthinker, за да генерирате кодиран plist. Трябва да замените контейнера в java пакета с вашите собствени, тъй като предоставеното в java пакета е само примерен (нулев размер), който е:

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

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

  • Ако plist.xml е в подходящ формат, тогава качете encoded_plist в портала. Така че трябва да се погрижим plist.xml да е само за наша справка, това не е за качване. Само за качване encoded_plist. След това изтеглете сертификата от портала.

person User97693321    schedule 15.06.2012
comment
Хората започват да забелязват, че се свързвате доста често с softhinker.com. Съвсем скоро ще натрупате флаговете за спам. Може да искате да облекчите малко това. Може би да поставите връзката в края, а не в началото? Може би да го оттеглите за няколко въпроса? - person ; 15.06.2012