tomcat使用自签名证书实现https加密访问

部署好java环境和tomcat之后

执行以下语句

#生成证书,keytool是java工具命令,-genkey生成证书,-alias证书名称,-keyalg应该是指算法,-keystore是证书存储路径
keytool -genkey -alias tomcat -keyalg RSA -keystore /root/.keystore
#进入root目录下,即证书存储路径下
cd /root
#完成自我认证
keytool -selfcert -alias tomcat -keystore .keystore
#导出生成的证书到当前目录下
keytool -export -alias tomcat -keystore .keystore -storepass 123456 -rfc -file tomcat.cer
#修改server.xml文件,主要是在8443那部分内容那里去掉注释,修改端口号,添加keystoreFile值和keystorePass值,以下有截图
vi server.xml

注意:姓名与形式那里,最好写域名(应该也可以写ip),其他随便写,我的密码是123456

密码我输入的是123456

要将这个以下生成的tomcat.cer复制到我们要访问这个tomcat服务的电脑中

还需要修改一下tomcat的conf目录下的server.xml文件,复制8443那部分,去掉注释,修改端口并添加一下参数keystoreFile="/root/.keystore" keystorePass="123456",修改完成后重启tomcat

这种方式相当于单机认证而已了,也就是说要访问端的电脑要导入对应的证书才会显示认证正常

所以我们需要在要访问这个tomcat的电脑上再配置一下

修改hosts文件,将对应的域名映射到ip。因为证书里,我们是认证的域名而已

C:WindowsSystem32driversetc

 

使用IE浏览器访问,导入证书,导入之后可能需要重启浏览器才能正常显示

直接访问域名,发现,正常

访问ip,会显示证书错误

参考链接:https://www.cnblogs.com/sixiweb/p/3339698.html

原文地址:https://www.cnblogs.com/biaopei/p/10644388.html