ios беспроводная доставка профиля в зашифрованном виде - PullRequest
0 голосов
/ 20 декабря 2011

Я проходил реализацию доставки профиля через эфир.

В разделе «Создание сервера профилей для регистрации и настройки через эфир», на этапе 3: устройствоКонфигурация на странице 25, она говорит о доставке окончательного зашифрованного пакета - того, который должен быть незаметно добавлен к устройству.

Однако меня смущает следующее:

configuration = configuration_payload(req, encrypted_profile.to_der)

В следующем параграфе говорится, что полезная нагрузка напоминает полезную нагрузку службы профиля, такую, как UDID, VERSION и т. д. Затем говорится: «Единственное отличие - это полезная нагрузка, которую она несет».

Каков формат этого комплекта полезной нагрузки / конфигурации.В частности, где находится зашифрованный пакет?- использовать раздел по вызову based64?

Спасибо за любую помощь по этому вопросу.Сложно определить, какой здесь формат (каковы элементы соответствующего списка конфигурации пакета), но похоже, что зашифрованный пакет обернут подписанным.Повторим еще раз: не ясно, каков формат пакета конфигурации оболочки.

1 Ответ

1 голос
/ 23 марта 2012

В документе Apple, на который вы ссылаетесь , есть прикрепленный сопутствующий файл, который содержит полный скрипт ruby ​​со ссылочной реализацией.Код запрашиваемой функции:

def configuration_payload(request, encrypted_content)
    payload = general_payload()
    payload['PayloadIdentifier'] = "com.acme.intranet"
    payload['PayloadType'] = "Configuration" # do not modify

    # strings that show up in UI, customisable
    payload['PayloadDisplayName'] = "Encrypted Config"
    payload['PayloadDescription'] = "Access to the ACME Intranet"
    payload['PayloadExpirationDate'] = Date.today # expire today, for demo purposes

    payload['EncryptedPayloadContent'] = StringIO.new(encrypted_content)
    Plist::Emit.dump(payload)
end
...