tomcat配置https单向和双向认证
来源:互联网 发布:饼干网络意思 编辑:程序博客网 时间:2024/05/21 14:56
1.认证简介
ssl作为一个加密的协议,协议栈位于tcp协议之上,主要用来进行传输过程中的加密,加密的过程就涉及到证书相关的配置,本文重在讲解配置。
tomcat默认的https端口是8443。
简要描述一下,ssl握手的过程
a.客户端发送client hello ,主要包括客户端支持的ssl协议和客户端支持的加密算法。
b.服务器将支持的协议、从客户端列表选取的加密协议、服务器的证书发送给客户端,如果是双向的,服务器会要求客户端提供证书。
c、客户端校验证书是否过期、证书的颁发机构是否是浏览器中注册的证书颁发机构。如果不是,则给出提示信息.
d.客户端和服务器进行相应的加密和解密完成握手(写的比较粗略)
2.模拟环境
客户端:window7(X64) 谷歌浏览器(火狐浏览器可能有些问题) 证书储存路径:C:\Users\kefan\Desktop\conf
服务器端(centos7 64) tomcat7 /home/tomcat/apache-tomcat-7.0.75/keys
3.步骤
3.1单向认证
3.1.1服务器生成秘钥库(tomcat.keystore)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcat.keystore -dname "CN=192.168.233.133,OU=cn,O=cn,L=cn,ST=cn,c=cn" -storepass tomcat -keypass tomcat
3.1.2服务器生成颁发给客户端的证书文件(选配tomcat.cer)
keytool -export -alias tomcat -keystore tomcat.keystore -file tomcat.cer -storepass tomcat
3.1.3修改tomcat的配置文件(server.xml)
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="keys/tomcat.keystore"
keystorePass="tomcat"
truststoreFile="keys/tomcat.keystore"
truststorePass="tomcat"/>3.1.4测试
由于证书的颁发机构不是浏览器的根证书颁发机构,所以需要添加到信任列表中才能访问
3.1.5为了避免浏览器的添加信任可以选择导入3.1.2生成的证书文件(tomcat.cer)
上个步骤中,由于证书的颁发机构不存在与浏览器的根证书颁发机构,所以给出了警告,取消这个警告,需要将服务器颁发的证书添加到浏览器的根证书颁发机构中,将tomcat.cer下载到客户端,安装,在选择证书存储时,选择受信任的根证书颁发机构,导入完成之后,重启浏览器,不出现警告信息。
3.2双向认证
3.1.1服务器生成秘钥库(tomcat.keystore)
keytool -genkey -v -alias tomcat -keyalg RSA -validity 3650 -keystore tomcat.keystore -dname "CN=192.168.233.133,OU=cn,O=cn,L=cn,ST=cn,c=cn" -storepass tomcat -keypass tomcat
3.1.2服务器生成颁发给客户端的证书文件(tomcat.cer)
keytool -export -alias tomcat -keystore tomcat.keystore -file tomcat.cer -storepass tomcat
3.1.3客户端生成秘钥库(client.p12)
keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore client.p12 -dname "CN=192.168.233.1,OU=cn,O=cn,L=cn,ST=cn,c=cn" -storepass client -keypass client
3.1.4客户端生成颁发给服务器端的证书文件(client.cer)
keytool -export -alias client -keystore client.p12 -storetype PKCS12 -storepass client -rfc -file client.cer
3.1.5服务器导入客户端颁发的证书文件(tomcat.truststore)
keytool -import -v -file client.cer -keystore tomcat.truststore -storepass tomcat
3.1.6客户端添加秘钥库到浏览器(client.p12)
选择证书存储时,分别添加个人和受信任的根证书颁发机构.
3.1.7客户端添加服务器颁发的证书(tomcat.cer)
同单向配置中的导入选项。
3.1.8修改tomcat的配置文件
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="true"
sslProtocol="TLS"
keystoreFile="keys/tomcat.keystore"
keystorePass="tomcat"
truststoreFile="keys/tomcat.truststore"
truststorePass="tomcat"/>
- tomcat配置https单向和双向认证
- tomcat------https单向认证和双向认证
- tomcat配置单向/双向https认证
- https单向/双向认证及tomcat配置https方法
- https单向/双向认证及tomcat配置https方法
- https单向/双向认证的tomcat配置攻略
- tomcat6配置https (双向认证/单向认证)
- tomcat6配置https (双向认证/单向认证)
- Tomcat配置Https 单向/双向
- HTTPS单向认证和双向认证
- Https单向认证和双向认证
- HTTPS单向认证和双向认证
- Https单向认证和双向认证
- Https单向认证和双向认证
- Https单向认证和双向认证
- Https单向认证和双向认证
- Https单向认证和双向认证
- Https单向认证和双向认证
- Python 学习笔记 (C++与Python的不同)
- RTMP协议
- MFC does not support WINVER less than 0x0501 解决方案
- 案例------用户登录记住密码
- MacBook OS操作快捷键
- tomcat配置https单向和双向认证
- Java对象及其引用
- 用户登录记住密码
- 教程:盲打入门常识.
- datagridview 自动列宽
- docker安装activemq
- Redis集群
- (python)输入一个三位数以上的整数,输出其百位以上的数字
- 《Effective Java》第8章 通用程序设计