您的位置:首页 > 理论基础 > 计算机网络

软件密码学基础和配置tomcat的https连接器

2016-07-03 20:26 393 查看

软件领域的加密原理

配置tomcat的https连接器,即配置加密连接器。若要如此,就不得不了解一下软件领域里的加密原理。

对称加密模型,如图:



这种加解密的模型——对称加密,会有一个极大的漏洞,即a怎么将密钥告诉给b?答案是根本就没有安全途径!!!

非对称加密模型

案例,蒋介石给宋美龄写信。

注意:公钥加密的数据只能由私钥来解,私钥加密的数据只能由公钥来解



此时会产生一个新的问题:宋美龄将公钥传递给蒋介石的过程中,我将其截获下来,然后我自己通过非对称加密算法生成一对密钥——私钥和公钥,接着将我的公钥传递给蒋介石,蒋介石获取到我的公钥,对信进行加密,将信发送给宋美龄,我又拦截到,用我的私钥对信进行解密即可,即使信发送给宋美龄,也无法通过其私钥来解密。

总结:当蒋给宋写信时,首先获取到宋的公钥,但是要怎么确保公钥是宋的呢

解决办法,如图:



此时又会产生一个新的问题:我可以将宋传给蒋的数字证书拦截下来,然后加密一段数据,发送给宋(如果蒋将信发给宋,就截下来),宋解密我发给其的数据。

总结:蒋用宋的数字证书对信进行加密发送给宋,宋收到信,宋要判断信是蒋发的,还是我发的

解决办法,如图:



数据摘要即数据指纹,每一段数据都有一个指纹,如同每个人都有一个唯一的指纹一样,数据指纹是通过MD5算法算得。

配置tomcat的https连接器

首先为网站生成一份数字证书,使用的命令是:
keytool -genkey -alias tomcat -keyalg RSA
(这句命令的意思是使用keytool生成一个名字为tomcat的证书,存放在.keystore这个密钥库中),然后再在服务器中配置加密的连接器。一访问此加密连接器,网站即向你出示一份数字证书,然后浏览器安装这份数字证书,相当于安装此网站的公钥。

数字证书——系统会使用密钥库(keystore)来保存。

为网站生成一份数字证书(配置密钥库)

如下图:



此时生成的密钥库
.keystore
默认存放在
C:\Users\wang sheng
目录下。

使用命令:
keytool -list -keystore .keystore
可查看
.keystore
密钥库里面的所有证书:



在服务器中配置加密的连接器

将密钥库剪切,存放在Tomcat服务器下的conf目录下,在server.xml配置加密连接器。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456" />


keystoreFile
:密钥库存放的位置。

keystorePass
:密钥库访问的口令(密码)。

提示:配置Connector连接器可参考tomcat文档。

测试

在客户端安装服务器证书

进入服务器端口8443,但是没有CA认证的数字证书。



点击
继续浏览此网站
,出现如下界面。



点击
证书错误
,出现如下界面。



点击
查看证书
,出现如下界面。



点击
安装证书
,出现如下界面。













以上步骤即是在客户端安装了一份数字证书,并信任该数字证书。

再次启用浏览器进行访问,以加密的方式与服务器进行交互,应该会出现如下界面:



此时又会产生一个问题:当浏览器被劫持,所有的不安全证书被允许安装时就又出现不安全状况。

检查安装结果

步骤如图所示:







注意:此文配置的只是单向加密连接器。实际开发中应配置https双向加密连接器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: