你的位置:首页 > 操作系统

[操作系统]服务器开启https协议

开启Tomcat https服务

发布企业级应用的时候遇到一个问题,就是IOS7.1之后app的下载地址URL必须是https开头的协议,所以服务器必须支持https协议。

实验环境:Mac OSX 或者 win7,Tomcat 7.0,JDK 1.7

一.环境搭建
1. 安装tomcat
a.下载地址:http://tomcat.apache.org/download-70.cgi

b.下载你机器的Tomcat版本
2. 安装JDK

tomcat需要安装与其配套的JDK否则无法运行。

  1. 配置tomcatJDK路径
    4运行测试tomcat
    浏览器中输入:http://localhost:8080
    如果出现了tomcat的欢迎页面说明配置正确了,如果浏览器为空白说明你配置错误,你应该检查控制台输出的错误或警告信息,然后进行改正。
    5、安装vcredist_x86
    这个的东西是安装openssl的环境,安装oenssl前需安装此环境。
    6、安装openssL
    a网上搜索Win32OpenSSL-1_0_1g.exe,下载一个。
    一路下一步,选择安装路径进行安装 (我选择的是D:\OpenSSL-Win32\)

 

二、制作自签名CA 证书(根证书)

CA证书的制作有两个步骤:

1、创建一个私钥文件:

opensslgenrsa -out myCA.key 2048

私钥文件名为myCA.key。

2、然后创建根证书:

openssl req -x509 -new -key myCA.key -out myCA.cer -days 730 -subj/CN="My CustomCA"

根证书文件名为myCA.cer,机构名称为 My Custom CA。

三、制作自签名SSL 证书(叶证书)

1、首先创建一个私钥:

opensslgenrsa -out server.key 2048

私钥文件名为server.key。

2、然后创建CSR:

opensslreq -new -out server.req -key server.key -subj /CN=127.0.0.1/CN=192.168.31.128/CN=localhost

这里假设服务器的IP为192.168.2.1。输出文件为 server.req。

3、然后用CSR去创建 SSL 证书:

opensslx509 -req -in server.req -out server.cer -CAkey myCA.key -CA myCA.cer -days36500 -CAcreateserial -CAserial server.serial

这里我们假设有效期为100年,输出文件为server.cer,序号文件为 server.serial(撤销证书时使用)。

4、将.key 和 .cer 文件导出为.p12 证书:

opensslpkcs12 -export -in server.cer -inkey server.key -out server.p12 -name"server"

根据命令提示,需要输入两次证书密码。这里我们假设密码为 keypass。输出文件名为 server.p12。

5、将.p12 文件导入到 java keystore 中:

keytool-importkeystore -v -srckeystore  server.p12 -srcstoretype pkcs12-srcstorepass keypass -destkeystore server.keystore -deststoretype jks-deststorepass keypass

这里我们假设keystore 文件名为 server.keystore,keystore密码为 keypass。

四、使用SSL 证书

将最后得到的keystore 文件 (server.keystore) 放在web 服务器上。例如 Tomcat 目录的conf 目录下。

然后修改server.

<Connectorport="8443" protocol="org.apache.coyote.http11.Http11Protocol"SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

keystoreFile="D:/CA/server.keystore" keystorePass=" keypass"

clientAuth="false" sslProtocol="TLS" />

重启Tomcat,通过以下地址访问 https 服务:

https://localhost:8443/ 或者https://192.168.2.1:8443/。