今天,有个项目做安全扫描,结果出现很多登陆相关的不安全内容。
比如:已解密的登陆请求,使用http动词篡改的认证旁路等等不安全的东西。那么好了,我们要从http变成https,问题就应该不大了。
那么继续,
1、http是需要证书的。一开始就是生成证书。
2、证书生成之后,那么需要给JVM导入证书。
3、现在就开启Tomcat的ssl功能。weblogic也是一样只要配置一下就行。
4、延伸功能,只过滤login,其他的依旧使用http。
一、创建证书&给JVM导入证书
命令:keytool -genkey -alias wsria -keyalg RSA -keystore d:/ sztcHttpsKey
命令:keytool -export -file d:/sztcHttpsKey.crt -alias wsria -keystored:/sztcHttpsKey
命令:keytool -import -keystore D:\tools\jdk1.6.0_12\jre\lib\security\cacerts -file d:/sztcHttpsKey.crt -alias wsria
三个命令分别得到 sztcHttpsKey、sztcHttpsKey.crt、cacerts。作用是sztcHttpsKey给tomcat使用的ssl秘钥。sztcHttpsKey.crt ssl证书。cacerts 是java的公钥库,这就是判断你私钥是否正确的东西。
在启用https的时候 ,其实只需要sztcHttpsKey 这个玩意就可以了。这个key的名字可以自定义,只需要在tomcat中指向这个文件就行。
二、启动Tomcat的SSL
在tomcat安装目录下conf/service.xml
中添加一个Connector
代码如下
<ConnectorclassName="org.apache.coyote.tomcat5.CoyoteConnector"
port="8443"minProcessors="5" maxProcessors="75"
enableLookups="true"disableUploadTimeout="true"
acceptCount="100"debug="0" scheme="https" secure="true"
clientAuth="false"sslProtocol="TLS" keystoreFile="D:/sztcHttpsKey"keystorePass="sztcII" />
这里是用的示例端口8443。这个时候还是可以使用8080端口访问http。所以我将以前的8080端口删除,然后将上面代码的端口改为8080。这样就只能使用https访问了。