【问题标题】:Delivering MDM DeviceLock Payload交付 MDM DeviceLock 有效负载
【发布时间】:2019-05-07 10:46:16
【问题描述】:

在将第一个有效负载作为 mdm: 发送后,我们能够获得状态为空闲的响应。现在我们要发送一个简单的设备锁有效载荷。我们按照完全相同的流程发送有效载荷,但返回的响应是空白的。

我们按照以下方式使用证书: 1. 在 MDM 服务器上,要发送 mdm 命令,我们使用标识符为 com.apple.mgmt.myapp 的 MDM Vendors APNS 证书。(此标识符在配置文件中设置为主题)。 2. 在配置文件中,我们将凭据设置为 MDM 客户端返回的 p12 文件。

我收到以下错误..:MC|无法解析配置文件数据。错误:

    NSError 0x1c58c2f0:
    Desc   : Invalid Profile
    US Desc: Invalid Profile
    Domain : MCProfileErrorDomain
    Code   : 1000
    Type   : MCFatalError


    <Warning>: MDM|Command Status: Error
    Error: NSError 0x1c58c2f0:
    Desc   : Invalid Profile
    US Desc: Invalid Profile
    Domain : MCProfileErrorDomain
    Code   : 1000
    Type   : MCFatalError

【问题讨论】:

  • 我发送 devicelock 负载的方式与发送 mdm:PushMagic 的方式相同……它正确吗?
  • 下面是正在发生的事务.. 我正在向设备发送设备锁定命令作为响应,但设备仍然说没有来自服务器的命令.. :(
  • 3 月 5 日 03:32:23 iPad-01 mdmd[3637] :MDM|mdmd 开始... 3 月 5 日 03:32:23 iPad-01 mdmd[3637] :MDM|轮询 MDM 服务器 lion.myserver.net/main.php 以获取命令 Mar 5 03:32:23 iPad-01 mdmd[3637] :MDM|网络可达性已更改。 3 月 5 日 03:32:26 iPad-01 mdmd[3637] :MDM|事务已完成。状态:200 Mar 5 03:32:26 iPad-01 mdmd[3637] :MDM|交易已完成。状态:200 Mar 5 03:32:26 iPad-01 mdmd[3637] :MDM|Server 没有此设备的命令。 3 月 5 日 03:32:28 iPad-01 mdmd[3637] :MDM|mdmd 停止...
  • 发送 DeviceLock Payload 后,我收到以下错误:: : Failed to parse JSON message payload for topic 'com.apple.mgmt.mycomp.mdm':在第 1 行第 116 列解析字符串时输入意外结束
  • 你解决了吗?你能帮我解决同样的问题吗!

标签: ios apple-push-notifications mdm payload


【解决方案1】:

您不使用 APNS 发送设备锁定配置文件。设备在通过 APNS 接收到 MDM 有效负载并且您的服务器将 XML(不是 JSON!)发送回包含设备锁定命令的设备后“打电话回家”。

【讨论】:

  • 非常感谢!但是如何使用 php.ini 将 XML 发送回设备。我在配置文件的服务器 url 中设置了一个 main.php 文件。设备响应 mdm:PushMagic 到状态为 Idle 的 main.php 文件。现在我应该如何与设备通信。意味着如何将xml直接发送到设备?请帮忙!
  • Abstractec...非常感谢...我成功执行了命令... :)
  • 当设备响应“空闲”消息时,您将返回 XML 以获取您希望设备执行的命令。当设备响应该命令时,如果您愿意,您可以发回另一个命令,或者发回具有 200 HTTP 状态的零长度响应正文,以向设备指示没有更多命令。
  • 非常感谢 Abstractec.. 你觉得 stackoverflow.com/questions/9630683/…
  • 它必须是 的内容,其中包含您要安装的配置文件的 PayloadContent,该配置文件已经过 Base64 编码。
【解决方案2】:

payload 应该是 *.mobileconfig 文件内容的 Base64 编码,带有顶级 'dict' 节点。

发送到设备的实际 xml 在 iOS MDM 协议参考中定义。 命令类型为“InstallProfile”

【讨论】:

  • 我试过了,但我得到了 >>>>>> MC:无法解析配置文件数据。错误:NSError: Desc : Invalid Profile US Desc: Invalid Profile Domain : MCProfileErrorDomain Code : 1000 Type : MCFatalError
【解决方案3】:

如果设备发送“空闲”,则表示您正在使用 APNS 正确唤醒设备。接下来,您只需将DeviceLock 命令发送到设备。它不需要base64编码,只需发送这个plist响应并检查。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>DeviceLock</string>
    <key>Command</key>
    <dict>
        <key>RequestType</key>
        <string>DeviceLock</string>
        <key>Message</key>
        <string>Locking the device. Contact +91 9999999999</string>
    </dict>
</dict>
</plist>

【讨论】:

    猜你喜欢
    • 2017-06-28
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多