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. img src某个php文件输出图片(回复更改图片readfile读取图片等)

    在论坛我们经常看到一回复图片就更改等,这功能是怎么实现的呢,其实更验证码道理相同. 新建文件 randimage.php 加入以下代码: <?php $dir='../../images/'; ...

  2. 扩展 Windows Azure 运营能力 – 巴西

    今天早些时候,在巴西圣保罗的一个活动上,我宣布了我们将在巴西设立一个 Windows Azure 区域数据中心的计划.我们希望该区域中心可以在 2014 年年初上线,并且我们很高兴地宣布将在未来 4 ...

  3. zepto.js介绍(持续更新)

    前言: zepto是一个简化版的jQuery,主要针对移动端开发. 简化了jQuery里很多的浏览器兼容性代码,jQuery的很多方法都被拿掉了(eg:slideUp). WP设备兼容性很差. 官方链 ...

  4. C#面向对象2 静态类、静态成员的理解

    理解:静态成员属于类所有,为各个类的实例所公用,与实例无关,需要全局共享的属性或者方法定义成静态的 C#静态成员:  1.静态成员属于类所有,故用类名调用,非静态成员属于类的实例所有,用实例名调用  ...

  5. 编译kernel:配置

    韦东山Linux视频第1期_裸板_UBoot_文件系统_驱动初步\第10课第2节 内核启动流程分析之配置.WMV 下面以DM9000的配置为例: 在一个编译好的内核代码里,寻找CONFIG_DM900 ...

  6. C++ Primer学习笔记2--c++标准库中的 vector、string 和 bitset 类型

    一.string    #include <string>  using std::string    初始化函数:    string s1;        默认构造函数 s1 为空串 ...

  7. [置顶] RFS的web自动化验收测试——常见问题指引

    引言:什么是RFS——RobotFramework+Selenium2library,本系列主要介绍web自动化验收测试方面. ( @齐涛-道长 新浪微博) 下面的内容还没整理好,先发个问题解决机制吧 ...

  8. Java里的日期和时间学习

    Date date = new Date();//yyyy-mm-dd hh:mm:ss[.fffffffff] SimpleDateFormat sdf = new SimpleDateFormat ...

  9. MFC 在对话框显示图片的多种方法(四种方法)

    我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基 ...

  10. javascript 中对this关键字的一些理解

    var self = this 可能会觉得奇怪为什么我会定义一个_self的变量, 因为在js里,this不用对于其他的对象语言,他的解析过程与运行过程中this会改变的.这里简单说说js里this的 ...