- 浏览: 234096 次
- 性别:
- 来自: 广东
文章分类
最新评论
-
wangmuchang:
解压需要密码
CAS单点登录之测试应用 -
ayang722:
首先就要在运行报表birt的IEngineTask中加入, J ...
birt配置动态数据源 -
lihong11:
very good!
js常用方法 -
qtlkw:
你共享出来为什么要密码?要密码为何要共享出来?汗
CAS单点登录之测试应用 -
lishouxinghome:
请问如何获得用户的Id呢,往指点
使用 CAS 在 Tomcat 中实现单点登录
Tomcat6.0配置SSL
一、为了节约时间,我这里就只根据我的配置过程进行描述,读者根据各自情况自己分析。
1、在命令行中进入%CATALINA_HOME%/bin目录下执行以下命令:
(1)%CATALINA_HOME%/bin> keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
此时会在%TOMCAT_HOME%/bin下生成server.keystore 文件。
注:参数 -validity 指证书的有效期(天),缺省有效期很短,只有90天。
(2)%CATALINA_HOME%/bin> keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit
这一步用于导出证书,此时会在%TOMCAT_HOME%/bin下生成server.cer 文件。
(3)%CATALINA_HOME%/bin> keytool -import -trustcacerts -alias tomcat -file server.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
这一步是导入到证书信任库,大家可以观察%JAVA_HOME%/jre/lib/security/cacerts 这个文件,执行完此命令后,文件变大。
附:keytool其它命令(列出信任证书库中所有已有证书,删除库中某个证书):
keytool -list -v -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts
keytool -delete -trustcacerts -alias tomcat -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts -storepass changeit
2、修改%TOMCAT_HOME%\conf\server.xml
找到这段代码: Java代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
这段代码本来是注释掉的,把注释去掉,并且加上两个属性之后,如下:
Java代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\tomcat6.0\bin\server.keystore"
keystorePass="changeit" />
3、启动tomcat,访问 https://localhost:8443/,弹出一个安全警告的页面就OK了。
SSL认证详解
单向认证 SSL 协议的具体过程
①客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
②服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
③客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
⑤如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
⑥如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码 ”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
⑦服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
⑧客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
双向认证 SSL 协议的具体过程
① 浏览器发送一个连接请求给安全服务器。
② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。
⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。
⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。
⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。
⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。
上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的(这并不影响 SSL 过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用 128 位加密通讯的原因。
发表评论
-
ssh框架加入atomikos分布式事务管理
2015-01-06 18:48 1478一、概念 分布式事务分布式事务是指事务 ... -
Spring 动态切换数据源
2014-05-09 14:30 3646一、开篇 这里整合分别采用了Hibernate和MyB ... -
Spring切入点表达式常用写法
2014-05-09 14:25 824自从使用AspectJ风格切面配置,使得Spring的切面配 ... -
Spring中线程池的应用
2014-03-24 11:03 903多线程并发处理起来通常比较麻烦,如果你使用spring容器来 ... -
Spring线程池开发实战
2014-03-24 11:02 761本文提供了三个Spring多线程开发的例子,由浅入深,由于例 ... -
JSch - Java实现的SFTP(文件上传详解篇)
2013-11-21 09:36 907JSch是Java Secure Channel的缩写。J ... -
JAVA线程池ThreadPoolExecutor
2013-07-17 14:45 904java.util.concurrent.ThreadPoo ... -
log4j.properties 使用说明
2013-05-29 10:54 814一、Log4j简介Log4j有三个主要的组件:Logger ... -
eclipse安装反编译插件(附jad下载)
2012-12-12 10:45 834一、eclipse反编译插件Jadclipse jadclip ... -
web.xml 配置404和500错误的自定义页面
2012-12-07 11:47 820web.xml <error-page>< ... -
java内存溢出
2012-06-28 18:57 879一、常见的Java内存溢出 ... -
List Set Map区别
2012-12-25 17:54 923List有序key和value都能重 ... -
Java 自定义Annotation(元数据、注解)
2011-08-05 11:50 1928Annotation在java的世界正铺天盖地展开,有空写这一 ... -
LOG4J properties 配置文件
2011-06-29 16:31 1179一、参数意义说明1、输出级别的种类 ERROR、 ... -
servlet输出一个文件
2010-11-10 18:33 1172String fileName= file.getName() ... -
关于RSS、RDF、ATOM和Feed
2010-11-02 09:48 1231RSS被不同的技术团体做不同的解释,分别有 Rich Site ... -
正确理解Traceback的含义
2010-11-02 09:44 1020Traceback是Blog的一个重要 ... -
关于Serializable的serialVersionUID
2010-10-26 09:10 1765众所周知,当某class实现了Serializable接口 ... -
获得CLASSPATH之外路径的方法
2010-10-14 10:37 966URL base = this.getClass().getR ... -
操作properties文件
2010-10-14 10:30 812发个例子大家自己看哈.package control; im ...
相关推荐
### Tomcat 6.0与SSL配置详解:实现双向安全通信 #### 一、SSL技术概览 SSL(Secure Socket Layer),即安全套接层协议,是一项关键的网络安全技术,旨在确保Web浏览器与Web服务器之间的数据传输安全。通过在数据...
安全方面,Tomcat6.0支持SSL/TLS协议,可以通过配置`server.xml`中的`<Connector>`元素来启用HTTPS服务,提供加密的通信。此外,还应注意限制对`conf`目录的访问,以防止配置文件被篡改。 总的来说,Tomcat6.0是一...
3. **内存管理和线程池**:Tomcat 6.0提供了更有效的内存管理机制和线程池配置选项,有助于提高服务器的稳定性和响应速度。 4. **安全增强**:该版本增强了安全管理,支持SSL/TLS协议,可以设置数字证书,保护Web...
Tomcat6.0作为一款免费开源的JSP服务器,凭借其强大的功能和灵活的配置,成为了许多企业和开发者首选的Web应用服务器。从基础架构到高级特性,如管理控制台、安全域管理以及Valves,都体现了其高效、易用和可扩展的...
本教程将带你深入了解如何配置Apache Tomcat 6.0,以确保你能顺利地运行和管理Java Web应用。 1. **安装Tomcat** 首先,你需要下载Apache Tomcat 6.0的二进制版本。文件`apache-tomcat-6.0.35-src.zip`是源代码包...
在解压后的"tomcat6.0"文件中,通常会包含以下几个关键部分: - `bin`目录:包含了启动和停止Tomcat的脚本,以及一些管理工具。 - `conf`目录:存放配置文件,如`server.xml`定义了服务器的配置,`context.xml`管理...
5. **安全性**:Tomcat支持多种安全机制,包括SSL/TLS协议以实现加密通信,角色基础的访问控制(RBAC)来限制不同用户的访问权限,以及可以通过`context.xml`和`server.xml`配置文件进行的其他安全设置。 6. **性能...
标题中的“解压版Tomcat6.0”指的是Apache Tomcat服务器的6.0版本的非安装版,这种版本不需要经过传统的安装过程,用户只需将其下载并解压缩到指定目录即可开始使用。Tomcat是一个开源的Java Servlet容器,主要用于...
安全方面,Tomcat 6.0 提供了多种安全特性,如SSL/TLS加密支持,可以保护传输中的敏感数据。它还支持JAAS(Java Authentication and Authorization Service),可以根据需要配置不同级别的用户权限和访问控制。 ...
Tomcat的安全性和性能可以通过调整配置文件进行优化,例如限制并发连接数、启用SSL加密、设置连接器超时等。同时,定期更新到最新版本可以防止已知的安全漏洞。 总结,Tomcat 6.0是一个强大且灵活的Java Web服务器...
标题中的“tomcat6.0”指的是Apache Tomcat 6.0版本,这是一个开源的Java Servlet容器,主要用于部署和运行Java EE(Enterprise Edition)应用程序,特别是JSP(JavaServer Pages)和Servlet。Tomcat作为轻量级应用...
6. **安全性**:Tomcat6.0支持HTTPS协议,可以通过修改`server.xml`文件配置SSL证书,以提供加密的数据传输。 7. **热部署**:Tomcat6.0支持热部署,即在不重启服务器的情况下更新应用程序。 8. **社区支持**:...
1. **SSL/TLS支持**:Tomcat 6.0支持HTTPS协议,可以配置SSL证书,为Web应用提供加密传输,确保数据安全。 2. **访问控制**:通过在web.xml中配置security-constraint和login-config元素,可以实现基于角色的访问...
6. **安全管理**:Tomcat 6.0支持多种安全机制,如基本认证、digest认证、SSL/TLS加密通信等,通过`conf/server.xml`中的`<Realm>`元素进行配置,以保护Web应用免受未经授权的访问。 7. **性能优化**:Tomcat 6.0...
Tomcat 6.0支持多种安全特性,如SSL/TLS加密通信、Basic或Digest认证、Form认证等。在`server.xml`和`context.xml`中配置 Realm 和 Role 可以实现用户权限控制。 **9. 更新与升级** 随着新版本的发布,Tomcat 6.0...
3. **SSL支持**:Tomcat可配置为使用HTTPS协议,提供加密的通信,确保数据传输安全。 **四、性能优化** 1. **连接器优化**:调整连接器的maxThreads参数,根据服务器硬件配置和预期负载来设定最大线程数。 2. **...
4. **安全配置**:如何通过源代码理解Tomcat的安全机制,如角色认证、访问控制和SSL/TLS支持。 5. **部署与热部署**:理解部署描述符(web.xml)的解析过程,以及如何实现在不重启服务器的情况下更新应用程序。 6....
在MyEclipse中配置Tomcat 6.0,通常需要指定Tomcat的安装路径,并在IDE的服务器视图中启动和管理。 5. **安全管理** Tomcat 6.0提供了用户认证和授权机制,可以通过`conf/tomcat-users.xml`配置用户和角色,以及...
6. **安全管理**:Tomcat6.0的安全管理包括配置用户角色、限制访问权限和设置SSL证书。这些可以通过修改conf/tomcat-users.xml和server.xml中的相关部分来实现。 7. **性能调整**:为了优化Tomcat的性能,可能需要...
【标题】"Tomcat 6.0" 是一个历史悠久且广泛应用的开源Java Servlet容器,它由Apache软件基金会维护。这个版本的Tomcat是基于Java EE 5规范的,支持Servlet 2.5和JSP 2.1标准,为开发者提供了在Web服务器上部署Java ...