tomcat添加ssl证书对https的支持

原创 2016年08月30日 16:36:43



下午技术总监告诉我:喂,我帮你把cas服务器添加了个ssl证书,现在登录不了了,你看看什么问题。

既然有了需求,那我们只能卖力的看问题了。

ps:可能是昨天加班太晚,今天整个人都是懵逼的


1.添加tomcat对https的支持
修改conf/server.xml

 <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                           keystoreFile="/usr/tomcat/ssl/server.jks" keystorePass="yourpass"
               clientAuth="false" sslProtocol="TLS" />

配置说明:keystoreFile  秘钥仓库地址    keystorePass 密码   clientAuth 客户端是否需要证书认证 


2.由于cas客户端向服务端请求认证ST票据 通过httpClient  这样就存在问题  一直出现错误
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1904)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:279)

证书认证不通过
查找原因  是在httpClient请求https jre需要包含服务端证书信息

3.导入服务端证书到jre中
首先导出证书  :从jks中导出证书  
查看jks中证书内容  keytool -list -v -keystore  server.jks
 
类似于 
Keystore type: JKS
Keystore provider: SUN


Your keystore contains 1 entry


Alias name: 1

发现包含一个证书  Alias name 为1
导出该证书  命令为: keytool -export -alias 1 -keystore server.jks -rfc -file server.cer     
* -rfc 表示以base64编码输出 否则以二进制

然后复制server.cer文件到客户端服务器  

  命令:keytool -import -keystore "/usr/java/jdk7/jre/lib/security/cacerts"  -storepass  changeit  -keypass  changeit  -alias 1  -file server.cer
-keystore 后面接jre秘钥仓库目录  -storepass jre秘钥仓库密码  默认 changeit   -keypass  一样默认changeit   -alias 上面查看到的Alias name    -file 导出的证书文件.cer

同理 服务端单点登出请求的时候  一样需要添加客户端证书

到此证书导入完成   问题解决

利用jdk自带keytool生成ssl证书,搭建tomcat+https协议

一、 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常...
  • p793049488
  • p793049488
  • 2016年12月01日 16:05
  • 4806

Tomcat https的SSL证书安装配置指南

至于为什么要用https,无非就是安全。 主要就2个步骤:1. 获取证书;2.tomcat的配置。 获取证书 首先你得有1个域名,2个邮箱(一个是该域名对应的邮箱,一个就是激活邮箱),ssl证书免...
  • wolf_or_dog
  • wolf_or_dog
  • 2016年08月01日 11:35
  • 8625

Tomcat SSL配置及Tomcat CA证书安装

最近要做一个SSL的应用,用SSL进行双向身份验证意思就是在客户机连接服务器时,链接双方都要对彼此的数字证书进行验证,保证这是经过授权的才能够连接。我们链接一般的SSL时采用的是单向验证,客户机只验证...
  • cuker919
  • cuker919
  • 2012年05月24日 21:26
  • 43232

为tomcat 添加SSL配置

1. 通过java自带的keytool生成keystore 1)到JAVA_HOME\bin 下找到keytool 2)到该路径下执行 keytool命令 keytool -ge...
  • zqftisson
  • zqftisson
  • 2016年11月09日 11:33
  • 1045

配置tomcat支持ssl

windows下: 1.获取证书和配置tomcat java-jdk提供一个简单的制作证书的工具,你可以用它来产生一个证书做测试用: 1.先来到你的jdk/bin下 2.执行 keytool -gen...
  • mixturer
  • mixturer
  • 2016年01月16日 11:44
  • 4845

Tomcat 配置SSL,以及Tomcat CA证书制作和安装

转自 http://blog.csdn.net/u012256142/article/details/21094043 SSL的应用,用SSL进行双向身份验证意思就是在客户机连接服务器时,链...
  • u010820135
  • u010820135
  • 2016年06月27日 08:33
  • 3702

Tomcat SSL证书的生成

Tomcat的SSL证书存储在keystore文件中,一般以“.jks”为扩展名。Keystore  Keystore的本质可以看作是一个证书存储器,里面可以存储多个证书。Tomcat只能配置一个ke...
  • a451248959
  • a451248959
  • 2017年09月05日 11:54
  • 94

TOMCAT导入通过第三方证书机构获取的证书

通常,在创建HTTPS的服务器的时候都需要一个网站的SSL证书文件,但是在网上找到的文档基本上都是在介绍怎么自己用keytools创建一个证书,但是这种方法申请的证书根本不会被广大网民的浏览器认证,所...
  • zhzzha
  • zhzzha
  • 2015年12月28日 17:49
  • 6534

Tomcat启用HTTPS(生成证书、配置Tomcat服务器)

Windows下的配置: 第一步:为服务器生成证书 使用keytool 为 Tomcat 生成证书,假定目标机器的域名是“ localhost ”, keystore 文件存放在“ d:\...
  • ClementAD
  • ClementAD
  • 2015年07月09日 19:51
  • 6266

在 Tomcat 中配置 SSL/TLS 以支持 HTTPS

本件详细介绍了如何通过几个简单步骤在 Tomcat 中配置 SSL/TLS 、使用 JDK 生成自签名的证书,最终实现在应用中支持 HTTPS 协议。...
  • kkkloveyou
  • kkkloveyou
  • 2016年03月18日 23:37
  • 8388
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat添加ssl证书对https的支持
举报原因:
原因补充:

(最多只允许输入30个字)