首页 > 代码库 > javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)

javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)

一:软件密码学

1:对称加密

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。

对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。

缺点:

对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

2:非对称加密

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

目前最常用的非对称加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年发明,他们那时都是在MIT。

 

二:配置tomcat的https连接器

1:生成数字证书

使用java自带的命令keytool ,$JAVA_HOME$/bin/keytool.exe ,在cmd命令行执行命令生成数字证书:

技术分享

2:将生成的数字证书拷贝到tomcat服务器的conf目录下

技术分享

3:配置https连接器

在server.xml文件中配置https安全连接,可以首先查看配置的参数,进入tomcat导航页面:http://localhost:8080

技术分享

下一步

技术分享

下一步

技术分享

下一步

技术分享

 

在server.xml文件中配置https安全连接器

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

keystoreFile:是数字证书的存放位置

keystorePass:是进入数字证书的密码

这里需要注意一个问题,就是protocol协议,tomcat版本问题,如果使用默认的protocol="HTTP/1.1"启动报错,可以将

协议修改为protocol="org.apache.coyote.http11.Http11Protocol",即可。

 

4:浏览器访问https://localhost:8443,服务器会给浏览器发送数字证书(公钥),来加密需要发送的数据,但是这个数字证书

是通过sun公司命令生成的,并没有在CA注册,所以浏览器会有如下提示:

技术分享

这里继续安装证书。

5:安装数字证书

单击“继续浏览网站”

技术分享

 

技术分享

 

技术分享

然后一直“下一步”,一直到“导入证书”结束,安装成功。

关闭浏览器,再次打开输入url地址https://localhost:8443

技术分享

就可以安全访问了。

 

6:删除数字证书

ie浏览器设置

技术分享

 

技术分享

 

技术分享

删除证书成功,关闭浏览器,再次访问时,又会提示有危险信息!!!

 

三:tomcat管理平台

1:首先配置tomcat用户的管理员权限

打开conf目录下tomcat-users.xml,

技术分享

2:登录tomcat管理平台,http://localhost:8080

技术分享

 

3:tomcat管理平台

技术分享

 

技术分享

javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)