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

时间:2022-09-10 18:16:58

1. 生成p12证书

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

生成完成后,下载保存。

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申请到的证书)的更多相关文章

  1. 华为云服务器为Tomcat配置SSL

    近期由于开发小程序需要在云服务器上配置https访问协议,也遇到了一点小问题,把配置过程记录一下:SSL 证书申请下来之后会有 .jks .crt .pfx .pem为后缀的文件(如何申请SSL证书这 ...

  2. TOMCAT配置SSL认证为HTTPS协议服务

     1 . 问题概述 很多安全性要求较高的系统,都会使用安全套接字层(SSL)进行信息交换, Sun为了解决在Internet上的实现安全信息传输的解决方案.它实现了SSL和TSL(传输层安全)协议 ...

  3. 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...

  4. Tomcat配置SSL

    Tomcat配置SSL 查询网上资料配置如下: <Connector port="8443" protocol="HTTP/1.1" maxThreads ...

  5. 实战Tomcat配置SSL,使用openssl制作证书

    制作证书以及Tomcat配置 搭建openssl环境,下载openssl并设置环境变量方便命令行的使用: 修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca ...

  6. Tomcat配置SSL证书(PFX证书)

    公司项目,应该是阿里云服务器 在windows2008 R2搭建的 Tomcat部署SSL证书,本文以PFX证书为例. 配置好之后开始 一.什么是SSL(证书)? SSL证书服务(Alibaba Cl ...

  7. apache Tomcat配置SSL&lpar;https&rpar;步骤

    Tomcat配置https 1      生成Server端安全证书 要实现通信加密,首先要在本地准备一份符合X.509标准的Server端安全证书.如果有条件的话,可以向权威CA申请一份经过认证的安 ...

  8. linux apache Tomcat配置SSL&lpar;https&rpar;步骤

    https简介 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的 ...

  9. tomcat配置SSL双向认证

    一.SSL简单介绍 SSL(Secure Sockets Layer 安全套接层)就是一种协议(规范),用于保障客户端和服务器端通信的安全,以免通信时传输的信息被窃取或者修改. 怎样保障数据传输安全? ...

随机推荐

  1. JavaScript移除绑定在元素上的匿名事件处理函数

    前言: 面试的时候有点蒙,结束之后想想自己好像根本就误解了面试官的问题,因为我理解的这个问题本身就没有意义.但是当时已经有一些思路,但是在一个点上被卡住. 结束之后脑子瞬间灵光,想出了当时没有迈出的那 ...

  2. Android 自定义ToolBar详细使用

    自定义xml设置ToolBar,通过menu文件扩展选项,通过继承baseactivity使用 1.ToolBar布局 <?xml version="1.0" encodin ...

  3. java的事务处理

    本文转自http://zhenchengchagangzi.iteye.com/blog/1159493 java的事务处理,如果对数据库进行多次操作,每一次的执行或步骤都是一个事务.如果数据库操作在 ...

  4. Bootstrap:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  5. iOS - Socket&Tab;&Tab;网络套接字

    1.Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 Socket.Socket 又称 "套接字",应用程序通常通过 "套接字& ...

  6. Git入门指南十一&colon;Git branch 分支与合并分支

    十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...

  7. 安装Android SDK时,点击SDK Manager&period;exe闪退,并且jdk的环境变量是对的。

    前提:我的jdk的环境变量是正确的,同时我的jdk还是1.7应该不是版本太低的原因,同时这个压缩文件是好的,我在其他的电脑上可以运行SDK Manager.exe. 点击SDK Manager.exe ...

  8. admin-5

    Admin05 useradd 添加用户usermod 修改用户属性userdel -r 删除用户 groupadd 添加组gpasswd -a | -d | 管理组成员groupdel 删除组gro ...

  9. 剑指offer 4&period;树 重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  10. 发布WebApi项目时包含XML文档文件

    Open your publishprofile (*.pubxml) and include this code into "Project" element: <Item ...