tomcat配置https单向认证

1. https单向认证原理

  “单向认证”,即“浏览器”验证“服务器”的证书是否合法,从而判断正在访问的网站是否可信。这也是当前网络上最常用的认证方式,GitHub、Google、Twitter、Facebook等均采用此种方式。

  “单向认证”的两个通信实体如下

  他们之间的通信过程如下

下面给出简要的文字说明

  1. 客户端访问服务器
  2. 服务器响应客户端,发送服务器证书给客户端
  3. 客户端查询“受信任根证书颁发机构”,验证服务器证书
  4. 客户端验证完服务器证书,生成“密钥对”及会话密钥,与服务器协商会话密钥
  5. 会话密钥协商完成,开始安全加密通信

2. 准备证书

  证书需要准备两个

  1. 服务器证书(tomcat为jks格式)
  2. CA根证书

  服务器证书用于浏览器验证服务器身份,CA根证书只是为了让浏览器信任服务器证书。生成服务器证书的方式很多,keytool、openssl、ejbca都可以,具体过程参考我的其他帖子,这里不赘述。我生成的服务器证书名为“tomcat-win.jks”,CA根证书名称是“ruxueCA.crt”。

3. 配置tomcat

  编辑tomcat/conf目录下的“server.xml”,找到如下内容,如被注释,请去掉注释

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\Download\tomcat-win.jks" keystorePass="123456" />

  配置好证书路径和访问密码,启动tomcat。

3. 浏览器访问

  浏览器输入https://localhost:8443,出现如下错误,点击“继续浏览此网站(不推荐)”

  可以正常访问tomcat,但出现证书错误提示

  点击“证书错误”,出现如下信息

  这是因为这个证书是CA颁发给“win.ruxue.online”网站的,而我们访问的域名是“localhost”。修改C:\Windows\System32\drivers\etc目录下的hosts文件,添加如下一行信息。

127.0.0.1 win.ruxue.online

  在浏览器中输入https://win.ruxue.online:8443,依然出现“此网站的安全证书出现问题”的错误提示,同上,点击“证书错误”查看,发现这次的错误不同了。

  这是因为浏览器“受信任根证书颁发机构”中并没有颁发“tomcat-win.jks”证书的CA机构信息,浏览器因此认为这个证书有问题,此时我们需要在浏览器的“受信任根证书颁发机构”导入CA根证书“ruxueCA.crt”。

  导入成功之后再访问https://win.ruxue.online:8443

  没有任何问题了,点击那把绿色的锁,可以看到这个网站的安全证书信息。

时间: 2024-08-07 23:38:35

tomcat配置https单向认证的相关文章

tomcat 配置https (单向认证)

1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源 2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址 如果只是加密,单向就行 如果想要用系统的人没有证书就访问不了系统的话,就采用双向认证 第一步:为服务器生成证书 使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件存放在 “e:\\tomcat.keystore”,口令为“123456”,使用如下命令生成: keytool -genkey -a

Tomcat配置HTTPS方式生成安全证书

原文:http://www.cnblogs.com/visec479/p/4152827.html 在Tomcat 6中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证.并实现批量生成证书 系统需求:JDK 5.0Tomcat 6.0.16启动命令行:第一步:为服务器生成证书 使用keytool为Tomcat生成证书,假定目标机器的域名是localhost或者"192.168.1.1",keystore文件存放在"D:

(HTTPS)-https原理及tomcat配置https方法

一. 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传 输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证这些隐私数据能加密传输,于是网景公司设计了 SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS.SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101

Tomcat配置https加密连接

配置https安全连接(ssl加密连接) https连接需要用到数字证书与数字签名(MD5算法),网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书. 证书运用到RSA技术,RSA加密算法是一种非对称加密算法,服务器保留私钥,对外公开公钥(cer证书). Tomcat秘钥库类型为JKS(Java Key Storage),很容易知道这是 JAVA 的专属格式,利用 JAVA 的一个叫 keytool 的工具可以进行格式转换.一般用于 Tomcat 服务器. 单向认证 生成服务

https原理及tomcat配置https方法

一. 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS.SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,

利用tomcat服务器配置https双向认证

首先请保证已经安装好jdk,并且环境变量以及配置好了 第一步.为服务器生成证书: 使用toolkey为tomcat生成证书,假定目标机器的域名为localhost,使用如下命令生成:keytool –genkey –v –aliaslocalhost_server RSA –keystore localhost_server.store  –validity 36500 第二步.为客户端生成证书: 为浏览器生成证书,以便让服务器来验证它.为了能保证证书顺利导入至IE和Firefox,证书格式应该

用keytool制作证书并在tomcat配置https服务(四)

用keytool制作证书并在tomcat配置https服务(一) 用keytool制作证书并在tomcat配置https服务(二) 用keytool制作证书并在tomcat配置https服务(三) 上一篇我们实现了服务端自己模拟CA认证,那么有个问题. 一个客户端和服务端对接就需要把这个客户端的证书拿来导入到服务端的密钥库中.那么很多客户端要对接,就要多次导入. 可以这样,让客户端发送证书的csr文件给我们,我们用模拟的CA密钥库对客户端证书也进行签名颁发. 然后把签名后的证书发送给他,让他自己

用tomcat配置https自签名证书,解决 ios7.1以上系统, 苹果inHouse发布

用tomcat配置https自签名证书,解决 ios7.1以上系统苹果inHouse发布不能下载安装的问题教程,话说,我其实最讨厌配置某某环境了,因为某一个小环节一旦出错,你的所有工作往往会功亏一篑,而且蛋疼到不行也不知道哪里出了错,我发布的的这个福利,虽然网上也有很多,但是都很零碎,有的资料还有错误,有的资料又不全,你说这样的情况,怎么不让我们搞的头疼,不过在此感谢哪些热心提供资料的人,现在既然我把它弄好了,就为大家做做贡献吧. 我目前给大家展示的是windowserver2003环境下搭建的

Nginx+Tomcat配置https

Nginx + Tomcat 配置 HTTPS 1.总述 浏览器和 Nginx 之间走的 HTTPS 通讯,而 Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接. 2.Nginx配置(nginx.conf),部分 http { #HTTPS server server { listen 443 ssl; server_name goldlone.cn; #证书地址 ssl_certificate ./1_goldlone.cn_bundle.crt; ssl_