tomcat的https配置

一、创建证书

进入java的bin目录,使用keytool工具创建证书

keytool -genkey -alias pq -keyalg RSA -keystore pqkey

语法解释:

keytool -生成证书指令 -别名指令 别名(自己指定) -算法指令 算法名称 -存储文件名字指令 文件名(可以包含存储路径)

指令运行成功会提示输入信息,注意事项:

1)输入名称和姓氏时输入域名,如果没公网ip和域名时不能输入ip

2)路径不能含有空格

二、导出证书

导出为.crt文件

keytool -export -file pinqidesign.crt -alias wsria -keystore pinqidesignkey

指令解释:

keytool -导出指令 -导出文件指令 导出结果文件名称(可以包含路径) -别名指令 别名(第一步填写的别名) -证书指令 第一步是生成的指令文件

三、导入到密码到java服务器

keytool -import -keystore java安装目录\jre\lib\security\cacerts -file pinqidesign.crt -alias pinqidesign

如果需要密码则输入:changeit

这是java jdk cacerts密钥库的默认密码

四、应用到tomcat

打开tomcat的server.xml文件,将83到87行的注释拿掉

<!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

设置密钥文件和密码

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="C:/apache-tomcat-6.0.36/pinqidesignkey" keystorePass="qwerty"/>

Tomcat时发现控制台报错如下:

2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.23.
2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8443"]
2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]
java.lang.Exception: <span style="background-color: #ffff00;">Connector attribute SSLCertificateFile must be defined when using SSL with APR</span>
        at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:484)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:566)
        at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:417)
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)

第一种方式拿掉server.xml种erp相关

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

第二种方式:

修改协议:org.apache.coyote.http11.Http11Protocol

  <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="C:/apache-tomcat-6.0.36/pinqidesignkey" keystorePass="qwerty"/>

第三种方式:先把keystore转换为pkcs12格式,然后使用openssl工具导出私钥

时间: 2024-08-23 05:44:58

tomcat的https配置的相关文章

Tomcat容器https配置之双向认证

在上一篇https单向认证基础上(如果没看过的,请先移步:http://www.cnblogs.com/leafsunday/p/6885568.html),开始https双向认证之旅. 生成客户端keystore(PKCS12格式,便于导入浏览器) C:\Users\Administrator>keytool -genkeypair -alias client -keyalg RSA -keysize 1024 -keypass changeit -keystore d:/client.p12

Tomcat容器https配置之单向认证

测试环境 Windows 7 IE 11 Intellij IDEA 2017 JDK 1.8.0_25 Tomcat 6.0.36 httpcore 4.4.6 httpclient 4.5.3 keytool:证书生成工具,在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe 单向认证 生成服务端keystore C:\Users\Administrator>keytool -genkeypair -alias server

配置Tomcat使用https协议

一.  创建tomcat证书 这里使用JDK自带的keytool工具来生成证书 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore" 二. 配置tomcat服务器 定位到tomcat服务器的安装目录, 找到conf下的ser

配置Tomcat使用https协议(配置SSL协议)

内容概览: 如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议 1.生成安全证书 2.配置tomcat --------------------------------------------------------------------------------------------------------------------------- 预备知识: sso cas ssl https ca ------------------------------------

javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)

一:软件密码学 1:对称加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解:但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加

配置tomcat的https通信(单向认证)

1.首先用jdk带的工具生成证书库 打开cmd命令行窗口,cd 到tomcat安装目录的bin下面执行 keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 36500 附:d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下."-validity 36500”含义是证书有效期,默认值是90天(注意若要放到c盘,在win7系统下,需要以管理员

配置tomcat的https域名

配置tomcat的https域名: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslEn

Nginx+tomcat实现https访问(tomcat不配ssl证书)

用户端与Nginx通讯使用https,Nginx与tomcat通讯可以只使用http,简化证书配置. Nginx端配置nginx.conf user nginx; worker_processes  2; error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; pid /usr/local/nginx/nginx.pid; events {     worke

cas 在 反向代理环境中的https 配置

cas 推荐是在https 环境中使用,之前说的只是在http环境中,配置的https 与http 大体上都是一致. 今天使用https 进行配置. 1.证书的颁发 2.服务端的配置. 3.客户端配置. 有问题欢迎学习交流. 描述 user>Switch 用户端使用的是http(s),也就是两者并行 Switch 只是做端口转发,不做其他的处理 LBS 中配置了ssl 证书,并且做反向代理,支持http与https两种方式, LBS>Server 都是使用的http ,也就是说server 中