首页 > 代码库 > 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管理平台)