ITMS-SERVICES://方式安装IPA在IOS 7.1中的变化

转:https://laoyur.com/?p=414

iOS7.1中,通过itms-services://方式安装ipa已经发生了改变,.plist文件必须是https://的,.ipa文件的链接则依然可以是http://的。

目前的解决方案大致有以下几种:

  • Dropbox大法。
    把plist文件放到Dropbox上,生成一个https的下载链接。
  • 用StarSSL之类的免费SSL服务获得SSL证书,来加密你的服务器。
  • 没钱的穷屌丝可以自建CA,生成自签名SSL证书加密你的服务器,然后为你的CA建一个profile,profile扔到你的http服务器,用户点击即可进行安装。详情请猛击:http://stackoverflow.com/a/22767699

 


Updated:2014年05月21日

以上是我整理的,但一直未曾真实尝试。今天,实践了一下方案3——自建CA大法。下面把详细步骤和注意事项贴出来。

  • 创建CA。钥匙串访问-证书助理-创建证书颁发机构

     

    QQ20140521-2

  • 信任该CA。此步骤不是必须的,但建议执行
    QQ20140521-3 QQ20140521-4 QQ20140521-5
  • 创建csr文件。该文件用于向CA请求生成证书用
    QQ20140521-6 QQ20140521-7 QQ20140521-8
  • 使用csr文件创建ssl证书。
    QQ20140521-9 QQ20140521-10 QQ20140521-11 QQ20140521-12 QQ20140521-13 QQ20140521-14 QQ20140521-15 QQ20140521-16
  • 导出CA证书,导出为cer文件。这个cer文件需要安装到用户的iOS设备中。如何安装呢?最简单的办法是将cer文件放到你的网站上让用户通过safari下载。cer文件的URL只要http即可。
    QQ20140521-17 QQ20140521-18
  • 导出ssl证书,默认导出p12
    QQ20140521-19 QQ20140521-20
  • 使用openssl将ssl证书的p12文件转换为pem格式。这个pem文件即为最终的SSL证书文件。ssl证书是放在你的服务器上的,用来标示你的server。至于如何把这个pem证书安装到你的server,不同的server则不同,故本文不予叙述。
    1 openssl pkcs12 -in yourserverdomain.com.p12 -out yourserverdomain.com.pem -nodes -clcerts

    以上命令会提示输入密码,就是上面乱设的那个。

    好吧,还是补充一下如何在amh的虚拟主机上配置SSL证书。amh默认是不带SSL功能的,在其模块扩展中搜索SSL,会出来个BBShijieSSL-1.1插件,安装并启用即可。配置密钥和证书的时候,以文本方式打开pem文件,将—–BEGIN RSA PRIVATE KEY—–开头部分填到密钥中,将—–BEGIN CERTIFICATE—–开头部分填到证书中,保存即可。

  • 接下去就是常规的itms-services://步骤了,相信不用我复述了吧。唯一需要注意的是,plist文件的URL必须是https的。

 

2 Thoughts on “itms-services://方式安装ipa在iOS 7.1中的变化”

你可能感兴趣的:(service)