加密主要有两种方式:对称加密和非对称加密。

对称加密

 
常用的对称加密有: DES, IDEA, RC2, RC4, SKIPJACK, RC5, AEC算法等。

非对称加密

 
2. CA机构确认是B发送的公钥之后就会为B担保,生成一份数字证书给B,数字证书包含了CA的担保认证签名和B的公钥,A拿到CA的数字证书后,看到上面有CA的签名,就可以确定当前拿到的公钥是B发的,这样就可以放心的使用公钥加密数据然后发给B了

Tomcat服务器与加密解密

Tomcat服务器启动时会启动多个Connector(连接器),而Tomcat服务器的连接器又可以分为加密连接器和非加密连接器。在server.xml中有配置Connector:

<Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />

8080这个端口对应的连接器就是没有加密的Connector,在请求资源时我们的请求也是不加密的。要是想要以加密的方式来访问Tomcat服务器,就需要在Tomcat里配置一个加密的Connector。 
浏览器与服务器交互时,浏览器想要将数据加密之后再发送给服务器,该怎么做呢? 
首先,服务器要先向浏览器出示一份数字证书,浏览器看到数字证书之后,就可以使用数字证书里的公钥加密数据。因此得针对服务器生成一份数字证书。然后再配置一下服务器,让服务器收到浏览器的请求后,向浏览器出示它的数字证书。 
生成Tomcat服务器的数字证书 
sun公司提供了制作证书的工具keytool,在JDK1.4以后版本中都包含了这个工具,它在JAVA_HOME\bin\keytool.exe。使用keytool生成一个名为tomcat的证书,放在.keystore这个密钥库中。

keytool -genkey -alias tomcat -keyalg RSA

可以使用指令查看.keystore密钥库里面的所有证书

keytool -list -keystore .keystore

 

 
修改server.xml文件,配置HTTP连接器:

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

配置了一个端口是8443的加密连接器,浏览器访问8443端口的连接器时,将会以加密的方式访问web服务器,这个连接器收到浏览器的请求后,将会向浏览器出示一份数字证书,浏览器再用数字证书里的公钥来加密数据。服务器从密钥库中提取证书时需要密码,keystorePass这个属性就是指明了密码。 
使用"https://localhost:8443/"访问8443的加密连接器 
互联网的加密原理

 由于密钥库里的证书时我们自己生成的,并没有经过CA认证,所以在访问的时候,浏览器会出现"证书错误,导航已阻止"这种情况,浏览器会认为当前要访问的这个主机是不安全的,不推荐访问,点击"继续浏览此网站"即可。 
互联网的加密原理

 安装数字证书   
为了让浏览器信任我们生成的数字证书,需要将数字证书安装到浏览器中,以IE8为例来安装证书,过程如下: 
互联网的加密原理
互联网的加密原理   
互联网的加密原理   
证书安装成功后,重启IE浏览器,使用"https://localhost:8443/"访问8443的加密连接器,此时浏览器就不再提示证书错误了。

 删除数字证书 
工具----->Internet选项 
互联网的加密原理
删除后重启浏览器即可。   

 

 

相关文章:

  • 2021-11-28
  • 2021-08-10
  • 2021-05-15
  • 2021-07-15
  • 2021-12-30
  • 2021-09-27
猜你喜欢
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
  • 2021-06-22
  • 2021-04-01
  • 2021-04-20
相关资源
相似解决方案