Актуализирано:
За да изпратим каквато и да е команда към устройството, първо трябва да инсталираме MDM профила в профилите на устройството, който ще съдържа URL адрес на сървъра, който ще се използва от устройството за запитване за команди, когато устройството получи насочено известие.
Вижте http://media.blackhat.com/bh-us-11/Schuetz/BH_US_11_Schuetz_InsideAppleMDM_WP.pdf за подробно записване вижте също раздела „Изпращане на насочени известия“ и разделите след него от връзката по-горе за подробни команди на устройството.
За да изпратим насочено известие, трябва да имаме apns push сертификат, който можем да създадем от портала за самоличност на Apple, препратка: http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning
За mdm изпращаме полезни данни за насочени известия към APN като {mdm: "PushMagicToken-of-device"}
Когато насоченото известие бъде получено от устройството, то ще се свърже с url-адреса на сървъра на mdm сървъра, за да изпълни командата.
Отговарям на вашите въпроси: (P.S. Използвах Java за комуникация)
Q1. „Можете ли да ми предложите как сървърът взаимодейства с устройството и устройството със сървъра под формата на заявка“
Отговор: Устройството ще взаимодейства със сървъра, когато получи насочено известие от APN. Той ще се свърже с URL адреса на ключа ServerUrl, който предоставяте в полезния товар на mdm.
Това е тип метод на заявка PUT, устройството изпраща състояние на неактивност към сървъра във формат 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>Status</key>
<string>Idle</string>
<key>UDID</key>
<string> [ redacted ] </string>
</dict>
</plist>
Цялата комуникация с устройството се извършва с помощта на Plist (формат на списък със свойства), устройството разбира този формат лесно.
В2: „Това означава под каква форма изпращате команда от сървъра и как проверявате дали командата е изпълнена и изпращате обратна връзка към устройството“
Сървърът също изпраща команда до устройството под формата на plist. Например: По-долу е plist, изпратен за команда DeviceLock от моя mdm сървър, когато устройството изпрати отговор за състояние на неактивност.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceLock</string>
</dict>
<key>CommandUUID</key>
<string>ph_mdm_command_uuid</string>
</dict>
</plist>
Моля, обърнете внимание: всяка команда има поле CommandUUID, което можем да използваме за проверка на текущите команди в края на сървъра, то поддържа текущата сесия. Каквато и команда да изпратим до устройството с CommandUUID, устройството отговаря със състоянието на тази команда със същия CommandUUID.
Така че в отговор на DeviceLock Command RequestType, устройството изпраща обратно отговор:
<?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>CommandUUID</key>
<string>ph_mdm_command_uuid</string>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>device_udid</string>
</dict>
</plist>
Тук CommandUUID е подобен на този, изпратен от сървъра, UDID е udid на устройството и състоянието е Потвърдено, което означава, че командата е изпълнена успешно на устройството.
Забележка: Всичко това се изпраща в отговора на Java под формата на байтове. Ако имахте предвид кой формат изпращах отговора на устройството.
Предполагам, че изпращането на обратна връзка до устройството означава или изпращане на следваща заявка, или спиране на запитването: Подобни стъпки трябва да се следват, ако имате списък с команди, които да бъдат изпратени на устройството, тъй като в момента можем да изпращаме само една команда наведнъж. Ако няма команди за изпълнение и искате устройството да спре анкетирането, трябва да изпратите празен отговор. Вижте iOS MDM - Как да затворите или спрете връзката, след като устройството отговори с валиден отговор за повече подробности.
Надяваме се това да разсее съмненията. Ако сте във фазата на записване, моля, прегледайте коментарите на @Victor, преди да следвате това. Уведомете ме в случай на някакви разяснения. В момента имам успешно инсталирана настройка на mdm на iOS устройство.
Благодаря.
person
Samreen
schedule
29.09.2014