本文方案由番薯提供,提供给具备自主开发能力的用户使用。
目录:
本文将介绍一种在Tomcat服务器中配置SSL证书实现HTTPS访问的方法。在配置证书前,首先需要申请证书,用户在正式环境中使用的证书需要从证书提供商处购买,证书认证一般都是由VeriSign、GlobalSign等国际公认的CA机构认证。
本文由于是演示证书的配置过程,使用的证书是从JDK自带的keytool工具生成的,不可在正式环境中使用。
注:在正式环境中不可使用本文2.1节生成的证书,必须从证书提供商处申请,否则会出现不安全提醒,导致嵌入第三方平台出现无法访问的情况。
1)首先需要安装JRE,然后运行cmd或者WindowsPowershell,右键以管理员身份运行,单击确定启动命令提示符窗口。输入cdD:\javasoft\java\jre\bin进入JRE的bin目录下,执行命令创建如下所示:
注:该JRE是配置Tomcat时所用的JRE。
keytool-genkey-aliastomcat-servers-keyalgRSA-keypasschangeit-storepasschangeit-keystoreserver.keystore
2)需要迁移到行业标准格式PKCS12,执行命令:
keytool-importkeystore-srckeystoreserver.keystore-destkeystoreserver.keystore-deststoretypepkcs12输入密钥库口令:changeit,如下图所示:
注:您的名字与姓氏,这里不能输入IP地址,只能输入域名。
您的名字与姓氏,本例输入的是roxy,其实这个域名是不存在的,但是这里为了演示所以虚拟了这个域名,所以需要在hosts文件里映射一个虚拟域名,设置方式如下图所示:
这样在访问roxy的时候其实是访问的127.0.0.1也就是本机。
执行命令如下所示:
keytool-export-aliastomcat-servers-storepasschangeit-fileserver.cer-keystoreserver.keystore将证书导出,如下图所示:
keytool-import-trustcacerts-aliasservers-fileserver.cer-keystorecacerts-storepasschangeit系统询问是否信任此证书,回答y,如下图所示:
1)进入%JRE_HOME%\bin目录下,将新生成server.keystore,server.cer,cacerts复制到Tomcat安装目录下%TOMCAT_HOME%,如下图所示:
2)把%JRE_HOME%\bin目录下cacerts文件覆盖到JRE的security目录下%JRE_HOME%\lib\security,如下图所示:
1)配置server.xml文件,以管理员身份运行文字编辑器,打开%TOMCAT_HOME%\conf\server.xml。
去掉Connectorport模块的注释,并添加证书的地址keystoreFile以及密码keystorePass,如下图所示:
注1:地址可以填绝对路径或者在Tomcat中的相对路径。
如果看到上面的界面,说明Tomcat的SSL配置成功。
1)如果配置完后启动不了Tomcat服务,则说明第2.5节配置不正确,仔细检查是否按上述步骤配置。
Tomcat配置SSL证书实现HTTPS访问后,若要保证Websocket连接正常,需要配置HTTPS设置,如下图所示:
注2:若数据决策系统中不显示下图所示的HTTPS设置,说明Websocket连接已正确配置,无需修改。
问题描述
报错:invalidkeystoreformat
原因分析
解决方案
在Tomcat文件夹下面新建一个key文件夹,将jks文件格式的server.keystore放在里面。