IOS企业App应用的安装及https证书生成

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,内容如下:

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

 或者

<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.生成服务器的私钥

openssl genrsa -out server.key 1024

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

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

3.生成CA私钥

openssl genrsa  -out ca.key 1024

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

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

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

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

猜你喜欢

转载自senon.iteye.com/blog/2226338