利用用户自己的服务器、tomcat下的解决iOS7.1企业应用无法安装应用程序 因为证书无效的问题

 

 

   

1、环境

1)操作系统:Windows server 2003Windows server2008

2JDKjdk 1.6

3apache-tomcat-6.0.35(注意版本号,版本6.0.18测试未通过)

4)网络:互联网、专网测试均通过。

2、使用到的软件、jar包

1Win32OpenSSL_Light-1_0_1g.exe(将bin目录设置到path环境变量中,需在命令提示符窗口使用openssl等命令)

2jdeclipse_update_site_uncomplie_vcredist_x86.exeOpenSSL提醒环境不支持时,安装)

3jetty-5.1.10.jar(放在证书所在的文件夹中)

 

3、服务器端、客户端证书生成步骤

以下命令在命令提示符窗口中执行。(路径:证书所在文件夹路径)

1.生成服务器的私钥:

openssl genrsa -out server.key 1024

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

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

3.生成CA私钥

openssl genrsa  -out ca.key 1024

4.利用CA的私钥产生CA的自签署证书(注意除Common NameorganizationName以外可以为空,Common Name必须为服务器的ip或域名(内外网区分) organizationName必须和上一次一致):

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

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

   CA为网站服务器签署证书:

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

6.把服务端代码转换浏览器可以识别的PCS12格式,密码使用上面输入的密码。

openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12   

7.使用jetty中的PKCS12Import工具类完成转换,密码同上.(jetty-5.1.10.jar在当前文件夹中)

java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12  server.jks  

8.使用下面命令查看jks文件中包含的证书信息

keytool -v -list -keystore server.jks    


至此客户端证书ca.crt以及tomcat服务器证书server.jks已经生成完毕。

4、tomcat工程配置

1)配置服务器端证书

打开tomcat安装目录下的conf/server.xml

加入以下内容

            <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

           SSLEnabled="true" 

           maxThreads="150" scheme="https" secure="true" 

           clientAuth="false"  

    keystoreFile="D:/apache-tomcat-6.0.35/webapps/ipad/ca/server.p12"

           keystorePass="jj" keystoreType="PKCS12"

    truststoreFile="D:/apache-tomcat-6.0.35/webapps/ipad/ca/server.jks"

           truststorePass="jj" truststoreType="JKS"/>

注意:keystoreFilekeystorePass为文件生成的位置生成证书时输入的密码。

添加之后效果:

2)工程配置(文件夹中有例子)

利用用户自己的服务器、tomcat下的解决iOS7.1企业应用无法安装应用程序 因为证书无效的问题

yjoa.jpa:打包生成的软件安装文件。

yjoa.plist:配置文件

url修改为该tomcat工程访问地址。

bundle-identifier为版本的签名信息,与打版本时的签名保持一致。

index.html文件:访问页面。

客户端下载:href的前半部分“itms-services://?action=download-manifest&url=”为固定写法,url之后的更改,https:// + ip + 端口 +工程名 + jj.plist

注意:是https不是 http。端口为https的端口不是tomcat工程端口,上面设置的是8443

证书下载:hreftomcat工程访问地址。

 

5、终端安装证书和软件

终端在浏览器地址栏里输入tomcat工程访问地址(使用自带Safari浏览器):

IOS7.1版本的,先安装证书、再点击客户端安装即可。

 

6、注意点

(1)openssl环境变量和jetty-5.1.10.jar位置

2tomcat版本号

3)生成的证书所在位置、需在tomcatserver.xml中配置

4)证书中的ip地址或域名,若ip地址更改,则证书重新生成。

5)证书生成时,密码要记住。

6index.html中的.plist文件的地址,采用https协议及端口。

7index.html中的证书位置和.plist文件中的安装包位置均采用tomcat工程路径。

  

利用用户自己的服务器、tomcat下的解决iOS7.1企业应用无法安装应用程序 因为证书无效的问题,布布扣,bubuko.com

利用用户自己的服务器、tomcat下的解决iOS7.1企业应用无法安装应用程序 因为证书无效的问题

上一篇:Building a Jabber Client for iOS: Server Setup


下一篇:Oracle内存数据库使用