我正在设置一个MDM供应商并拥有同样的苹果企业帐户。但在完成所有步骤后,当我尝试在iPhone上安装iPhone配置实用程序文件时,我遇到了问题。我们正在收到提醒说“配置文件安装失败”。请建议您怀疑可能是错误的。以下是我创建配置文件时所遵循的步骤。
供应商:
我在我的macbook上创建了名为vendor.csr
的供应商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
对于客户:
现在我又从同一个名为push.csr的macbook中创建了一个用于推送的csr。
电子邮件:公司支持电子邮件。
通用名称:公司名称推送
保存到磁盘。
Python代码:
链接:https://github.com/grinich/mdmvendorsign
我从上面的链接获得了python代码,从上面生成的文件private.key, push.csr, mdm.cer
获取plist编码文件。我根据下面的命令重命名了我的文件并生成了一个plist编码文件。
命令: python mdm_vendor_sign.py --csr user_submitted_CSR.csr --key mdm_vendor_private.key --mdm mdm_certifiate_from_apple.cer
推送证书:
然后我在“https://identity.apple.com/pushcert/”上传了一个plist编码文件,并从那里下载了生成的推送证书。
安装了pushcert,下载到密钥链并以p12格式导出,并将其命名为mdm.p12。
将mdm.p12转换为PEM格式:openssl pkcs12 -in mdm.12 -out pushcert.pem -nodes
iPhone配置实用程序:
我实施了iPCU的三个部分。对于服务器设置,我使用RapidSSL进行服务器设置。
一般
一个。姓名:我公司私人有限公司
湾标识符:com.mycompany.mdm.profile
℃。组织:我的公司名称
d。说明:版本1.0
即安全:永远。
凭证
上传了推送证书工作最后一步生成的pushcert.pem文件。
移动设备管理
一个。服务器网址:https://xyz.server
b签入网址:https://xyz.checin
℃。主题:com.apple.mgmt.External.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
d。身份:从凭证中选择。
导出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"
)
答案 0 :(得分:0)
您使用Apple的MDM供应商证书生成的证书不用于设备身份验证。它用于该特定服务器向APN发送通知。
iPCU中的身份(很久以前就已弃用)是针对客户端证书的。还要记住,所有TLS证书都必须有效且值得信任。您的服务器拒绝使用HTTP 500的客户端,因此我将开始调查服务器日志以了解原因。
实际上,如果您正在开发自己的MDM解决方案,我会打开Apple的DTS事件。 API文档仅发布给企业开发人员计划中的人员,不公开。而不是在这里,Apple开发者论坛的MDM部分可能是讨论它的更好的地方。