为iOS的mobileconfig配置文件进行签名
配置描述文件(.mobileconfig) 是XML文件,包含设备安全策略、VPN配置信息、Wi-Fi设置、APN设置、Exchange帐户设置、邮件设置以及允许iPhone和iPod touch与企业系统配合使用的证书。本文描述了苹果开发者如何使用SSL证书对. mobileconfig进行签名,从而确保iOS系统上的app安全性。
前提条件
- 确保已经获取SSL数字证书。有关获取数字证书方法,可参阅如何获取数字证书。
- 本文使用的SSL证书文件名为
mbaike.crt
。 - 与SSL证书对应的私钥。本文使用的私钥文件名为
mbaike.key
。 - 与SSL证书对应的证书链(中级证书)。本文使用的证书链文件名为
ca.-bundle.pem
。 - iOS端生成的未签名的需要签名的
.mobleconfig
文件。 本文使用的文件名为unsigned.mobileconfig
。 - OpenSSL 1.0及以上版本。
如何签名
生成已签名配置文件
在linux操作系统上,通过运行OpenSSL命令行,生成签名后的signed.mobileconfig
文件。
[root@VM_0_4_centos home]#openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer mbaike.crt -inkey mbaike.key -certfile ca-bundle.pem -outform der -nodetach
输入私钥密码
将证书私钥key文件的密码写入到生成的key文件中
[root@VM_0_4_centos home]#openssl rsa -in mbaike.key -out mbaikenopass.key
写入签名
[root@VM_0_4_centos home]#openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer mbaike.crt -inkey mbaikenopass.key -certfile ca-bundle.pem -outform der -nodetach
签名效果
.mobileconfig
配置描述文件签名前
.mobileconfig
配置描述文件签名后