一、使用场景
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer)-超文本传输协议安全,在数据进行传输过程中,使用加密处理,保证数据传输的安全。HTTPS协议在使用时需要向权威CA机构申请(验证服务机构可靠性),一般在交易支付或者敏感数据加密地方使用,现在大的知名完整都是全站使用该协议,如百度、淘宝等
二、配置步骤
1. 生成密钥库文件,如test.keystore,命令字符串是keytool -genkey -keyalg RSA -alias test -dname " CN=localhost, OU=javaeeOU, O=javaee, L=GuangZhou, ST=GuangDong, C=CN" -storepass changeit -keystore test.keystore,使用默认密码,直接回车,具体如下图所示
2. 导出别名为test的证书,证书名test.crt,命令是keytool -export -alias test -file root.crt -storepass changeit -keystore test.keystore,具体如下图所示
3. 将证书导入到jre信任证书库中,
4. 查看别名为test的证书信息,确认成功导入到jre信任证书库中(命令是keytool -v -list -alias test -keystore “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit),如上图所示(查看所有信任的证书信息keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit)
5. 将test.keystore拷贝到Tomcat安装地址的conf目录下,并对server.xml进行配置修改,如下图所示
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"@b@ maxThreads="150" scheme="https" secure="true"@b@ clientAuth="false" sslProtocol="TLS"@b@ keystoreFile="conf/test.keystore" keystorePass="changeit"@b@ truststoreFile="C:/NJ/PF/Java/jdk1.6.0_39/jre/lib/security/cacerts"@b@ ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA" @b@/>
6.测试访问,通过https://localhost:8443/(如火狐浏览器出现ssl_error_weak_server_ephemeral_dh_key异常,点击跳转页)如下图所示
三、相关下载
HTTPS配置教程&DEMO下载,点击下载