在网络上,信息在传递过程中会经过其他计算机.一般情况下它不会监听信息内容.但在网上使用网上银行或等交易的时候可能被监视,从而导致信息泄露.这时候就要应用SSL;
SSL是一种保证在网络上的两个节点之间进行安全通信的机制.它可以用来建立安全的连接.网络通信协议如HTTP,IMAP都可以采用SSL.采用了SSL的HTTP协议叫:HTTPS.HTTP默认端口是80;HTTPS端口是443.
网上购物时,安全隐患主要有两种:
1.
2.
SSL使用加密技术实现会话对方信息的安全传递,可以实现信息传递的保密性和完整性,并且会话双方能够鉴别对方的身份.
Web之间的通信可以被监视,SSL使用加密对双方的信息进行加密.所以就算被截获了,它没有密钥也无法解密.多数浏览器支持40位或128位的加密或两者都支持,而服务器只有在安装了安全证书后才可以加密通信.
除了对信息加密.SSL还采用身份认证机制.确保通信双方都可以验证双方的真实身份.它和现实中的身份证类似.身份证由国家权威机构颁布发,且不允许伪造.
SSL通过安全证书来证明WEB客户或WEB服务器的身份.当客户通过安全的连接与服务器通信时,服务器会先向客户出示它的安全证书.以证明这个站点是安全的.而且用户请求的就是这个站点.在B2B事务中,服务器还会要求客户出示安全证书.以便核实客户的身份.大多数情况下不会要.
获取安全证书有两种途径:一种是从权威机构购买.一个是创建自我签名的证书.
1.
该证书由加密技术制作而成,几乎无法伪造.由国际权威的证书机构CA(Certificate Authority)和VeriSign(www.verisign.com)和Thawte(www.thawte.com)颁发.申请时要交钱.而且一个证书只能对应一个IP.
2.
有时候通信双方只关心网络上的安全传输,不需要进行身份验证.这样就可以创建自我签名(self-assign)的证书.比如SUN公司提供的keytool就可以产生这样的证书.但效果不好.
SSL采用公钥加密技术.使用一对非对称的密钥加密或解密.每一对密钥都由公钥和密钥组成.公钥被广泛发布,私钥是隐秘的,不公开.公钥加密的数据只能用私钥解密.反过来,私钥加密的数组也只能用公钥解密.
安全证书中包含了这一对非对称的密钥.只有安全证书的所有者才知道私钥.当你将自己的证书发给别人时,实际上是将你的公钥发给他们了.这样他们就可以用公钥加密,然后将信息发给你,你就可以用私钥解密.
当用户用HTTPS访问站点时,如:https://aaa.aa.aa站点将自动向客户发送他的安全证书,即公钥.在客户与服务器进行SSH握手阶段,采用非对称加密的方法传递数据,就是上面说的那样.由此建立一个安全的会话.接下来就用对称加密方法来传递实际的通信数据.
下面是一个交互过程:
1.
2.
3.
4.
5.
6.
7.
8.
如果tomcat作为非独立的容器,如jboss,它嵌入了tomcat.这时候它就相当于一个插件,而不是独立的容器.这种情况下用设置SSL.但如果作为独立的容器.则要设置,有两步:
1.
2.
从权威机构买证书就不讲了.这里说自我签名的方式.
SUN提供了制作签名的工具:keytool,在JDK1,4以上版本中包含这个工具.它在:<JAVA_HOME>\bin\keytool.exe
创建证书的命令是:
keytool –genkey –alias tomcat –keyalg RSA
上面命令将会生成一对非对称密钥和自我签名的证书.命令中各参数含义:
-genkey : 生成密钥对
-alias : 指定密钥的别名,别名是公开的.
-keyalg : 指定加密算法,这里是RSA算法.
该命令运行时会提示输入keystore 的密码.输入tomcat默认的密码:cbangeit,然后会提示输入个人信息,按实输入就行.最后按Y确认.最后要输入tomcat密码.就是上面那个.
该命令会在windows的用户目录下生成名为: .keystore的文件.如果想指定文件存放路径,可以在命令最后加入:-keystore d:\
实例如下:
C:\Documents and Settings\Administrator>keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
您的组织单位名称是什么?
您的组织名称是什么?
您所在的城市或区域名称是什么?
您所在的州或省份名称是什么?
该单位的两字母国家代码是什么
CN=sun, OU=ine, O=it, L=wh, ST=hubei, C=CH 正确吗?
输入<tomcat>的主密码
再次输入新密码:
C:\Documents and Settings\Administrator>
最后,在我的C:\Documents and Settings\Administrator有一文件:
Tomcat中已经有责成的SSL配置,但被注释掉了.我们只需要在在server.xml中启用就OK了.
如上图,具体文字是:
将下面的connector释放出来.
联系客服