tomcat配置SSL证书(使用startSSL申请到的证书)
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--config \
--with-java-home=/usr/java/jdk1..0_43 \
--with-ssl=yes \
--prefix=$CATALINA_HOME
执行make
make
执行install
make install
编译安装成功后,可以看到tomcat/lib/下已经有相应的文件了:
-rw-r--r-- webadmin webadmin 3月 : libtcnative-.a
-rwxr-xr-x webadmin webadmin 3月 : libtcnative-.la
lrwxrwxrwx webadmin webadmin 3月 : libtcnative-.so -> libtcnative-.so.0.1.
lrwxrwxrwx webadmin webadmin 3月 : libtcnative-.so. -> libtcnative-.so.0.1.
-rwxr-xr-x webadmin webadmin 3月 : libtcnative-.so.0.1.
drwxr-xr-x webadmin webadmin 3月 : 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
tomcat配置SSL证书(使用startSSL申请到的证书)的更多相关文章
- 华为云服务器为Tomcat配置SSL
近期由于开发小程序需要在云服务器上配置https访问协议,也遇到了一点小问题,把配置过程记录一下:SSL 证书申请下来之后会有 .jks .crt .pfx .pem为后缀的文件(如何申请SSL证书这 ...
- TOMCAT配置SSL认证为HTTPS协议服务
1 . 问题概述 很多安全性要求较高的系统,都会使用安全套接字层(SSL)进行信息交换, Sun为了解决在Internet上的实现安全信息传输的解决方案.它实现了SSL和TSL(传输层安全)协议 ...
- 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...
- Tomcat配置SSL
Tomcat配置SSL 查询网上资料配置如下: <Connector port="8443" protocol="HTTP/1.1" maxThreads ...
- 实战Tomcat配置SSL,使用openssl制作证书
制作证书以及Tomcat配置 搭建openssl环境,下载openssl并设置环境变量方便命令行的使用: 修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca ...
- Tomcat配置SSL证书(PFX证书)
公司项目,应该是阿里云服务器 在windows2008 R2搭建的 Tomcat部署SSL证书,本文以PFX证书为例. 配置好之后开始 一.什么是SSL(证书)? SSL证书服务(Alibaba Cl ...
- apache Tomcat配置SSL(https)步骤
Tomcat配置https 1 生成Server端安全证书 要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书.如果有条件的话,可以向权威CA申请一份经过认证的安 ...
- linux apache Tomcat配置SSL(https)步骤
https简介 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的 ...
- tomcat配置SSL双向认证
一.SSL简单介绍 SSL(Secure Sockets Layer 安全套接层)就是一种协议(规范),用于保障客户端和服务器端通信的安全,以免通信时传输的信息被窃取或者修改. 怎样保障数据传输安全? ...
随机推荐
- bzoj1855: [Scoi2010]股票交易--单调队列优化DP
单调队列优化DP的模板题 不难列出DP方程: 对于买入的情况 由于dp[i][j]=max{dp[i-w-1][k]+k*Ap[i]-j*Ap[i]} AP[i]*j是固定的,在队列中维护dp[i-w ...
- IntelliJ 有的时候移动滚动条后会自动回到光标所在位置的解决方法
关闭有道词典的取词.划词功能.
- 下载包含src,tgz,zip的文件
下载哪一个文件? 含src的是源码文件,含tgz和zip的分别是linux和windows系统下jar包(java文件包) asc,md5,sha1是三种加密文件,可用于判断文件是否被修改. Ente ...
- openstack组件之keystone
一 什么是keystone keystone是 OpenStack Identity Service 的项目名称.它在整个体系中充当一个授权者的角色. Keystone项目的主要目的是给整个opens ...
- Color Space: Ycc
在进行图像扫描时,有一种重要的扫描输入设备PhotoCd,由于PhotoCd在存储图像的时候要经过一种模式压缩,所以PhotoCd采用了Ycc颜色空间,此空间将亮度作由它的主要组件,具有两个单独的颜色 ...
- Java与C++面向对象不同点
首先面向对象的语言有哪些?JAVA.C++.C#等等.但是呢很多人认为C#和C++有关系,其实一点关系都是没有滴.C#是仿Java做的,很多人都说是假Java,因为C#和Java太像了比如C#也有st ...
- HDU 1160 FatMouse's Speed(要记录路径的二维LIS)
FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- maketrans translate
1. makestrans()用法 语法: str.maketrans(intab, outtab]); Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的 ...
- ASP.NET 访问路径 错误提示 HTTP 错误 404.8 原来路径中包含bin目录被拒绝
HTTP 错误 404.8 - Not Found HTTP 错误 404.8 - Not Found 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径. 最可能的原因 ...
- MVC强类型视图、强类型HTML辅助方法
强类型视图: <table> <tr> <td>ID:</td><td><%: Model.Id %></td> & ...