tomcat双向认证服务器部署

一、准备环境

搭建平台:linux+apache-tomcat-7.0.35.tar.gz

二、生成CA证书

创建目录:

#mkdir ca client server

目前不使用第三方权威机构的CA来认证,自己充当CA的角色。

2.1 创建私钥

#openssl genrsa -out ca/ca-key.pem 1024

2.2 创建证书请求

#openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:bj

Locality Name (eg, city) []:bj

Organization Name (eg, company) [Internet Widgits Pty Ltd]:tb

Organizational Unit Name (eg, section) []:tb

Common Name (eg, YOUR name) []:ca

Email Address []:[email protected]

Please enter the following ‘extra‘ attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

2.3 自签署证书

#openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650

2.4 将证书导出成浏览器支持的.p12格式

#openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12

密码:123456

三、生成server证书

3.1 创建私钥 

#openssl genrsa -out server/server-key.pem 1024

3.2 创建证书请求

#openssl req -new -out server/server-req.csr -key server/server-key.pem

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:bj

Locality Name (eg, city) []:bj

Organization Name (eg, company) [Internet Widgits Pty Ltd]:tb

Organizational Unit Name (eg, section) []:tb

Common Name (eg, YOUR name) []:localhost   #此处一定要写服务器所在ip

Email Address []:[email protected]

Please enter the following ‘extra‘ attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

3.3 自签署证书

#openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650

3.4 将证书导出成浏览器支持的.p12格式

#openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12

密码:123456

四、生成client证书

4.1 创建私钥

#openssl genrsa -out client/client-key.pem 1024

4.2 创建证书请求

#openssl req -new -out client/client-req.csr -key client/client-key.pem

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:bj

Locality Name (eg, city) []:bj

Organization Name (eg, company) [Internet Widgits Pty Ltd]:tb

Organizational Unit Name (eg, section) []:tb

Common Name (eg, YOUR name) []:dong

Email Address []:[email protected]

Please enter the following ‘extra‘ attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

4.3 自签署证书

#openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650

4.4将证书导出成浏览器支持的.p12格式

#openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12

密码:123456

4.5 根据ca证书生成jks文件 (java keystore)

#keytool -keystore truststore.jks -keypass 222222 -storepass 222222 -alias ca -import -trustcacerts -file ca/ca-cert.pem

#keytool -import -keystore truststore.jks -keypass 222222 -storepass 222222 -alias client -import -trustcacerts -file  client/client-cert.pem ------导入client证书,让服务器信任client证书

#keytool -list -v -keystore truststore.jks  --查看keystore,密码:222222

五、配置tomcat ssl

修改conf/server.xml。tomcat中多了SSLEnabled="true"属性。keystorefile, truststorefile设置为你正确的相关路径

xml 代码

修改如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

keystoreFile="/root/ca/server/server.p12" keystorePass="123456" keystoreType="PKCS12"

truststoreFile="/root/ca/truststore.jks" truststorePass="222222" truststoreType="JKS"/>

属性说明:

clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证

keystoreFile:服务器证书文件路径

keystorePass:服务器证书密码

truststoreFile:用来验证客户端证书的根证书,此例中就是ca证书

truststorePass:根证书密码

六、客户端验证

启动tomcat服务,客户端导入client.p12证书,然后访问https://ip:8443

时间: 2024-11-09 01:39:35

tomcat双向认证服务器部署的相关文章

图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证

1. 安装 nginx 1.1 nginx 包及其依赖包下载 出于模块的依赖性,Nginx 依赖以下三个包: gzip 模块需要 zlib 库(http://www.zlib.net/): rewrite 模块需要 pcre 库(http://www.pcre.org/): ssl 功能需要 openssl 库(http://www.openssl.org/): 分别下载它们的最新稳定版(截至本文最新稳定版分别是 zlib-1.2.8.tar.gz.pcre-8.36.tar.gz.openss

tomcat配置SSL双向认证

一.SSL简单介绍 SSL(Secure Sockets Layer 安全套接层)就是一种协议(规范),用于保障客户端和服务器端通信的安全,以免通信时传输的信息被窃取或者修改. 怎样保障数据传输安全?  客户端和服务器端在进行握手(客户端和服务器建立连接和交换参数的过程称之为握手)时会产生一个“对话密钥”(session key),用来加密接下来的数据传输,解密时也是用的这个“对话密钥”,而这个“对话密钥”只有客户端和服务器端知道.也就是说只要这个“对话密钥”不被破解,就能保证安全. 2. 客户

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

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

家用环境下部署wifidog认证服务器(java版)

本文所讲的是基于一个java版wifidog认证服务器的开源项目在windows环境下搭建wifidog认证服务器,并实现用户名密码的认证. 大致步骤如下: 一,准备 1.搭建硬件及网络环境 a.需要普通路由器1个,刷了apfree固件的路由器一个,Windows电脑一台,网线若干,宽带网络. b.按照下图的拓扑结构进行搭建. 2.获取软件及工具并安装 a.获取并安装jdk6 b.获取并安装MySQL c.安装MyEclipse d.获取java版wifidog认证服务器源码(https://g

Nginx、Tomcat、SSL、双向认证

1. 证书层级结构 2. 服务器结构 tomcat不要求认证客户端,nginx要求认证客户端 3. tomcat配置注意点 tomcat的服务器证书的CN必须为tomcat_backend 4. nginx配置注意点 使用openssl从pfx文件中导出pem格式公钥 1 openssl pkcs12 -clcerts -nokeys -in cert.p12 -out cert.pem 使用openssl从pfx文件中导出pem格式私钥 1 openssl pkcs12 -nocerts -n

tomcat https双向认证

没啥可写的,直接看这些博文吧... 注:server.xml 双向认证 注意得配:truststoreFile,单向不用 浏览器客户端p12证书,需要添加到服务器的jks文件中. http://www.blogjava.net/stevenjohn/archive/2012/08/22/385989.html http://www.360doc.com/content/10/0401/23/633992_21237818.shtml http://www.blogjava.net/stevenj

CA认证授权服务器部署

数字证书授权中心:CA →Certificate Authority - 被通信双方信任的.独立的第三方机构 - 负责证书颁发.验证.撤销等管理 国内常见的CA机构 - 中国金融认证中心(CFCA) - 中国电信安全认证中心(CTCA) - 北京数字证书中心(BJCA) PKI公钥基础设施 - PKI是一套标准的密钥管理平台; - 通过公钥加密.数字证书技术确保信息安全; PKI体系基本组成 - 权威认证机构(CA) - 数字证书库.密钥备份及恢复系统 - 证书作废系统.应用接口 web网站把公

详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

转载请注明出处:http://blog.csdn.net/smartbetter/article/details/53615313 上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个新需求,今天专门为大家分享一下 Nginx + Tomcat 反向代理 如何在一台服务器部署多个站点,节省服务器开支,就在这篇文章了. 首先我们需要安装好Nginx.j

同一服务器部署多个tomcat时的端口号修改详情

同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml,以tomcat7为例. 首先了解下tomcat的几个主要端口: <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="60000"  redirectPort="8443" disableUploadTimeout="false&q