iOS 无线加密配置文件传送

发布于 2024-12-22 05:00:13 字数 432 浏览 3 评论 0原文

我已经完成了无线配置文件交付的实施。

在第 25 页的第 3 阶段:设备配置标题为“为无线注册和配置创建配置文件服务器”的部分中,它讨论了交付最终的加密捆绑包 - 应该以静默方式添加到设备的捆绑包。

然而,我对以下内容感到困惑:

configuration=configuration_payload(req,encrypted_profile.to_der)

下一段说有效负载类似于配置文件服务有效负载,带有UDID、版本等的有效负载。然后它指出“唯一的区别是其携带的有效载荷”。

该有效负载/配置包的格式是什么?特别是,加密包放在哪里? - 使用 based64 挑战部分?

感谢您对此的任何帮助。很难确定这里的格式是什么(相应的配置包 plist 的元素是什么),但看起来加密的包被签名的包包裹着。重申一下,目前尚不清楚包装器配置包的格式是什么。

I've been going thru the Over-the-Air profile delivery implementation.

In the section titled "Creating a Profile Server for Over-The-Air Enrollment and Configuration", in phase 3: Device Configuration on page 25, it talks about delivering the final encrypted bundle - the one that should silently be added to the device.

However, I'm confused by the following:

configuration = configuration_payload(req, encrypted_profile.to_der)

The next paragraph says the payload resembles the profile service payload, the one with the UDID, VERSION, etc. Then it states "The only difference is the payload its carries".

What is the format of this payload/configuration bundle. In particular, where does the encrypted bundle go within it? - using the based64 challenge section?

Thanks for any help on this. It's difficult to determine what the format is here (what are the elements of the corresponding config bundle plist) but it looks like the encrypted bundle is wrapped by the signed one. To reiterate, it is not clear what the format of the wrapper config bundle is.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜妞爱困 2024-12-29 05:00:13

您引用的 Apple 文档 有一个附加的配套文件,其中包含完整的 ruby​​ 脚本和参考实现。您要求的功能的代码:

def configuration_payload(request, encrypted_content)
    payload = general_payload()
    payload['PayloadIdentifier'] = "com.acme.intranet"
    payload['PayloadType'] = "Configuration" # do not modify

    # strings that show up in UI, customisable
    payload['PayloadDisplayName'] = "Encrypted Config"
    payload['PayloadDescription'] = "Access to the ACME Intranet"
    payload['PayloadExpirationDate'] = Date.today # expire today, for demo purposes

    payload['EncryptedPayloadContent'] = StringIO.new(encrypted_content)
    Plist::Emit.dump(payload)
end

The Apple document you are referring to has an attached companion file which contains complete ruby script with reference implementation. The code for the function you are asking for:

def configuration_payload(request, encrypted_content)
    payload = general_payload()
    payload['PayloadIdentifier'] = "com.acme.intranet"
    payload['PayloadType'] = "Configuration" # do not modify

    # strings that show up in UI, customisable
    payload['PayloadDisplayName'] = "Encrypted Config"
    payload['PayloadDescription'] = "Access to the ACME Intranet"
    payload['PayloadExpirationDate'] = Date.today # expire today, for demo purposes

    payload['EncryptedPayloadContent'] = StringIO.new(encrypted_content)
    Plist::Emit.dump(payload)
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文