IOS企业App应用的安装及https证书生成
博客专区 > Daniel_s 的博客 > 博客详情
IOS企业App应用的安装及https证书生成
Daniel_s 发表于2年前
IOS企业App应用的安装及https证书生成
  • 发表于 2年前
  • 阅读 1021
  • 收藏 1
  • 点赞 2
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

IOS应用除了可以正常的在Appstore上面发布外,还可以申请企业证书,自己部署服务器进行发布提供下载;但企业证书在IOS 7.1后,应用的下载需要使用可信任的https发布才能正常下载,否则会提示找不到服务器之类的错误;

首先,需要开发人员生打包一个ipa,并且提供一个plist文件,plist文件可以参考下面的:

plist文件(test.plist):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>items</key>

<array>

<dict>

<key>assets</key>

<array>

<dict>

<key>kind</key>

<string>software-package</string>

<key>url</key>

<string>https://192.168.0.8/test.ipa</string>

</dict>

</array>

<key>metadata</key>

<dict>

<key>bundle-identifier</key>

<string>com.test</string>

<key>bundle-version</key>

<string>1.0</string>

<key>kind</key>

<string>software</string>

<key>title</key>

<string>测试</string>

</dict>

</dict>

</array>

</dict>

</plist>

新建一个页面,假设index.html,内容如下:

1

2

3

<script>

location.href="itms-services:///?action=download-manifest&url=https://192.168.0.8/test.plist";

</script>

或者

1

<a href="itms-services:///?action=download-manifest&url=https://192.168.0.8/test.plist">点击下载</a>

访问:https://192.168.0.8/test.html (使用safari浏览器打开)

注意:plist文件中url的值可以不是https,但页面中,items-services协议后面url参数的必须是https,并且必须是可信任的https,也就是说,如果你在权威机构申请的证书,直接在服务端配置好即可信任,否则,自己生成的证书,客户端必须安装ca证书才能被信任;另外,记得提醒用户只能在safari浏览器中下载,其他浏览器不识别itms-services协议;

如果需要在局域网下载,只能自己生成证书,生成步骤如下:

1.生成服务器的私钥

1

openssl genrsa -out server.key 1024

2.生成签署申请(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名)

1

openssl req -new -key server.key -out server.csr

3.生成CA私钥

1

openssl genrsa  -out ca.key 1024

4.利用CA的私钥产生CA的自签署证书

1

openssl req  -new -x509 -days 365 -key ca.key -out ca.crt

5.在当前目录创建demoCA,里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts

1

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

这样,生成了的文件中有 server.crt,server.key, ca.crt

将 server.crt,server.key配置到服务器上,apache、nginx各不相同,百度一下,很多配置说明的文章,这里就不重述了;另外将ca.crt放入服务根目录,以便用户能访问安装;

服务端配置好证书并重启服务后,此时可以访问https://192.168.0.8/test.html,但仍然不是完全授信的,用户端必须安装ca.crt,才能正常下载;引导用户端访问http://192.168.0.8/ca.crt, safari会直接跳转证书安装界面,安装好证书以后,通过https://192.168.0.8/test.html才能正常下载

原创文章,转载请注明出处:http://it.5yun.com.cn/html/y2015/m07/294.html

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 11
博文 155
码字总数 4133
×
Daniel_s
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: