Не удалось установить профиль MDM iPCU в iOS SDK
Я выполняю настройку поставщика MDM и имею учетную запись Apple Enterprise для того же. Но после выполнения всех шагов у меня возникает проблема, когда я пытаюсь установить файл утилиты конфигурации iPhone на iPhone. Мы получаем предупреждение "Профиль" Установка не удалась ". Пожалуйста, предложите, что вы подозреваете, что это может быть неправильно. Ниже приведены шаги, которые я выполнил для создания своего профиля.
Для поставщика:
Я создал моего поставщика CSR на моем MacBook под названием
vendor.csr
,Электронная почта: мой корпоративный аккаунт.
Общее имя: Название моей компании.
Сохранено на диск.
Загрузил
vendor.csr
файл в корпоративную учетную запись и загрузилmdm.cer
файл из учетной записи.Загружен этот сертификат в цепочку ключей.
Экспортировал файл.p12 как
private.p12
файл.Извлеченный закрытый ключ с помощью команды:
openssl pkcs12 -in private.p12 -nocerts -out key.pem
Извлеченный сертификат:
openssl pkcs12 -in private.p12 -clcerts -nokeys -out cert.pem
Преобразовать сертификат в форму des:
openssl x509 -in cert.pem -inform PEM -out mdm.cer -outform DES
8.Снят пароль от закрытого ключа: openssl rsa -in key.pem -out private.key
Для клиента:
Теперь я создал еще один 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:
Затем я загрузил файл, закодированный в plist, на " https://identity.apple.com/pushcert/" и скачал оттуда полученный push-сертификат.
Установил pushcert, загруженный в цепочку ключей, и экспортировал его в формат p12 и назвал его mdm.p12.
Преобразовал mdm.p12 в формат PEM: openssl pkcs12 -in mdm.12 -out pushcert.pem -nodes
Утилита настройки iPhone:
Я реализовал три раздела iPCU. Для настройки сервера я использую RapidSSL для настройки моего сервера.
генеральный
а. Имя: Моя компания Private Limited
б. Идентификатор: com.mycompany.mdm.profile
с. Организация: Название моей компании
д. Описание: Версия 1.0
е. Безопасность: всегда.
полномочия
Загружен файл pushcert.pem, созданный на последнем этапе работы push-сертификата.
Управление мобильными устройствами
а. 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, вероятно, является лучшим местом для обсуждения.