我对Profile Payload中的身份证书几乎没有任何疑问。
如果有些问题是基本的话,请原谅无知。
1。)我发现,我们可以直接使用SCEP标准或PKCS12证书进行设备识别。建议使用SCEP,因为只有设备才能知道私钥。因此,如果我要实现SCEP服务器,是否需要维护映射到设备的Identity证书的公钥列表,以便以后可以使用它进行加密?
2.。)实现SCEP服务器的最佳方法是什么?是否有可靠的可靠方法来采用它而不是自己编写所有内容?
3.如果身份证明已过期怎么办?
作为玩游戏时的基本版本,我尝试在不使用SCEP的情况下将自己的p12证书添加到Payload。
我尝试在identity payloadcontent键中添加base64编码的p12证书,如某些链接参考中所述。我收到了一个错误
安装个人资料时无法找到“测试MDM配置文件”的身份证书
。
identity_payload['PayloadType'] = 'com.apple.security.pkcs12'
identity_payload['PayloadUUID'] = "RANDOM-UUID-STRING"
identity_payload['PayloadVersion'] = 1
identity_payload['PayloadContent'] = Base64.encode64(File.read "identity.p12")
identity_payload['Password'] = 'p12Secret'
当我检查'Configuration Profile key reference'时,有人提到我应该在数据中发送Payload的二进制表示。 所以我试过了,
identity_payload['PayloadContent'] = ConvertToBinary(File.read "identity.p12")
我知道了,
证书“IdentityCertificate”的密码不正确
我提供了导出p12证书的有效密码。
我做错了什么?
答案 0 :(得分:3)
回答你的问题:
1)我是否需要维护映射到设备的身份证书的公钥列表,以便以后可以使用它进行加密?
是。你需要某种映射。你可以采取以下几种方式:
正如您所指出的那样,您需要使用公钥来加密此设备的有效负载。
2)实现SCEP服务器的最佳方法是什么?是否有可靠的可靠方法来采用它而不是自己编写所有内容?
有SCEP的开源实现。例如jSCEP拥有它(我使用它)而EJBCA拥有它(我也使用它)。我看到了其他实现(在Ruby等等)。所以,你可以找到一个适合你的堆栈的东西。
3)您需要在消费之前更新身份证明(与任何其他证书相同)。
4)如果您的个人资料不起作用,我建议您在iPhone配置实用程序中创建相同的个人资料,并与您的个人资料进行比较。大多数时候,你只错过了一个标签或类似的东西(如果不将它与工作标记进行比较,需要花很多时间来解决它。)