您的位置:首页 > 运维架构 > Tomcat

tomcat配置SSL证书(使用startSSL申请到的证书)

2015-03-18 10:21 162 查看
1. 生成p12证书



生成完成后,下载保存。

2. 将p12文件上传至服务器上的tomcat/keystore/上,此处取名为test.com.p12

3. 修改tomcat/conf/server.xml,增加如下配置:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="${catalina.base}/keystore/test.com.p12" keystorePass="test12345" keystoreType="PKCS12"
/>


其中keystorePass为生成p12文件时设定的存储密码。

重启tomcat即可生效。

4. 浏览器默认的SSL端口号是443,如果tomcat上述配置中端口号改为443的话,则需要root用户或者sudo启动tomcat。

可选的方案是使用类似nginx这样的软件,配置tcp层的proxy,将443端口转到tomcat的8443端口。

----------------------------- 以上内容是 2014 年写的,以下为 2016年的更新内容 -------------------------------------

最近在startcom上生成的p12有一点问题,在iOS和Android上访问时,被弹出类似“不受信任的证书”的提示。

经过调查,发现现在startcom上生成的证书没有包含CA Certifcate 信息。

tomcat改为用Apr方式配置,具体如下:

1. 下载tomcat native

http://tomcat.apache.org/download-native.cgi

因为openssl版本的原因,此处下载较旧的版本: tomcat-native-1.1.34-src.tar.gz

2. 编译和安装 (以下使用的操作系统为centOS 6.5)

(1) 安装APR库

yum install apr-devel openssl-devel


(2) 编译

添加环境变量

vi ~/.bash_profile

export CATALINA_HOME=/home/webadmin/tomcat
export LD_LIBRARY_PATH=$CATALINA_HOME/lib
export LD_RUN_PATH=$CATALINA_HOME/lib


进入目录 tomcat-native-1.1.34-src/jni/native,执行configure:

./configure --with-apr=/usr/bin/apr-1-config \
--with-java-home=/usr/java/jdk1.6.0_43 \
--with-ssl=yes \
--prefix=$CATALINA_HOME


执行make
make


执行install

make install


编译安装成功后,可以看到tomcat/lib/下已经有相应的文件了:

-rw-r--r-- 1 webadmin webadmin 1630726 3月  21 13:04 libtcnative-1.a
-rwxr-xr-x 1 webadmin webadmin    1032 3月  21 13:04 libtcnative-1.la
lrwxrwxrwx 1 webadmin webadmin      23 3月  21 13:04 libtcnative-1.so -> libtcnative-1.so.0.1.34
lrwxrwxrwx 1 webadmin webadmin      23 3月  21 13:04 libtcnative-1.so.0 -> libtcnative-1.so.0.1.34
-rwxr-xr-x 1 webadmin webadmin  920641 3月  21 13:04 libtcnative-1.so.0.1.34
drwxr-xr-x 2 webadmin webadmin    4096 3月  21 13:04 pkgconfig


(3) 配置tomcat

conf/server.xml中,配置8443端口:

<Connector
protocol="org.apache.coyote.http11.Http11AprProtocol"
port="8443" maxThreads="4096"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="${catalina.base}/keystore/2_test.test.com.crt"
SSLCertificateKeyFile="${catalina.base}/keystore/test.key"
SSLCACertificateFile="${catalina.base}/keystore/1_Intermediate.crt"
SSLVerifyClient="optional" SSLProtocol="all"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_25
6_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_
AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
/>


其中三个文件都是pem格式(开头是 "-----BEGIN CERTIFICATE-----" 或 "-----BEGIN PRIVATE KEY-----")

test.key是在startcom上生成Certificate时的private key , 1_Intermediate.crt, 2_test.test.com.crt,是startcom上“Retreive”按钮点击下载获得的证书文件。

配置修改好以后,重启tomcat即可。

各个配置项的具体说明,请见文档: http://tomcat.apache.org/tomcat-6.0-doc/apr.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: