java 应用 tomcat 中实现 https 安全连接的
方法
发布时间:2008.04.14 04:43 来源:赛迪网 作者:额外威望
【赛迪网技术报道】
SSL, 或者 Secure Socket Layer,是一种允许 web 浏览器和 web 服务器通过一个
安全的连接进行交流的技术。这意味着将被发送的数据在一端被翻译成密码,传送出去,然
后在另一端解开密码,再进行处理。这是一个双向的过程,也就是浏览器和服务器都需要在
发送数据之前对它们进行加密。
SSL 协定的另一个重要方面是认证(Authentication)。这就是说,在你开始试图通过
一个安全连接与一个 web 服务器交流的时候,这个服务器会要求你的浏览器出示一组证
件,通过“鉴定”的方式来证明这就是你所声明的网站。
在某些情况下,服务器还会要求你的 web 浏览器的认证书,证明你就是你所说的那个
人。这就是所知的“客户认证”,尽管实际情况中,更多地用在商务-对-商务(B2B)交易,而
不是对个人用户。
但大多数有 SSL 功能的 web 服务器不要求客户认证(Client Authentication)。
证书
为了能实施 SSL,一个 web 服务器对每个接受安全连接的外部接口(IP 地址)必须要有
相应的证书(Certicate)。关于这个设计的理论是一个服务器必须提供某种合理的保证以证
明这个服务器的主人就是你所认为的那个人。这个证书要陈述与这个网站相关联的公司,以
及这个网站的所有者或系统管理员的一些基本联系信息。
这个证书由所有人以密码方式签字,其他人非常难伪造。对于进行电子商务(e-
commerce)的网站,或其他身份认证至关重要的任何商业交易,认证书要向大家所熟知的
认证权威(Certicate Authority (CA))如 VeriSign 或 Thawte 来购买。这样的证书可用
电子技术证明属实。实际上,认证权威单位会担保它发出的认证书的真实性,如果你信任发
出认证书的认证权威单位的话,你就可以相信这个认证书是有效的。
在许多情况下,认证并不是真正使人担忧的事。系统管理员或许只想要保证被服务器
传送和接收的数据是秘密的,不会被连接线上的偷窃者盗窃到。庆幸的是,Java 提供相对
简单的被称为 keytool 的命令行工具,可以简单地产生“自己签名”的证书。自己签名的证书
只是用户产生的证书,没有正式在大家所熟知的认证权威那里注册过,因此不能确保它的真
实性。但却能保证数据传输的安全性。
- 1
- 2
前往页