博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS企业App应用的安装及https证书生成
阅读量:6257 次
发布时间:2019-06-22

本文共 2120 字,大约阅读时间需要 7 分钟。

hot3.png

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才能正常下载

原创文章,转载请注明出处:

转载于:https://my.oschina.net/daniels/blog/675352

你可能感兴趣的文章
oracle Wallet的使用
查看>>
Scala-基础-运算符
查看>>
直接在存储过程里面写sql语句的话 ,会返回操作的结果
查看>>
2019-4-25 html学习笔记
查看>>
团队作业
查看>>
DL一(ML基础知识)
查看>>
Python3使用tkinter编写GUI程序
查看>>
在vue项目中使用monaco-editor
查看>>
计蒜客 蓝桥杯模拟二 区间合并 打扫教室
查看>>
PAT 天梯杯 L2-014 列车调度
查看>>
中南林业科技大学第十一届程序设计大赛 背包问题 牛客网
查看>>
关于使用索引的一些经验
查看>>
c实现的trim函数
查看>>
java模式:建造者模式
查看>>
观影识人生
查看>>
ofbiz安装优化
查看>>
字符串
查看>>
Python time.time()方法
查看>>
第六次毕业设计任务书
查看>>
Spring 中的 Resource和ResourceLoader
查看>>