用tomcat配置https自签名证书,解决 ios7.1以上系统苹果inHouse发布不能下载安装的问题教程,
话说,我其实最讨厌配置某某环境了,因为某一个小环节一旦出错,你的所有工作往往会功亏一篑,而且蛋疼到不行也不知道哪里出了错,我发布的的这个福利,虽然网上也有很多,
但是都很零碎,有的资料还有错误,有的资料又不全,你说这样的情况,怎么不让我们搞的头疼,不过在此感谢哪些热心提供资料的人,现在既然我把它弄好了,就为大家做做贡
献吧。
我目前给大家展示的是windowserver2003环境下搭建的,我也有mac环境下的,我这里也有两种环境下所需要的软件包,如果有人需要的,可以与我联系。
windows Server 配置过程
一、环境搭建
1. 安装tomcat
a、下载地址:http://tomcat.apache.org/download-60.cgi
b、下载时候你机器的Tomcat版本,这里我选择:
apache-tomcat 6.0.14.zip
c、然后解压到:C:\apache-tomcat-6.0.14,你可以去配置系统变量等设置,也可以不配。
2. 安装JDK
tomcat需要安装与其配套的JDK否则无法运行。下载地址这里就不提供了,自己网上去搜索。这里选择jdk-6u1-windows-i586-p.exe
一路下一步,到如下图所示时,更改到你想要的路径,我这里是:C:\ jdk1.6.0_02\
3. 配置tomcatJDK路径
只需要在apache-tomcat-6.0.29/bin/setclasspath.bat文件里的开头加上以下代码就可以了:
set JRE_HOME= C:\ jdk1.6.0_02\
set JAVA_HOME= C:\ jdk1.6.0_02\
set JSSE_HOME= C:\ jdk1.6.0_02\
也可以将jdk放在tomcat目录下,然后将上面的内容更改为:(ps:这种没测试过,我用的上一种)
set JRE_HOME="%CATALINA_HOME%/jdk5.0"
set JAVA_HOME="%CATALINA_HOME%/jdk5.0"
set JSSE_HOME="%CATALINA_HOME%/jdk5.0"
这样部署项目的时候我们只需要把tomcat放到任意的目录就OK了
4运行测试tomcat
由于我们没有配置环境变量,所以需要进入tomcat的bin目录。
a、 打开cmd ,
b、cd C:\ jdk1.6.0_02\bin
c、startup.bat
e、 浏览器中输入:http://localhost:8080
如果出现了tomcat的欢迎页面说明配置正确了,如果浏览器为空白说明你配置错误,你应该检查控制台输出的错误或警告信息,然后进行改正。
5、安装vcredist_x86
这个的东西是安装openssl的环境,安装oenssl前需安装此环境。
6、安装openssL
a网上搜索Win32OpenSSL-1_0_1g.exe,下载一个。
一路下一步,然后把安装路径设置在C:\Win32OpenSSL\
二、制作证书
在c目录下创建ca文件夹:c:\ca\文件用于存放我们制作证书过程中产生的文件。
打开cmd
cd C:\Win32OpenSSL\bin
1、创建制作根证书的私钥文件:
openssl genrsa -out c:\ca\myCA.key2048
私钥文件名为myCA.key。
2、然后创建根证书:
openssl req -x509 -new-key c:\ca\myCA.key -out c:\ca\myCA.cer -days 730 –subj /CN="My CustomCA"
根证书文件名为myCA.cer,机构名称为My Custom CA。
二、制作自签名SSL证书(叶证书)
1、首先创建一个私钥:
openssl genrsa -out ca:\ca\server.key2048
私钥文件名为server.key。
2、然后创建CSR:
openssl req -new -out c:\ca\server.req-key c:\ca\server.key -subj /CN=xxx/CN=xxx/CN=localhost
这里假设服务器的”xxxx”为服务器ip地址如:192.168.2.1。输出文件为server.req。
3、然后用CSR 去创建SSL 证书:
openssl x509 -req -in c:\ca\server.req-out c:\ca\server.cer -CAkey c:\ca\myCA.key -CA c:\ca\myCA.cer -days 36500-CAcreateserial -CAserial c:\ca\server.serial
这里我们假设有效期为100年,输出文件为server.cer,序号文件为server.serial(撤销证书时使用)。
4、将.key 和.cer 文件导出为.p12 证书:
openssl pkcs12 -export-in c:\ca\server.cer -inkey c:\ca\server.key -out ca:\ca\server.p12 -name"server"
根据命令提示,需要输入两次证书密码。这里我们假设密码为1234。输出文件名为server.p12。
5、将.p12 文件导入到java keystore 中:
keytool -importkeystore-v -srckeystore c:\ca\server.p12 -srcstoretype pkcs12 -srcstorepass 1234 -destkeystorec:\ca\server.keystore -deststoretype jks -deststorepass 1234
这里srcstorepass后面的1234为server.p12的密码deststorepass后的1234为keyStore的密码。
三、使用SSL证书
将最后得到的keystore 文件(server.keystore) 放在web 服务器上。例如Tomcat 目录的conf 目录下。
然后修改server.xml:
<Connectorport="8443"protocol="org.apache.coyote.http11.Http11Protocol"SSLEnabled="true"
maxThreads="150"scheme="https"secure="true"
keystoreFile="C:/apache-tomcat-6.0.14/bin/conf/server.keystore" keystorePass="1234"
clientAuth="false"sslProtocol="TLS" />
PS:protocal为上面的提供的内容,tomcat默认内容有可能会出错,注意keyStoreFile的路径斜杠为:”/”;
重启Tomcat,
进入Tomcat的bin目录:
a、 shutdown.bat
b、 startup.bat
通过以下地址访问https 服务:https://localhost:8443/ 或者https://192.168.2.1:8443/。
如果看到了tomcat的欢迎页则说明配置成功。
三、安装证书
找到c:\ca\文件夹,复制到tomcat的webApp文件夹下
四、安装ipa
把你配置好的ipa相关路径全部改为https接口访问,恭喜你,如果你没出现无法链接xxxx,或证书为NULL,之内的警告,说明你就成功了。