1、环境

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

)JDK:jdk 1.6

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

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

2、使用到的软件、jar包

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

)jdeclipse_update_site_uncomplie_vcredist_x86.exe(OpenSSL提醒环境不支持时,安装)

)jetty-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
Name和organizationName以外能够为空。Common Name必须为server的ip或域名(内外网区分)
organizationName必须和上一次一致):

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

。index.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配置

)配置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"/>

注意:keystoreFile、keystorePass为文件生成的位置和生成证书时输入的password。

加入之后效果:

)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。

证书下载:href为tomcatproject訪问地址。

5、终端安装证书和软件

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

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

6、注意点

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

)tomcat版本

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

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

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

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

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

利用用户自己的server、tomcat下的解决iOS7.1企业应用无法安装应用程序 由于证书无效的问题的更多相关文章

  1. Tomcat下conf下server.xml的文件配置信息

    Tomcat下conf下server.xml的文件配置信息,基本上不用做任何修改就可以使用,修改的地方就是host区域的一些配置,此文件设置端口为80. 注意:Tomcat配置文件中(即server. ...

  2. [saiku] 在 Tomcat 下部署 saiku

    上一篇介绍了如何配置免登录[免登录进入管理台] 本文主要是一步一步解释如何在Tomcat下部署saiku,为了让你更好更快的使用. 开始之前,假设你已经比较熟悉数据集市数据库,以及如何建立Mondri ...

  3. 利用脚本修改SQL SERVER排序规则

    利用脚本修改SQL SERVER排序规则 编写人:CC阿爸 2014-3-1 l  今年的一项重要工作是对公司所用系统进行繁简的转换,程序转成简体基本很容易解决,但数据库转换成简体,就没那么容易了.经 ...

  4. Tomcat 下4个配置文件详解

    Tomcat 的配置文件由4个 xml 文件构成,context.xml.web.xml.server.xml.tomcat-users.xml 这4个文件.每个文件都有自己的功能与配置方法,下列将逐 ...

  5. tomcat下的work目录和temp目录

    1. tomcat下的work目录 1    用tomcat作web服务器的时候,部署的程序在webApps下,这些程序都是编译后的程序(发布到tomcat的项目里含的类,会被编译成.class后才发 ...

  6. Tomcat启动失败 提示Server Tomcat v7.0 Server at localhost failed to start.六种解决方法

    Tomcat启动失败,提示Server Tomcat v7.0 Server at localhost failed to start 在一次查看自己以前写过的项目中,运行tomcat失败,出现如图提 ...

  7. JFinal 项目 在tomcat下部署

    原文:http://my.oschina.net/jfinal/blog/353062 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任 ...

  8. Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds...

    仰天长啸   Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds... 当启动tomcat时候出现 ...

  9. 在tomcat下部署工程

    xx系统第一期工程完成,今天老大要我去部署系统,从来就没有在tomcat下部署过,一直都是在myeclipse下部署.启动.运行即可,所以这次遇到了几个问题,记录下来. tomcat启动 在安装tom ...

随机推荐

  1. opencv实现连通域

    在本文中使用图像连通域统计使用opencv中的cvFloodFill方法,可是在cvFloodFill方法中CvConnectedComp參数无法返回详细点坐标位置信息,找了些资料.给CvSeq分配空 ...

  2. MVC客户端验证的小示例

    MVC客户端验证的小示例 配置客户端验证的可用性: <configuration> <appSettings>  <add key="ClientValidat ...

  3. EL显示List里嵌套map(Spring MVC3)返回的model

    <c:forEach items="${requestScope.courseList}" var="cMap" varStatus="stat ...

  4. 在SharePoint 2013 中使用文档库Scheduling (计划公布功能)

    本文讲述在SharePoint2013 中使用文档库Scheduling (计划公布功能)的步骤和注意的事项. 文档库Scheduling (计划公布功能) 用于设定当文档通过审批后特定的时间区间内才 ...

  5. UVA 10739 String to Palindrome(dp)

    Problem H String to Palindrome Input: Standard Input Output: Standard Output Time Limit: 1 Second In ...

  6. LA 3942 Remember the Word(前缀树&树上DP)

    3942 - Remember the Word Neal is very curious about combinatorial problems, and now here comes a pro ...

  7. 从M个数中随机选出N个数的所有组合,有序,(二)

    这就是数学中的 A m n 的选取. 共有   m!/n!种可能.. 同样举一个例子吧.. 从12345这五个数字中随机选取3个数字,要求选出来的这三个数字是有序,也就是说从12345中选出来的是12 ...

  8. Swift - 手机摇晃的监测和响应

    摇晃手机也是一种常用的交互手段(比如微信摇一摇功能).iOS SDK中已经将shake事件方便地融合进去了,就像触发touch事件一样简单,发生摇晃事件后程序会自动执行. 1 2 3 4 5 6 7 ...

  9. 基于visual Studio2013解决面试题之0503取最大数字字符串

     题目

  10. 通过IP或socket获取对方的MAC地址

    1.通过已经连接的socket文件获取: int getpeermac( int sockfd, char *buf ) { int ret =0; struct arpreq arpreq; str ...