第一步,生成密钥库
keytool -genkey -v -alias java1234 -keyalg RSA -keystore D:\workspace\cas\keystore\java1234.keystore -validity 36500
命令解释:
使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件想要存放在“D:\workspace\cas\keystore\java1234.keystore”,口令为“666666”。
参数简要说明:
“D:\workspace\cas\keystore\java1234.keystore”含义是将证书文件的保存路径,证书文件名称是java1234.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天 “tomcat”为自定义证书名称。
密码:666666
第二步,从密钥库里面导出证书
keytool -export -trustcacerts -alias java1234 -file D:\workspace\cas\keystore\java1234.cer -keystore D:\workspace\cas\keystore\java1234.keystore
第三步,将证书导入到JDK证书库
keytool -import -trustcacerts -alias java1234 -file "D:\workspace\cas\keystore\java1234.cer" -keystore "%JAVA_HOME%\jre\lib\security\cacerts"
口令:666666
第四步,配置tomcat
D:\apache-tomcat-9.0.54\conf\server.xml 中加入
server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="D:\workspace\cas\keystore\java1234.keystore"
keystorePass="666666">
</Connector>
第五步,启动startup.bat
出现问题,百度自行解决。简单。基本就是环境变量的问题。
CATALINA_HOME
D:\apache-tomcat-9.0.54
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_171
重新启动,乱码问题解决:
D:\apache-tomcat-9.0.54\conf\logging.properties
logging.properties
java.util.logging.ConsoleHandler.encoding = UTF-8 改成
java.util.logging.ConsoleHandler.encoding = GBK
重启startup.bat。
问题: localhost可以访问,换成ip地址无法访问。
https://localhost:8443/cas/login
https://java1234.com:8443/cas/login
需要修改:
需要在tomcat的配置文件 service.xml 加上 address=“0.0.0.0”
<Connector address="0.0.0.0" port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="D:\workspace\cas\keystore\java1234.keystore" keystorePass="666666">
</Connector>
搞定收工。