iOS7.1以后企业应用发布需要HTTPS协议,因此如何搭建基于HTTPS的iOS发布环境,是每个iOS发布者必须面对的问题,下面记录下自己的发布步骤:
1)从Apache官网 http://httpd.apache.org/ 下载 Apache,我下载的是 Apache 2.2.31 x64 ,如果下载较新版本的话,还需要下载 VCRUNTIME140.dll
2)解压下载包,启动CMD,进入bin 目录。
3)执行 openssl genrsa -out server.key 1024 生成服务器密钥文件。
4)执行 openssl req -new -out server.csr -key server.key 根据密钥文件生成签署文件,其中Common Name的值必须是你的服务器ip或者是域名。
5)执行 openssl genrsa -out ca.key 1024 生成客户端密钥文件。
6)执行 openssl req -new -x509 -days 365 -key ca.key -out ca.crt 生成客户端的签署文件,填写的内容和第四步一致即可。
7)在当前目录下创建demoCA文件夹,并在demoCA下创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts
8)执行 openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key让客户端的签署证书能够被网站服务器的签署证书认识
9)执行 openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12把服务端签署证书转换浏览器可以识别的PCS12格式,密码使用上面输入的密码
10)下载 jetty-5.1.10.jar 需要放置到当前文件夹中
11)执行 java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12 server.jks,使用jetty中的PKCS12Import工具类完成转换,密码同上
12)其中的三个文件最有用,分别是server.p12(tomcat配置用)、server.jks(tomcat配置用)、ca.crt(客户端证书,需要iOS设备下载安装)
13)开Tomcat的目录,找到conf下的server.xml文件,打开找到被注释的8443端口部分,修改成如下内容:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false"
keystoreFile="server.p12" keystorePass="111111" keystoreType="PKCS12"
truststoreFile="server.jks" truststorePass="111111" truststoreType="JKS"/>
14)iOS应用下载地址:<A href="itms-services:///?action=download-manifest&url=https://IP:8443/app/ios/app.plist">
15)iOS终端 先安装 ca.crt, 然后访问下载地址即可下载成功。