这里主要说明如何给tomcat配置https。对于相关的原理不做说明。
目前配置https生成证书等有两种方式,一种使用Linux提供的一个工具套件openssl。另一种就是jdk提供的keytool工具。
进入JDK的bin目录下:C:\Program Files\Java\jdk1.7.0_51\bin 按住Shift 加右键 进入cmd命令窗口
输入如下命令:RSA加密,有效期3560天,文件存放位置 d:/tomcat.keystore
keytool.exe -genkeypair -alias tomcat -keyalg "RSA" -keystore "D:/tomcat.keystore" -validity 3560
假如我们公司叫千度(比百度多几百度)然后开在杭州。网站网址是http://qiandu.com那么这里的信息就该像上面那样填写。
姓名与姓氏:就是域名,如果你的网址是http://www.qiandu.com,那么就写www.qiandu.com,否则就会出问题。
组织单位名称:这个就是部门的名称,例如服务运营部。
组织名称:就是公司名称。
一开始需要输入密钥库口令,这里是为了防止别人拿到你的keystore文件做坏事,就像word文件加密一样,别人拿到了需要密码才能使用,主要为了安全。
找到图中被注释的地方,然后复制出来,黄色背景选中的是新增的东东,其他的不变。https默认使用443端口,keystorePass就是上面生成keystore文件时的密码。然后重启tomcat就ok了。keystoreFile就是上面生成的keystore文件。
很完美,可以使用https访问tomcat了,但是是红色的,意思就是浏览器不信任这个网站,所以我们需要导出证书,然后添加到浏览器的信任列表中。
IE浏览器,网站页面随便一个地方右键,选择属性即可弹出操作框。
这里使用的是浏览器导出,也可以使用命令行导出,都可以的。然后就是把这个证书加入到受信任的根证书颁发机构。然后你再访问,你会发现貌似还是有问题
还记得最初我们填写的那个姓名与姓氏吗?只有浏览器的网址,与你填写的姓名与姓氏完全对应才不会有问题,这个时候我们修改windows的hosts文件,添加对应的一个映射,大概就是这样子的。
然后我们再来访问: