如何为iOS创建MDM注册配置文件

时间:2015-06-02 10:58:01

标签: ios ios8 mdm

我正在尝试创建一个简单的MDM服务器来管理iOS设备。 但我正在努力与“MDM注册配置文件”,我正在使用ipcu创建此配置文件。但是,当我通过电子邮件(或网络链接)打开此个人资料时,没有任何事情发生。

让我分享一下创建“MDM注册档案”的工作 - 在ipcu中创建新的个人资料。 - 填写“常规”部分的详细信息 - “移动设备管理”的填写详细信息 - 填写上述步骤所需的“凭据”的详细信息 - 然后我使用导出按钮导出。为安全性选择none。

然后我通过电子邮件发送结果文件并在设备上打开,但是当我打开文件时没有发生任何事情,它没有要求我打开/安装文件。 (我也试过创建一个网站链接,但没有运气)。

我做错了什么?是否有关于创建“MDM注册配置文件”的任何文档。请帮忙。

更新1 -

我尝试打开mobileconfig文件并查看导致问题的原因。经过大量的反复试验后,我发现如果我从文件中删除这个字典就会开始工作 -

<dict>
        <key>AccessRights</key>
        <integer>8191</integer>
        <key>CheckInURL</key>
        <string>https://server-domain/workplace3/logiphone/</string>
        <key>CheckOutWhenRemoved</key>
        <false/>
        <key>PayloadDescription</key>
        <string>Configures Mobile Device Management</string>
        <key>PayloadDisplayName</key>
        <string>Mobile Device Management</string>
        <key>PayloadIdentifier</key>
        <string>com.server-domain.profile.mdm-one.</string>
        <key>PayloadOrganization</key>
        <string></string>
        <key>PayloadType</key>
        <string>com.apple.mdm</string>
        <key>PayloadUUID</key>
        <string>CC7E12CB-DA53-4D4E-AB7D-39B45A453146</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>ServerURL</key>
        <string>https://server-domain/</string>
        <key>SignMessage</key>
        <false/>
        <key>Topic</key>
        <string>push_topic</string>
    </dict>

知道上面的字典有什么问题吗?

1 个答案:

答案 0 :(得分:3)

有效负载中缺少标记IdentityCertificateUUID
它是MDM有效载荷中的强制属性。它将用于标识与MDM关联的身份证书。身份证书有效负载(PKCS12或SCEP)应与PayloadUUID具有相同的UUID 因此,您修改的MDM有效负载将是

    <dict>
        <key>AccessRights</key>
        <integer>8191</integer>
        <key>IdentityCertificateUUID</key>
        <string>YOUR-ID_CERTIFICATE-PAYLOADUUID</string>
        <key>CheckInURL</key>
        <string>https://server-domain/workplace3/logiphone/</string>
        <key>CheckOutWhenRemoved</key>
        <false/>
        <key>PayloadDescription</key>
        <string>Configures Mobile Device Management</string>
        <key>PayloadDisplayName</key>
        <string>Mobile Device Management</string>
        <key>PayloadIdentifier</key>
        <string>com.server-domain.profile.mdm-one.</string>
        <key>PayloadOrganization</key>
        <string></string>
        <key>PayloadType</key>
        <string>com.apple.mdm</string>
        <key>PayloadUUID</key>
        <string>CC7E12CB-DA53-4D4E-AB7D-39B45A453146</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
        <key>ServerURL</key>
        <string>https://server-domain/</string>
        <key>SignMessage</key>
        <false/>
        <key>Topic</key>
        <string>push_topic</string>
    </dict>

使用您的身份证明(SCEP或PKCS12)的PayloadUUID替换您的ID_CERTIFICATE-PAYLOADUUID


有关详细信息,请查看Intrepidus Group的wonderful PDF on IOS MDM

如果再次出现错误,您可以检查设备控制台日志并使用安装时收到的错误消息更新问题。调试问题会非常有帮助。

<强>更新
要获得IdentityCertificateUUID,您必须查找PayloadType com.apple.security.pkcs12(PKCS12证书有效载荷)或PayloadType com.apple.security.scep(SCEP有效载荷)的Payload字典。

根据您的问题,您已在IPCU中为MDM配置了凭据。这意味着,您已将PKCS12 Payload配置为身份证书。因此,请确定类型为com.apple.security.pkcs12的有效负载,复制其PayloadUUID,并在MDM有效负载中构造IdentityCertificateUUID。任务完成!

如果在IPCU中配置了SCEP,则应使用SCEP有效载荷的PayloadUUID。 请注意,建议使用SCEP for Identity证书而不是使用PKCS12 Certificate.Using SCEP可以确保只有设备具有私钥。