知识大全 Java应用 Tomcat中实现https安全连接的方法

Posted 密码

篇首语:知识比金钱宝贵,比刀剑锋利,比枪炮威力大。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java应用 Tomcat中实现https安全连接的方法相关的知识,希望对你有一定的参考价值。

Java应用 Tomcat中实现https安全连接的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  SSL 或者Secure Socket Layer 是一种允许web浏览器和web服务器通过一个安全的连接进行交流的技术 这意味着将被发送的数据在一端被翻译成密码 传送出去 然后在另一端解开密码 再进行处理 这是一个双向的过程 也就是浏览器和服务器都需要在发送数据之前对它们进行加密

  SSL协定的另一个重要方面是认证(Authentication) 这就是说 在你开始试图通过一个安全连接与一个web服务器交流的时候 这个服务器会要求你的浏览器出示一组证件 通过 鉴定 的方式来证明这就是你所声明的网站

  在某些情况下 服务器还会要求你的web浏览器的认证书 证明你就是你所说的那个人 这就是所知的 客户认证 尽管实际情况中 更多地用在商务 对 商务(B B)交易 而不是对个人用户

  但大多数有SSL功能的web服务器不要求客户认证(Client Authentication)

  证书

  为了能实施SSL 一个web服务器对每个接受安全连接的外部接口(IP 地址)必须要有相应的证书(Certificate) 关于这个设计的理论是一个服务器必须提供某种合理的保证以证明这个服务器的主人就是你所认为的那个人 这个证书要陈述与这个网站相关联的公司 以及这个网站的所有者或系统管理员的一些基本联系信息

  这个证书由所有人以密码方式签字 其他人非常难伪造 对于进行电子商务(e merce)的网站 或其他身份认证至关重要的任何商业交易 认证书要向大家所熟知的认证权威(Certificate Authority (CA))如VeriSign或Thawte来购买 这样的证书可用电子技术证明属实 实际上 认证权威单位会担保它发出的认证书的真实性 如果你信任发出认证书的认证权威单位的话 你就可以相信这个认证书是有效的

  在许多情况下 认证并不是真正使人担忧的事 系统管理员或许只想要保证被服务器传送和接收的数据是秘密的 不会被连接线上的偷窃者盗窃到 庆幸的是 Java提供相对简单的被称为keytool的命令行工具 可以简单地产生 自己签名 的证书 自己签名的证书只是用户产生的证书 没有正式在大家所熟知的认证权威那里注册过 因此不能确保它的真实性 但却能保证数据传输的安全性

  认证也许很重要 也许不重要 完全决定于网站的需要

  用Tomcat来配置SSL主要有下面这么两大步骤

  一 生成证书

   在命令行下执行

  %Java_home%\\bin\\keytool genkey alias tomcat keyalg RSA

  在此命令中 keytool是JDK自带的产生证书的工具 把RSA运算法则作为主要安全运算法则 这保证了与其它服务器和组件的兼容性

  这个命令会在用户的home directory产生一个叫做 keystore 的新文件 在执行后 你首先被要求出示keystore密码 Tomcat使用的默认密码是 changeit (全都是小写字母) 如果你愿意 你可以指定你自己的密码 你还需要在server xml配置文件里指定自己的密码 这在以后会有描述

   你会被要求出示关于这个认证书的一般性信息 如公司 联系人名称 等等 这些信息会显示给那些试图访问你程序里安全网页的用户 以确保这里提供的信息与他们期望的相对应

   你会被要求出示密钥(key)密码 也就是这个认证书所特有的密码(与其它的储存在同一个keystore文件里的认证书不同) 你必须在这里使用与keystore密码相同的密码 (目前 keytool会提示你按ENTER键会自动帮你做这些)

  如果一切顺利 你现在就拥有了一个可以被你的服务器使用的有认证书的keystore文件

  二 配置tomcat

  第二个大步骤是把secure socket配置在$CATALINA_HOME/conf/server xml文件里 $CATALINA_HOME代表安装Tomcat的目录 一个例子是SSL连接器的元素被包括在和Tomcat一起安装的缺省server xml文件里 它看起来象是这样

  $CATALINA_HOME/conf/server xml

  < Define a SSL Coyote HTTP/ Connector on port >

  < !

  < Connector

  port= minProcessors= maxProcessors=

  enableLookups= true disableUploadTimeout= true

  acceptCount= debug= scheme= secure= true ;

  clientAuth= false sslProtocol= TLS />

   >

  Connector元素本身 其默认形式是被注释掉的(mented out) 所以需要把它周围的注释标志删除掉 然后 可以根据需要客户化(自己设置)特定的属性 一般需要增加一下keystoreFile和 keystorePass两个属性 指定你存放证书的路径(如 keystoreFile= C:/ keystore )和刚才设置的密码(如 keystorePass= ) 关于其它各种选项的详细信息 可查阅Server Configuration Reference

cha138/Article/program/Java/ky/201311/29206

相关参考

知识大全 Java jsp tomcat6 mysql连接池配置

Javajsptomcat6mysql连接池配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 tomcat中部署java项目

  在Tomcat中部署JavaWeb应用程序有两种方式静态部署和动态部署在下文中$CATALINA_HOME指的是Tomcat根目录  一静态部署  静态部署指的是我们在服务器启动之前部署我们的程序

知识大全 Tomcat 的数据库连接池设置与应用

Tomcat的数据库连接池设置与应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!.将数据库驱动程

知识大全 如何使用php判断服务器是否是HTTPS连接

如何使用php判断服务器是否是HTTPS连接  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!需要判断

知识大全 手机百度打开https安全搜索模式会怎么样

手机百度打开安全搜索模式会怎么样您好!百度搜索可以保护传输数据不被窃取,可以很好的保护您的隐私。是一种安全加密访问协议,不久互联网会全部变成HTTPS加密访问,比如淘宝,天猫,百度,支付宝等等。需要S

知识大全 在 tomcat 5 中配置数据库连接池(DBCP)

在tomcat5中配置数据库连接池(DBCP)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首

知识大全 基于tomcat5.5的数据库连接池环境设置

  安装tomcat的adminpackagetomcat版本中的admin没有默认安装先下载adminpackagejakartatomcatadminzip或者jakartatomcatadmin

知识大全 tomcat下连接池的配置

  一  把数据库JDBC驱动拷贝到  %TOMCAT_HOME%/mon/lib  或  %TOMCAT_HOME%/webapps/yourweb/WEBINF/lib下;  修改tomcat安装

知识大全 Java连接DB2数据库开发应用程序的步骤

Java连接DB2数据库开发应用程序的步骤  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文我们来

知识大全 Tomcat 5.0-5.5连接池配置指南

Tomcat5.0-5.5连接池配置指南  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文以目