您的位置:首页 > 移动开发 > IOS开发

IOS7.1下载企业版应用报“xxx证书无效”的解决方案

2014-04-08 20:43 477 查看
自从IOS升级到7.1以后,企业版应用下载时就会报“无法安装应用程序 因为xxx证书无效”的错误。查了资料才知道是苹果方面升级到ios7.1后,原先plist的url从原来的http改成https了,换句话说必须使用SSL了。

解决此问题有两种方案:

一、自己搭建https服务器

介绍下环境:我的项目部署在linux的yaws服务器上,因此需要在yaws上建立SSL服务,好在yaws支持SSL,只要在yaws.conf中配置一下即可。

以下是具体实现步骤:

1.根据http://blog.csdn.net/zhaoxy_thu/article/details/21133399 博文,生成根证书ca.crt、服务器证书server.crt和服务器私钥server.key

2.配置yaws.conf

在yaws.conf中增加以下ssl服务配置项(需开通8443端口)

<server localhost>
port = 8443
listen = 0.0.0.0
docroot = ../ewp/public/www
appmods = </, ewp_controller>
<ssl>
keyfile = ./config/cert/server.key
certfile = ./config/cert/server.crt
</ssl>
</server>
3.在config下建立cert文件夹,把server.key和server.key放进去。

4.由于是自己颁给自己的证书,因此客户端上需安装ca.crt根证书,需给出ca根证书的下载路径。

5.修改连接(使用https请求plist文件)

itms-services://?action=download-manifest&url=https://192.168.21.26:8443/itmobile/mobile/ios5/itmobile.plist

6.配置完毕。下载应用前先下载安装根证书ca.crt(用Safari浏览器可以直接安装,其他浏览器不认)

优点:自己搭建服务器自主性高,自己可以随便操作。

缺点:如果不是购买的SSL证书(买证书比较贵),需要安装ca根证书,这比较麻烦,用户体验也不是很好。



二、使用第三方https服务器


网上介绍用dropbox,其实dropbox就是一个https服务器,同时又可以把文件上传上去,并提供https方式下载。

只要把plist文件上传至dropbox上,代码中下载应用的url改成dropbox下载plist文件的地址即可。

关于用dropbox下载的方式可以参考http://blog.csdn.net/mideveloper/article/details/21237761

优点:第三方现成的服务器,免费,省心。

缺点:一般只能用作测试,在生产环境上用让人不放心;同时服务器在国外,国内使用比较慢;服务支持到何时也不好说。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息