SSL简介 SSL, 或者Secure Socket
Layer,是一种允许web浏览器和web服务器通过一个安全的连接进行交流的技术。这意味着将被发送的数据在一端被翻译成密码,传送出去,然后在另一
端解开密码,再进行处理。这是一个双向的过程,也就是浏览器和服务器都需要在发送数据之前对它们进行加密。
SSL协定的另一个重要方面是认证(Authentication)。这就是说,在你开始试图通过一个安全连接与一个web服务器交流的时候,这个服务器 会要求你的浏览器出示一组证件,通过“鉴定”的方式来证明这就是你所声明的网站。
在
某些情况下,服务器还会要求你的web浏览器的认证书,证明你就是你所说的那个人。这就是所知的“客户认证”,尽管实际情况中,更多地用在商务-对-商
务(B2B)交易,而不是对个人用户。 但大多数有SSL功能的web服务器不要求客户认证(Client Authentication)。 证书
为了能实施SSL,一个web服务器对每个接受安全连接的外部接口(IP 地址)必须要有相应的证书(Certificate)。
关于这
个设计的理论是一个服务器必须提供某种合理的保证以证明这个服务器的主人就是你所认为的那个
人。这个证书要陈述与这个网站相关联的公司,以及这个网站的所有者或系统管理员的一些基本联系信息。
这个证书由所有人以密码方式签字,其他人非常难伪造。对于进行电子商务(e-commerce)的网站,或其他身份认证至关重要的任何商业交易,认证书要
向大家所熟知的认证权威(Certificate Authority
(CA))如VeriSign或Thawte来购买。这样的证书可用电子技术证明属实。实际上,认证权威单位会担保它发出的认证书的真实性,如果你信任发
出认证书的认证权威单位的话,你就可以相信这个认证书是有效的。
在许多情况下,认证并不是真正使人担忧的事。系统管理员或许只想要保证
被服务器传送和接收的数据是秘密的,不会被连接线上的偷窃者到。庆幸的是,
Java提供相对简单的被称为keytool的命令行工具,可以简单地产生“自己签名”的证书。自己签名的证书只是用户产生的证书,没有正式在大家所熟知
的认证权威那里注册过,因此不能确保它的真实性。但却能保证数据传输的安全性。 认证也许很重要,也许不重要,完全决定于网站的需要。
用Tomcat来配置SSL主要有下面这么两大步骤:
一、生成证书
1、
在命令行下执行: %Java_home%/bin/keytool -genkey -alias tomcat -keyalg RSA
在此命令中,keytool是JDK自带的产生证书的工具。把RSA运算法则作为主要安全运算法则,这保证了与其它服务器和组件的兼容性。
这个命令会在用户的home directory产生一个叫做" .keystore "
的新文件。在执行后,你首先被要求出示keystore密码。Tomcat使用的默认密码是" changeit
"(全都是小写字母),如果你愿意,你可以指定你自己的密码。你还需要在server.xml配置文件里指定自己的密码,这在以后会有描述。
在删除或者更改时,可能会出现错误:
keytool
错误:
java.io.IOException: Keystore was tampered with, or password was i
ncorrect
原因:系统中有了
*.keystore
文件,删除此文件可解决问题。此文件通常在
C:/Documents and Settings/Administrator
目录之下。(Linux/Unix系统则在
用户的home directory)
2、 你会被要求出示关于这个认证书的一般性信息,如公司,联系人名称,等等。这些信息会显示给那些试图访问你程序里安全网页的用户,以确保这里提供的信息与他 们期望的相对应。
3、
你会被要求出示密钥(key)密码,也就是这个认证书所特有的密码(与其它的储存在同一个keystore文件里的认证书不同)。你必须在这里使用与
keystore密码相同的密码。(目前,keytool会提示你按ENTER键会自动帮你做这些)。
如果一切顺利,你现在就拥有了一个可以被你的服务器使用的有认证书的keystore文件。
二、配置tomcat
第二个大步骤是把secure socket配置在$CATALINA_HOME/conf/server.xml文件里。
$CATALINA_HOME代表安装Tomcat的目录。
一 个例子是SSL连接器的<Connector>元素被包括在和Tomcat一起安装的缺省server.xml文件里。
它看起来象是这样:
$CATALINA_HOME/conf/server.xml <-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="843" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true" acceptCount="100"
debug="0" scheme="https" secure="true"; clientAuth="false"
sslProtocol="TLS"/> --> Connector元素本身,其默认形式是被注释掉的(commented
out),所以需要把它周围的注释标志删除掉。
然后,可以根据需要客户化(自己设置)特定的属性。一般需要增加一下keystoreFile和
keystorePass两个属性,指定你存放证书的路径(如:keystoreFile="C:/.keystore")和刚才设置的密码(如:
keystorePass="123456")。关于其它各种选项的详细信息,可查阅Server Configuration Reference。
在完成这些配置更改后,必须象重新启动Tomcat,然后你就可以通过SSL访问Tomcat支持的任何web应用程序。只不过指令需要像下面这样:
https://localhost
分享到:
相关推荐
https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置
为了能实施SSL,一个web服务器对每个接受安全连接的外部接口(IP 地址)必须要有相应的证书(Certificate)。关于这个设计的理论是一个服务器必须提供某种合理的保证以证明这个服务器的主人就是你所认为的那个人。这个...
### 在Tomcat中配置HTTPS详解 #### 一、引言 随着互联网技术的发展与安全意识的提高,HTTPS已经成为现代Web应用的标准配置之一。HTTPS通过在HTTP的基础上加入SSL/TLS加密层,确保了数据传输的安全性。本文将详细...
Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 Tomcat 连接池的使用。 一、...
标题 "Tomcat 快速实现HTTPS访问(Linux)" 指的是在Linux环境中配置Apache Tomcat服务器以支持安全套接层(SSL)协议,从而实现HTTPS访问。HTTPS是HTTP协议的安全版本,它通过使用SSL/TLS协议加密通信,确保数据在...
在企业级应用中,数据库的安全性尤为重要。其中,数据库连接池作为应用程序与数据库之间的桥梁,扮演着关键角色。然而,当数据库的用户名和密码直接硬编码在配置文件(如Tomcat的`server.xml`)中时,这些敏感信息...
jmx 实现远程连接tomcat jmx(Java Management Extensions)是一种Java技术,用于监控和管理Java应用程序。...通过以上步骤,我们可以成功实现jmx远程连接tomcat,实现在远程监控tomcat的应用程序。
本文将深入探讨如何在Apache Tomcat服务器中配置HTTPS,以实现安全的网络通信。 ### 一、SSL/HTTPS简介 SSL(Secure Socket Layer),即安全套接层协议,是为Web浏览器与Web服务器之间的通信提供安全保障的一种...
本篇文章将详细介绍如何在Tomcat中配置HTTPS证书认证,以便实现安全的Web服务。 首先,我们需要了解HTTPS的基本原理。HTTPS是在HTTP协议的基础上加入SSL/TLS(Secure Socket Layer/Transport Layer Security)协议...
通过以上步骤,你可以在Tomcat 6中成功配置HTTPS,提供安全的Web服务。然而,随着技术的发展,建议升级到更现代的Tomcat版本,以获取更好的性能和安全性。同时,不要忘记定期更新和续订证书,以保持与最新安全标准的...
在Tomcat中,我们可以使用自签名证书进行测试环境的配置,这通常通过`keys`文件夹中的`keytool`工具来实现。 1. **生成证书** 使用Java自带的`keytool`命令行工具,我们可以创建一个自签名证书。打开终端,输入...
1. **users.xml**和**tomcat-users.xml**:在`conf`目录下,用于配置Tomcat的用户和角色,以实现基于角色的访问控制(RBAC)。 2. **context.xml**或`META-INF/context.xml`:可以设置应用级别的安全约束,如SSL...
本文将详细讲解在Tomcat中配置数据库连接池的几种常见方法,帮助开发者实现高效、稳定的数据库访问。 一、Apache Commons DBCP Apache Commons DBCP是Apache组织提供的一款开源数据库连接池组件,它基于Jakarta-...
总的来说,配置Tomcat服务器的HTTPS涉及修改`server.xml`以设置SSL连接器,并可能修改`web.xml`以实现强制HTTPS。这个过程虽然稍显复杂,但对于提供安全的Web服务来说是必不可少的。通过理解这些配置,你可以更好地...
在IT行业中,Tomcat是一款广泛使用的轻量级Java应用服务器,而SQL Server 2008是Microsoft提供的一个强大数据库管理系统。将Tomcat与SQL Server 2008连接起来,可以让Java应用程序利用数据库存储和处理数据。以下是...
为了让 HTTP 请求能够自动重定向到 HTTPS,我们需要在 Spring Boot 启动类中添加以下两个方法: 1. **创建 `EmbeddedServletContainerFactory` 实例**:该实例用于配置 Tomcat 的连接器,并添加安全约束。 ```...
在Tomcat中,我们通常使用内置的连接池实现,如Apache Commons DBCP或C3P0。 **配置步骤:** 1. **添加依赖库**:在`$CATALINA_HOME/lib`目录下,我们需要添加对应的jar包文件,这可能包括`commons-dbcp.jar`...
在IT行业中,Tomcat是一个广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。本文将详细介绍如何在Tomcat服务器上将HTTP转换为更安全的HTTPS协议。 首先,为了实现HTTPS,我们需要一个数字证书,...
在IT行业中,Tomcat是一个广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,包括Servlet和JSP标准。在网络安全日益重要的今天,从HTTP升级到HTTPS是必要的,因为HTTPS可以提供加密通信和身份验证,保护...