利用用户自己的server、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、server端、client证书生成步骤

下面命令在命令提示符窗体中运行。(路径:证书所在目录路径)

1.生成server的私钥:

openssl genrsa -out server.key 1024

2.生成签署申请(注意除Common Name以外能够为空,Common Name必须为server的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必须为server的ip或域名(内外网区分) organizationName必须和上一次一致):

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

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

   CA为站点server签署证书:

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

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

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

7.使用jetty中的PKCS12Import工具类完毕转换,password同上.(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    


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



4、tomcatproject配置

1)配置server端证书

打开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为文件生成的位置生成证书时输入的password。

加入之后效果:

2)project配置(目录中有样例)


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

yjoa.plist:配置文件

url改动为该tomcatproject訪问地址。

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

index.html文件:訪问页面。

client下载:href的前半部分“itms-services://?action=download-manifest&url=”为固定写法。url之后的更改,https:// + ip + port +project名 + jj.plist

注意:是https不是 http。port为https的port不是tomcatprojectport,上面设置的是8443

证书下载:hreftomcatproject訪问地址。

 

5、终端安装证书和软件

终端在浏览器地址栏里输入tomcatproject訪问地址(使用自带Safari浏览器):

IOS7.1版本号的,先安装证书、再点击client安装就可以。

 

6、注意点

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

2tomcat版本

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

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

5)证书生成时。password要记住。

6index.html中的.plist文件的地址,採用https协议及port。

7index.html中的证书位置和.plist文件里的安装包位置均採用tomcatproject路径。

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。 易用性   易用性是 Jetty 设计的基本原则,易用性主要体现在以下几个方面:   通过 XML 或者 API 来对 Jetty 进行配置;默认配置可以满足大部分的需求;将 Jetty 嵌入到应用程序当中只需要非常少的代码; 可扩展性   在使用了 Ajax 的 Web 2.0 的应用程序中,每个连接需要保持更长的时间,这样线程和内存的消耗量会急剧的增加。这就使得我们担心整个程序会因为单个组件陷入瓶颈而影响整个程序的性能。但是有了 Jetty:   即使在有大量服务请求的情况下,系统的性能也能保持在一个可以接受的状态。利用 Continuation 机制来处理大量的用户请求以及时间比较长的连接。 另外 Jetty 设计了非常良好的接口,因此在 Jetty 的某种实现无法满足用户的需要时,用户可以非常方便地对 Jetty 的某些实现进行修改,使得 Jetty 适用于特殊的应用程序的需求。 易嵌入性   Jetty 设计之初就是作为一个优秀的组件来设计的,这也就意味着 Jetty 可以非常容易的嵌入到应用程序当中而不需要程序为了使用 Jetty 做修改。从某种程度上,你也可以把 Jetty 理解为一个嵌入式的Web服务器。   Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值