文档章节

tomcat 搭建IOS应用发布服务器

q叉烧p
 q叉烧p
发布于 2014/11/20 15:23
字数 1077
阅读 2882
收藏 13

操作系统是Window下。

第一步安装软件

1、安装Tomcat6.0.35(Tomcat7.0.34测试通过)

2、安装JDK6(1.6.0_10-rc2,其它版本没测试)

3、安装openssl

第二步配置软件

1、将jdk、jre和openssl的bin目录设置到path环境变量下

第三步生成证书

1、创建一个目录,进入cmd命令行下,通过cd命令进入该目录

2、在指定的目录下运行命令:openssl genrsa -out server.key 1024生成服务器密钥文件。

如果目录下生产server.key的文件,并且文件大小不为0,则说明成功。

如果没成功,查看输出的内容中是否有提示“\usr\local\ssl\openssl.cnf”找不到的问题,如果遇到这个问题,说明你并没有按照第四步的要求将openssl设置到path中,解决的办法有2个,第一个完成第四步openssl的path设定,第二个是将openssl的bin目录下的文件“openssl.cfg”修改个名字,然后在c盘下创建“\usr\local\ssl\”目录,将文件复制进去。

3、再运行命令:openssl req -new -out server.csr -key server.key根据密钥文件生成签署文件。

其中各个设置项中,除了Common Name其它的各项都可以为空,不过为了后期你好辨别证书,最好不要设置空,其中Common Name的值必须是你的服务器ip或者是域名,本机测试的话可以用localhost,但是如果要通过移动设备来访问就不能设置成localhost。

4、再运行命令:openssl genrsa  -out ca.key 1024生成客户端密钥文件。

5、再运行命令: openssl req  -new -x509 -days 365 -key ca.key -out ca.crt生成客户端的签署文件。

填写的内容和第三步一致即可,其中organizationName必须和第三步的一致

6、在当前目录下创建demoCA文件夹,并在demoCA下创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts

7、在命令行中输入:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key让客户端的签署证书能够被网站服务器的签署证书认识

8、运行命令openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12把服务端签署证书转换浏览器可以识别的PCS12格式,密码使用上面输入的密码“123456”。

9、运行命令java -cp jetty-5.1.10.jar org.mortbay.util.PKCS12Import server.p12  server.jks,使用jetty中的PKCS12Import工具类完成转换,密码同上.(jetty-5.1.10.jar需要放置到当前文件夹中)

如果出现错误:说明你的jetty-5.1.10.jar没有复制到命令行的当前文件夹下。

10、如果你好奇,可以通过命令行keytool -v -list -keystore server.jks  查看下文件的签署内容。

 以上过程总共生成7个文件,我们只关心其中的3个文件,分别是server.p12(tomcat配置用)、server.jks(tomcat配置用)、ca.crt(客户端证书,需要iOS设备下载安装)。

第四步配置Tomcat服务器

 1、打开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="D:/apache-tomcat-6.0.35/webapps/ROOT/ca/server.p12"  keystorePass="123456"      keystoreType="PKCS12"

        truststoreFile="D:/apache-tomcat-6.0.35/webapps/ROOT/ca/server.jks"  truststorePass="123456"      truststoreType="JKS"/>

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

我的工程是发布到ROOT下的,需要你将几个文件同时复制到该文件下:server.p12、server.jks、ca.crt;其中server.p12、server.jks是tomcat的server.xml配置文件要用到的,而ca.crt文件是要发布出去,以供iOS设备下载安装的客户端证书。

另外服务器端也需要安装server.crt证书(如果是仅仅为iOS下载应用服务,这个证书可以不安装),这个证书需要安装到受信任的根目录下。步骤如下:

双击server.crt->安装证书->下一步->选择”将所有的证书放入下列存储”->浏览选择“受信任的根证书颁发机构”->剩下的一路点“是”即可。

先关的软件,以及每个步骤的详细的页面截图和说明,请到下面地址进行下载:

http://download.csdn.net/detail/zenjamin/7341345

© 著作权归作者所有

q叉烧p
粉丝 21
博文 76
码字总数 75416
作品 0
东莞
程序员
私信 提问
加载中

评论(3)

八一菜刀
八一菜刀
不行啊,楼主,按你的方法 试过 IOS报无法连接 错误
q叉烧p
q叉烧p 博主
keytool -importkeystore-v -srckeystore c:\ca\server.p12 -srcstoretype pkcs12 -srcstorepass 123456 -destkeystorec:\ca\server.keystore -deststoretype jks -deststorepass 123456
q叉烧p
q叉烧p 博主
keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore server.jks
使用 Xamarin 开发 iOS 键盘扩展(含网络访问)

版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/...

walter lv
02/24
0
0
【书坊赠书福利——第二期】《iOS 8开发指南》

本周是人邮IT书坊赠书的第二期,第一期参与度极高,微信君在此感谢你们的支持,第一期获奖赠书已全部寄出。 本周赠品 本周,微信君给大家推荐@人民邮电出版社-信息技术分社 刚刚上架的新书《...

生气的散人
2014/09/23
381
0
React Native--打包iOS应用

第一步:导出js bundle包和图片资源 我们需要将JS部分的代码和图片资源等打包导出,然后通过XCode将其添加到iOS项目中。 导出js bundle的命令 在React Native项目的根目录下执行: 通过上述命...

PetitBread
2018/09/10
0
0
移动应用和游戏开发两个阶段在线视频培训的未来计划

在51CTO学院开线上视频课程已经3个多月了,也上了不少课。不过发现还有很多课没有开。现在就将未来的开课计划公布一下。计划分为两个阶段。第一阶段主要是Cocos2d-x和Cocos2d-js的游戏开发培...

androidguy
2018/06/29
0
0
苹果已经准备向运营商伙伴发布 iOS 8.0.1 测试版

距离苹果9月9日媒体发布会只剩下4天的时间了,毫无疑问的是苹果会在发布会上公布 iOS 8 相关的计划。现在,根据 BGR 网站报告,苹果已经准备向运营商合作伙伴发布 iOS 8.0.1 测试版。目前,i...

oschina
2014/09/06
248
0

没有更多内容

加载失败,请刷新页面

加载更多

北漂的生活成本到底有多大?聊一聊我最真实的感受

北京的生活成本是不是很大?这是很多朋友心中的困惑,有很多我身边的朋友在没毕业之前就觉得北京的生活成本很大,在找工作的时候直接放弃了找北京工作的打算,目标定向了成都、杭州、西安等这...

gzc426
27分钟前
10
0
Hystrix 分布式系统限流、降级、熔断框架

为什么需要Hystrix 在大中型分布式系统中,通常系统很多依赖,如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时...

Java架构师ya七
47分钟前
7
0
YUM仓库配置及命令详解

导读 通过源代码编译的方式安装程序在灵活性、可定制性方面具有无可比拟的优势,但也正因为这种特性给管理员带来了额外的维护开销,当应用在大规模的服务器群集时存在一定的局限性。那么就需...

问题终结者
今天
13
0
docker初学者

docker简介 在真正使用这项技术之前很难深刻的理解它的概念。 从简单的方面来说,docker就是一个轻量级的虚拟机。接下去的学习首先不妨抱着这个想法来看,让后慢慢寻找差别,最终我们会回来试...

街角的小丑
今天
18
0
了解下Hz单位的意思

今天看到计组的突然看到Hz这个单位,突然不知道它是啥意思,就百度了解啦下。 赫,是频率的基本单位,为纪念验证电磁波存在的德国物理学家海因里希·鲁道夫·赫兹(Heinrich Rudolf Hertz)而...

南桥北木
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部