前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过OTA的方式在局域网分发iOS应用

通过OTA的方式在局域网分发iOS应用

作者头像
Jianbo
发布2018-01-08 18:07:27
2K0
发布2018-01-08 18:07:27
举报
文章被收录于专栏:守望轩守望轩

公司的一个项目有Android和iOS的app,Android的下载和安装都很方便,不过iOS有些麻烦,因为项目本身有些限制,主要有以下一些障碍: 1.iOS的版本不是通过Appstore分发。 2.出于安全的考虑,Android和iOS的app只能通过V**的方式来访问服务器,而手机通过V**后是无法访问互联网的。因此无法访问互联网的相关HTTPS的服务,换句话说就是无法使用互联网的SSL证书的web服务。 3、iOS的版本大于7.1的,因此apple的itms-services协议必须实用HTTPS。

鉴于上面这些障碍,于是考虑在局域网搭建内部HTTPS的服务,通过OTA(Over-the-Air)方式来分发iOS的应用。

OTA

OTA即Over-the-Air,简单来说就是通过无线的方式发送指令给设备,具体针对iOS的设备,比如iphone 、ipad等,让开发者能够脱离Appstore,实现从自己的服务器下载并安装iOS应用。 用户只需要在iphone 或ipad的浏览器中点开一条链接,就能直接在主界面中安装App。整个分发的过程包括三部分:设备(iPhone,ipad),服务器(profile service,用来发送配置文件),验证服务器(包括CA和目录服务器)。

OTA分发的实现方式

针对iOS应用分发,需要在服务器里上包括三个文件,来实现OTA方式的分发

1.ipa文件,也就是应用安装包,可以是开发者证书签名的,也可以是企业证书。 2.plist文件,主要用来说明iOS应用的安装信息,主要的安装信息包括ipa文件的名称和存放路径。可以通过Xcode来创建plist文件,具体创建过程和plist文件这里就不赘述了。 3、一个提供itms-services协议链接的页面,同时该页面是通过HTTPS的方式访问。itms-services协议链接指向plist文件的路径,例如:

<a href="itms-services://?action=download-manifest&url=https://192.168.0.1/appipa.plist">Install App</a>

有了上面三个文件,apple设备就可以通过提供HTTPS服务器,读取plist文件的iOS安装的ipa文件的路径,从而实现下载和安装。

自建OpenSSL证书

由于提供HTTPS的服务只能在局域网内部,因此SSL证书不能使用相关CA机构颁发的,且证书不是基于域名,是基于ip地址的,因此只能采用自制证书。在这里我采用的是OpenSSL配置Tomcat 的SSL证书,OpenSSL使用是windows 版本的Apache服务器下的openssl.exe生成。 步骤如下(采用命令行的方式):

1.生成服务器的私钥 openssl genrsa -out server.key 1024

2.生成签署申请(Common Name必须为服务器的ip或域名) openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf

3.生成CA私钥 openssl genrsa -out ca.key 1024

4.用CA的私钥产生CA的自签署证书 openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -config ..\conf\openssl.cnf

5.创建demoCA(bin目录下) demoCA里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts

6.生成网站服务器签署证书 openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf

最后把生成好的server.crt 和server.key路径配置到Apache服务器的openssl.cnf配置文件里(具体配置见相关文档),重新启动Apache服务器即可。

SSLCertificateFile “/Apache22/conf/ssl2rver.crt” SSLCertificateKeyFile “/Apache22/conf/ssl2rver.key”

客户端证书ca.crt可以通过下载或者email方式提供给iOS 设备安装,不过有一点要注意:由于这是自签名的SSL证书,是不可信任的,因此需要在iphone 或ipad 里手动设置信任证书。

安装完客户端证书后,就可以通过iphone 或ipad的浏览器来访问提供itms-services协议链接的页面,下载和安装iOS的应用了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-4-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OTA
  • OTA分发的实现方式
  • 自建OpenSSL证书
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档