iOS移动配置文件的解决方案

6
我已经搜索了很多网站来获取有关使用mobileconfig文件通过空中配置iPhone的信息,但我在某个阶段卡住了... :/ 以下是我的发现: http://cryptopath.wordpress.com/2010/01/29/iphone-certificate-flaws/ 但是这部分内容超出了我的理解范围。
引用如下: 使用openssl smime和从Verisign得到的P12证书,签署包括完整CA链的mobileconfig文件,并将其放在公共HTTP服务器上。
如果我理解正确,我要做的事情是: 1) 从Verisign获得证书(根据使用openssl生成的key.pem和request.pem) 2) 在iPhone配置实用程序中创建.mobileconfig文件(必须填充其中所有设置,还是只需要有这个文件就可以?) 3) 还有这个CA链是什么?
还在这里找到一些东西:http://www.rootmanager.com/iphone-ota-configuration/iphone-ota-setup-with-signed-mobileconfig.html 在这里,我也被这个链式结构所困扰...是否有人拥有或知道像我这样的新手的步骤解决方案?;) (最想要的当然是创建整个证书的解决方案,因为后来的教程非常直接)
1个回答

11

CA链的基本概述:假设您拥有一个安全证书,声明您是example.com。但没有人会相信你。所以你找到了一个受人们信任的人(例如上面提到的Verisign)来签署它。现在,我相信你是example.com,因为Verisign通过签署您的证书来为您背书。

通常,Verisign不会使用他们的主“根”证书进行签署。而是用一个二级CA签署它,这个二级CA由我信任的根证书签署。

这就是证书链:您(example.com)由一个二级CA签名,该二级CA由一个根CA签署。

因此,在给我您的证书时,您还需要提供整个证书链,以便我可以验证所有内容并查看我是否真正信任您。

因此,以下命令将使用您的证书对.mobileconfig文件进行签名。只要您提供整个链,我就会信任您的签名。

文件:
* company.mobileconfig <-- 您创建的.mobileconfig文件
* signed.mobileconfig <-- 命令完成后创建的已签名文件
* server.crt <-- 您从可信CA获取的证书
* server.key <-- 与上述证书配对的私钥文件(保持安全)
* cert-chain.crt <-- 链中的任何证书,直到顶级CA

该命令:

openssl smime -sign -in company.mobileconfig -out signed.mobileconfig
    -signer server.crt -inkey server.key -certfile cert-chain.crt
    -outform der -nodetach

这对我有用,我使用了 SSL 证书。谢谢。 - dazito
以下是如何在Java代码中复制此命令的方法:http://stackoverflow.com/questions/36595294/replicate-openssl-command-to-sign-a-file-in-java - dazito

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接