软件领域的加密原理

软件领域的加密原理

配置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" />
  • 1
  • 2
  • 3

keystoreFile :密钥库存放的位置。 
keystorePass :密钥库访问的口令(密码)。 
提示:配置Connector连接器可参考tomcat文档。

测试

在客户端安装服务器证书

  1. 进入服务器端口8443,但是没有CA认证的数字证书。 
    这里写图片描述
  2. 点击继续浏览此网站 ,出现如下界面。 
    这里写图片描述
  3. 点击证书错误 ,出现如下界面。 
    这里写图片描述
  4. 点击查看证书 ,出现如下界面。 
    这里写图片描述
  5. 点击安装证书 ,出现如下界面。 
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    以上步骤即是在客户端安装了一份数字证书,并信任该数字证书。 
    再次启用浏览器进行访问,以加密的方式与服务器进行交互,应该会出现如下界面: 
    这里写图片描述 
    此时又会产生一个问题:当浏览器被劫持,所有的不安全证书被允许安装时就又出现不安全状况。

检查安装结果

步骤如图所示:


  1. 这里写图片描述

  2. 这里写图片描述

  3. 这里写图片描述

注意:此文配置的只是单向加密连接器。实际开发中应配置https双向加密连接器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值