Не удалось установить профиль MDM iPCU в iOS SDK

Я выполняю настройку поставщика MDM и имею учетную запись Apple Enterprise для того же. Но после выполнения всех шагов у меня возникает проблема, когда я пытаюсь установить файл утилиты конфигурации iPhone на iPhone. Мы получаем предупреждение "Профиль" Установка не удалась ". Пожалуйста, предложите, что вы подозреваете, что это может быть неправильно. Ниже приведены шаги, которые я выполнил для создания своего профиля.

Для поставщика:

  1. Я создал моего поставщика CSR на моем MacBook под названием vendor.csr,

    Электронная почта: мой корпоративный аккаунт.

    Общее имя: Название моей компании.

    Сохранено на диск.

  2. Загрузил vendor.csr файл в корпоративную учетную запись и загрузил mdm.cer файл из учетной записи.

  3. Загружен этот сертификат в цепочку ключей.

  4. Экспортировал файл.p12 как private.p12 файл.

  5. Извлеченный закрытый ключ с помощью команды: openssl pkcs12 -in private.p12 -nocerts -out key.pem

  6. Извлеченный сертификат: openssl pkcs12 -in private.p12 -clcerts -nokeys -out cert.pem

  7. Преобразовать сертификат в форму des: openssl x509 -in cert.pem -inform PEM -out mdm.cer -outform DES

8.Снят пароль от закрытого ключа: openssl rsa -in key.pem -out private.key

Для клиента:

  1. Теперь я создал еще один CSR для push из того же MacBook под названием push.csr.

    Email: Email поддержки компании.

    Общее название: Название компании Push

    Сохранено на диск.

Код Python:

Ссылка: https://github.com/grinich/mdmvendorsign

Я получил код Python по ссылке выше, чтобы получить файл, закодированный в plist, из файлов, которые я сгенерировал выше, т.е. private.key, push.csr, mdm.cer. Я переименовал свои файлы в соответствии с приведенной ниже командой и сгенерировал файл в кодировке plist.

Команда: python mdm_vendor_sign.py --csr user_submitted_CSR.csr --key mdm_vendor_private.key --mdm mdm_certifiate_from_apple.cer

Нажмите Cert:

  1. Затем я загрузил файл, закодированный в plist, на " https://identity.apple.com/pushcert/" и скачал оттуда полученный push-сертификат.

  2. Установил pushcert, загруженный в цепочку ключей, и экспортировал его в формат p12 и назвал его mdm.p12.

  3. Преобразовал mdm.p12 в формат PEM: openssl pkcs12 -in mdm.12 -out pushcert.pem -nodes

Утилита настройки iPhone:

Я реализовал три раздела iPCU. Для настройки сервера я использую RapidSSL для настройки моего сервера.

  1. генеральный

    а. Имя: Моя компания Private Limited

    б. Идентификатор: com.mycompany.mdm.profile

    с. Организация: Название моей компании

    д. Описание: Версия 1.0

    е. Безопасность: всегда.

  2. полномочия

    Загружен файл pushcert.pem, созданный на последнем этапе работы push-сертификата.

  3. Управление мобильными устройствами

    а. URL сервера: https://xyz.server/

    b Проверьте URL: https://xyz.checin/

    с. Тему:com.apple.mgmt.External.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    д. Идентификационные данные: выбранный из учетных данных.

Экспорт iPCU -> Нет /SignConfigurationProfile (пробовал оба).

Теперь этот файл не удается установить на устройство, когда я отправляю его по почте, и мне не удается установить профиль сообщения. Из журналов я понимаю, что устройство не может установить соединение с сервером. Пожалуйста, предложите мне, как я могу решить эту проблему.,

Журналы устройства:

Nov 27 19:02:21 iPhone profiled[114] <Notice>: (Note ) MC: Checking for MDM installation...

Nov 27 19:02:21 iPhone profiled[114] <Notice>: (Note ) MC: ...finished checking for MDM installation.

Nov 27 19:02:21 iPhone profiled[114] <Notice>: (Note ) MC: Beginning profile installation...

Nov 27 19:02:21 iPhone profiled[114] <Error>:  SecTrustEvaluate  [leaf AnchorTrusted]

Nov 27 19:02:23 iPhone locationd[63] <Notice>: Gesture EnabledForTopCLient: 0, EnabledInDaemonSettings: 0

Nov 27 19:02:24 iPhone locationd[63] <Notice>: Gesture EnabledForTopCLient: 0, EnabledInDaemonSettings: 0

Nov 27 19:02:24 iPhone profiled[114] <Error>:  SecTrustEvaluate  [leaf AnchorTrusted]

Nov 27 19:02:26 iPhone profiled[114] <Notice>: (Error) MDM: Cannot Authenticate. Error: NSError:

Desc   : A connection to the server could not be established.

US Desc: A connection to the server could not be established.

Domain : MCHTTPTransactionErrorDomain

Code   : 23001

Type   : MCFatalError

Params : (

    "https://mdm.myCompanyName.com/Service1.svc",

    500

)

Nov 27 19:02:26 iPhone profiled[114] <Notice>: (Error) MC: Cannot install MDM “Mobile Device Management”. Error: NSError:

Desc   : The payload “Mobile Device Management” could not be installed.

Sugg   : A connection to the server could not be established.

US Desc: The payload “Mobile Device Management” could not be installed.

US Sugg: A connection to the server could not be established.

Domain : MCInstallationErrorDomain

Code   : 4001

Type   : MCFatalError

Params : (

    "Mobile Device Management"

)

...Underlying error:

NSError:

Desc   : A connection to the server could not be established.

US Desc: A connection to the server could not be established.

Domain : MCHTTPTransactionErrorDomain

Code   : 23001

Type   : MCFatalError

Params : (

    "https://mdm.myCompanyName.com/Service1.svc",

    500

)

Nov 27 19:02:26 iPhone profiled[114] <Notice>: (Error) MC: Rolling back installation of profile “com.myCompanyName.mdm.profile”...

Nov 27 19:02:26 iPhone profiled[114] <Notice>: (Error) MC: Installation of profile “com.myCompanyName.mdm.profile” failed with error: NSError:

Desc   : The profile “myCompanyName” could not be installed.

Sugg   : The payload “Mobile Device Management” could not be installed.

US Desc: The profile “myCompanyName” could not be installed.

US Sugg: The payload “Mobile Device Management” could not be installed.

Domain : MCProfileErrorDomain

Code   : 1009

Type   : MCFatalError

Params : (

    "myCompanyName"

)

1 ответ

Сертификат, сгенерированный с помощью сертификата поставщика MDM от Apple, не используется для проверки подлинности устройства. Он используется для этого конкретного сервера для отправки уведомлений в APN.

Идентификация в iPCU (которая давно устарела) предназначена для сертификата клиента. Также помните, что все сертификаты TLS должны быть действительными и доверенными. Ваш сервер отклоняет клиента с HTTP 500, поэтому я бы начал изучать журналы сервера, чтобы выяснить, почему.

Правда, если вы разрабатываете свое собственное решение MDM, я бы открыл инцидент DTS с Apple. Документы API публикуются только в программе Enterprise Developer Program и не доступны для общественности. Вместо этого, раздел MDM на форумах разработчиков Apple, вероятно, является лучшим местом для обсуждения.

Другие вопросы по тегам