`

linux上tomcat6配置SSL双向认证实现https安全访问【原创笔记】

阅读更多

不说废话,直接上过程笔记:

1 使用工具:

apache-tomcat-6.0.29

jdk1.6.23

2 过程描述:

       2.1 在我方的服务器上,通过jdk工具keytool生成密钥对以及个人证书(其实就是认证申请文件.csr)。结果在我方生成两个文件,分别是:tian.cer(导出的个人证书),tian.csr(输出的认证签名申请文件)。

       2.2 将生成的tian.csr发送给个CA方,他们会根据这个生成以下文件返回给我方:

Tian.crt(认证后的我方服务器端的数字证书),Ct2.crt(电信根证书),test.p12(带私钥的个人证书)。以下是解释:

根证书(ct2.crt)用于信任网站;个人证书(test.p12)用于向网站表明自己的身份。双向。tomcat安装ct2.crttian.crt,这个是向客户端证明tomcat的身份;

客户端安装ct2.crttest.p12,这个是向tomcat服务器证明自己的身份。tian.crt是我方服务器的认证证书;ct2.crt是根证书test.p12是客户端个人证书。tian.crtct2.crt根证书认证的;test.p12也是ct2.crt根证书做认证的。

2.3 CA方发过来的ct2.crttian.crt加入到我方tomcat,让服务器信任证书。

2.4 配置tomcatserver.xml配置文件,配置好https

2.5 每个访问的sp(浏览器)先把ct2.crt放在浏览器的可信任根目录里,然后安装导入个人证书(test.p12)之后。访问我方地址https://IP:8443即可。

 

3 操作过程:

3.1  生成密钥对以及个人证书

命令:$ keytool -genkey -alias tian -keyalg RSA

3.2导出个人证书

命令:keytool -export -alias tian -file tian.cer

信息:输入keystore密码: 

    保存在文件中的认证 <tian.cer>

3.3 输出认证签名申请文件(.csr

命令:keytool -certreq -file tian.csr -alias tian

信息:输入keystore密码:

3. 4 先导入根证书

命令:keytool -import -v -trustcacerts -file ct2.crt -alias ct2_root

 

信任这个认证? []  Y

认证已添加至keystore

[正在存储 /home/tomcat/.keystore]

 

3. 5 导入CA认证过的证书(tian.crt

命令:keytool -import -v -file tian.crt -alias tian

信息:

输入keystore密码: 

认证回复已安装在 keystore

[正在存储 /home/tomcat/.keystore]

 

3.6配置tomcat

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

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

           keystoreFile="/home/tomcat/.keystore"

          keystorePass="password"

        truststoreFile="/home/tomcat/.keystore"

       truststorePass="password"

     clientAuth="true" sslProtocol="TLS" />

 

3.7 客服端安装个人证书和根证书

 

3.8 访问https://IP:8443出现提示你提交个人证书提示框。成功双向认证!

 

 

9
6
分享到:
评论
8 楼 chenshuang1227 2011-02-12  
ml365 写道
chenshuang1227 写道
这样的文章没有意义,生产环境根本不会用

这是在生产上用的哟~并且已经在用了。


很抱歉,我孤陋寡闻了。

我没见过生产中用tomcat。不好意思。
7 楼 ml365 2010-12-30  
chenshuang1227 写道
这样的文章没有意义,生产环境根本不会用

这是在生产上用的哟~并且已经在用了。
6 楼 chenshuang1227 2010-12-30  
这样的文章没有意义,生产环境根本不会用
5 楼 ml365 2010-12-28  
shangtang004 写道
ml365 写道
shangtang004 写道
how to send tian.csr to CA? where is CA?
Thanks

just send E-mail to CA,CA will connect you .

oh, thanks, again question, plese tell me the CA email, i want to have a try.

The CA is private.
4 楼 shangtang004 2010-12-28  
ml365 写道
shangtang004 写道
how to send tian.csr to CA? where is CA?
Thanks

just send E-mail to CA,CA will connect you .

oh, thanks, again question, plese tell me the CA email, i want to have a try.
3 楼 ml365 2010-12-26  
shangtang004 写道
how to send tian.csr to CA? where is CA?
Thanks

just send E-mail to CA,CA will connect you .
2 楼 shangtang004 2010-12-25  
how to send tian.csr to CA? where is CA?
Thanks
1 楼 seahb 2010-12-25  
一般来说
既然是双向认证,就需要两对密钥,分别为客户端公私钥(以下简称c公,c私),服务器公私钥(以下简称s公,s私),公钥用于加密需要发送给对方,私钥用于解密自己保存不可以外泄,公钥经过ca认证就是证书文件。
双向认证通讯传输时,服务器发送s公(既经过认证的服务器证书)到客户端,客户端通过ca确定s公的合法性,然后客户端向服务器传信息使用s公加密,服务器用s私解密客户端的信息。服务器向客户端传信息时使用c公加密,客户端用c私解密,因为只有持有c私的人才能解密用c公加密的信息,所以服务器就能确定客户端的合法性。
一般单向认证中,c公是客户端随机生成并用s公加密传送给服务器的,这种方式客户端能通过ca确定服务器的合法性,但是服务器并不能确定客户端的合法性,也就是说其他人可以仿冒客户。在双向认证中c公一般是由服务器管理或者让c公也经ca认证,这样只要客户保存好c私就没人可以仿冒客户。
再看看楼主的内容,楼主只产生了一对密钥,其中Tian.crt是认证后的公钥,test.p12是包含公钥和私钥的,ct2是辅助认证的不用考虑。tian.cer安装在服务器,test.p12安装在客户端,这样看来这对密钥是客户端的密钥对,可以认证客户端合法性。
如果这样的话如果第三方知道Tian.crt也就可以通过中间人攻击仿冒服务器,就是说客户端通过公钥的保密性来认证服务器,所以这并不是有效的双向认证。
我是从密码学的角度来看这个问题,如有不妥请指正。

相关推荐

    Tomcat6配置使用SSL双向认证

    通过上述步骤,我们可以在Tomcat6上成功配置SSL双向认证,增强了Web服务的安全性和可信度。然而,实际操作中还需考虑证书的有效期管理、备份策略以及密钥长度的选择等问题,以确保长期的系统稳定性和安全性。此外,...

    Tomcat中实现https安全连接与SSL配置

    https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置

    通过tomcat实现SSL双向认证

    通过 Tomcat 实现 SSL 双向认证 Tomcat 是一个流行的开源 Web 服务器,它支持 SSL/TLS 加密协议来确保数据传输的安全性。...配置 Tomcat 实现 SSL 双向认证可以提高数据传输的安全性,保护网络通信的安全。

    tomcat实现SSL双向认证

    本文将详细介绍如何在 Tomcat 中实现 SSL 双向认证,包括使用 JDK 的 keytool 工具创建证书、配置 Tomcat 服务器和客户端证书等。 一、SSL 双向认证的重要性 在 Web 应用程序中,安全性是非常重要的,特别是在涉及...

    Tomcat配置SSL双向认证

    ### Tomcat配置SSL双向认证详解 #### 一、SSL双向认证概述 SSL(Secure Sockets Layer,安全套接层)是一种用于确保Web通信安全的技术,它通过加密数据传输来保护信息不被未授权访问。SSL协议的核心是实现客户端与...

    Tomcat下使用ssl实现双向认证[网络安全]

    本篇文章将深入探讨如何在Tomcat环境下配置SSL,实现双向认证,确保服务器与客户端之间的通信更加安全。 首先,我们要理解SSL的原理。SSL是一种网络协议,它通过加密技术为互联网上的通信提供安全保护。双向认证,...

    apache-tomcat配置SSL双向认证

    Apache Tomcat配置SSL双向认证是实现安全通信的重要步骤,尤其对于需要高度安全性的Web应用程序。在本文中,我们将深入探讨如何在Tomcat 6环境中设置SSL双向认证,确保客户端和服务器之间的通信既加密又经过身份验证...

    利用tomcat服务器配置https双向认证、https单向认证-ssl、tls

    Tomcat作为流行的Java Servlet容器,提供了支持HTTPS协议的能力,这包括了单向认证(也称为服务器认证)和双向认证(也称为客户端认证)。这两种认证机制都是基于SSL(Secure Sockets Layer)和TLS(Transport Layer...

    tomcat 实现https 双向认证通信

    本文主要介绍如何在Linux平台上,使用Apache Tomcat、OpenSSL以及Java Keytool来实现HTTPS通信,并进一步完成双向认证的功能。文章假设读者具备基本的Linux操作技能以及对Tomcat有一定的了解。 #### 环境配置 - **...

    Tomcat6配置SSL

    **标题:** Tomcat6配置SSL **描述:** 在互联网中,数据传输的安全性至关重要,特别是在涉及用户敏感信息的Web应用中。SSL(Secure Sockets Layer)协议是实现这种安全性的基础,它通过加密通信和身份认证来保护网络...

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

    Tomcat 服务器配置 HTTPS 双向认证是指在 Tomcat 服务器上配置 SSL/TLS 加密协议,以便在客户端和服务器之间建立安全的连接。本文将指导您如何配置 Tomcat 服务器上的 HTTPS 双向认证。 一、生成服务器证书 使用 ...

    用tomcat和openSSL构建https双向认证

    这是我实战的笔记,全程直播。 #### Tomcat和Openssl构建HTTPS双向认证 ###### ...二、tomcat实现双向认证 1、创建服务器信任的CA证书库 2、配置Tomcat支持HTTPS双向认证(服务器将认证客户端证书)

    Nginx+Tomcat配置SSL双向验证示例

    本资源是一个 CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证配置示例。详细如何配置请参考博客《图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》,地址是:...

    Tomcat服务器配置https双向认证

    通过上述步骤,可以实现Tomcat服务器上HTTPS的双向认证配置。需要注意的是,实际生产环境中建议使用由权威机构颁发的数字证书,以提高安全性。此外,还需要根据实际情况调整证书的有效期、密钥大小等参数。双向认证...

    解决tomcat配置ssl错误的解决办法

    在 Tomcat 服务器中配置 SSL 加密连接是非常重要的,然而在 Tomcat 6.0.33 版本中,默认启用了 APR(APR 是通过 JNI 访问的可移植库,可以提高 Tomcat 的性能和伸缩性),这使得传统的 SSL 配置方式无法使用。...

    tomcat android 双向ssl通信

    ### 知识点概述 #### Tomcat与Android双向SSL通信实践 ...通过这些步骤和概念的介绍,我们能够更深入地理解Tomcat与Android平台之间双向SSL通信的配置过程,以及在实践中可能遇到的一些关键问题和解决方案。

Global site tag (gtag.js) - Google Analytics