说明

一、制作自签名服务器证书(本例使用openssl制作),若有购买第三方权威证书颁发机构的证书,此步骤直接略过
二、搭建https服务器(本例使用macOS Sierra 10.12.5系统自带的apache服务器)
三、制作下载的plist文件和下载html

第一步:制作自签名SSL证书

1)创建根证书的私匙ca.key

  1. openssl genrsa -out ca.key 2048

2)根据私钥ca.key创建根证书ca.crt

  1. openssl req -new -x509 -days 36500 -key ca.key -out ca.crt -subj
  2. "/C=CN/ST=BeiJing/L=HaiDian/O=YonYou/OU=YonYouRootCA"

这里需要注意的是/C表示国家(Country),只能是国家字母缩写,如CN、US等;/ST表示州或者省(State/Provice);/L表示城市或者地区(Locality);/O表示组织名(Organization Name);/OU其他显示内容,一般会显示在颁发者这栏。

3)创建web服务器证书私钥server.key

  1. openssl genrsa -out server.key 2048

4)根据私钥server.key创建web服务器证书请求文件server.csr

  1. openssl req -new -key server.key -out server.csr -subj
  2. "/C=CN/ST=BeiJing/L=HaiDian/O=YonYou/OU=iuapMobile/CN=123.103.9.204"

这里需要注意的是,/O字段内容必须与刚才的CA根证书相同;/CN字段为公用名称(Common Name),必须为访问网站的域名或者IP;/OU其他显示内容。

5)使用根证书ca.crt和服务器请求文件server.csr签发服务器证书server.crt

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

这里需要注意的是出现这个错误:
I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory
出现错误处理(以下命令仅供参考,这个是Linux/mac下的终端使用的),如果是windows,请根据命令,手动完成操作:
mkdir demoCA //这个是创建demoCA目录
cd demoCA //这个是进入demoCA目录
touch index.txt //这个是创建index.txt文件
touch serial //这个是创建serial文件
mkdir newcerts //这个是创建demoCA目录
echo 00 > serial //这个是编辑serial文件,讲serial文件内容修改为00
cd .. //这个是回到上一级目录
回到当前目录重新执行即可完成签发server.crt

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

如图:

此处得到我们需要的ca.crt,server.key,server.crt这三个文件

目录结构如图:

第二步:apache服务器配置https功能

1)将制作的证书ca.crt,server.key,server.crt拷贝到apache根目录下

2)修改httpd.conf文件配置

apache/conf/httpd.conf,编辑这个文件去掉这两行前面的 ‘#’
LoadModulessl_module modules/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf

3)配置extra/httpd-ssl.conf文件

确认这个文件中证书的SSLCertificateFile和SSLCertificateKeyFile路径和放入的证书文件路径一致(若有CA证书,则修改SSLCACertificateFile位置即可)
一般证书提供对应关系如下
server.crt SSLCertificateFile
server.key SSLCertificateKeyFile
ca.crt SSLCACertificateFile

配置文件信息及文件路径 如图:

4)访问https://ip,即可看到it works页面

第三步:plist文件制作及下载页面(注意下载地址均为https)

1)找一个plist文件,修改其中的内容,内容对应如下(这里的值为样例):


plist样例文件下载

software-package:ipa包下载地址=https://10.6.253.98/test.ipa
full-size-image:(非必要)图标下载地址=https://10.6.253.98/test.png
display-image:(非必要)图标下载地址(这个可以和full-size-image一样)=https://10.6.253.98/test.png
bundle-identifier:ipa包的bundleid=com.yonyou.uap.mobile
一般情况下,plist文件需要修改的就是这三个下载地址,也就是这三个文件的下载地址,需要是https的下载地址

2)配置下载

苹果ipa包安装的话,需要使用safari浏览器打开如下链接
itms-services://?action=download-manifest&url=https://10.6.253.98/test.plist

注意看链接:&url=https://10.6.253.98/test.plist
这个指向pist文件下载地址

在apache访问的根目录下创建download.html和放入ca.crt、test.plist、test.ipa、test.png
页面代码:
点击安装ca证书
点击下载安装包

3)访问页面

先点击”点击安装ca证书”安装ca证书(若使用第三方权威证书颁发机构的证书,此步省略)
再点击”点击下载安装包”安装ipa文件

4)用友内网用户如果有使用过测试服务器123.103.9.204的下载,就是这么做的。

注意:
1、使用自签名证书的服务器,需要ios设备安装此服务器的ca.crt
2、若是ios10.3用户,还需要在(关于本机-证书信任设置)信任本服务器
3、ipa包必须为299美元证书打的包
4、页面最好用safari浏览器打开

文档更新时间: 2020-12-31 11:07