在执行以下操作的时候,需要先了解一个证书生成工具:keytool,他是jdk自带的证书管理工具,在jdk/bin目录下,可以用来生成自签名证书、导入导出证书、打印证书信息等。
整个过程分为两部分,第一部分是证书的生成,第二部分是修改tomcat和host的配置文件。
好了,话不多说,前言就省了,直接上代码(所有操作均在cmd命令行中执行):
1、执行:
keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore C:/Windows/System32/drivers/etc/cas/thekeystore/thekeystoreFile.txt
命令,其中,“C:/Windows/System32/drivers/etc/cas/thekeystore/thekeystoreFile.txt ”为自己自定义的目录,没有的要新建出来,不新建的话,会报“找不到指定路径”的错误。
因为我已经生成过了,不知道为什么不能再次生成了,没法截图,我就用文字说明一下需要注意的填写信息:
输入密钥库口令:123456
再次输入新口令:123456
您的名字与姓氏是什么?(这个填写域名,后面用来修改host文件)
bm.success.com
下面的信息随意填写就好了。
2、执行:
keytool -export -file C:/Windows/System32/drivers/etc/cas/config/cas.crt -keystore C:/Windows/System32/drivers/etc/cas/thekeystore/thekeystoreFile.txt -alias cas
命令,会生成一个cas.crt证书文件。
3、将证书导入到jre中,执行:
keytool -import -file C:/Windows/System32/drivers/etc/cas/config/cas.crt -alias cas -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
命令,其中-storepass changeit为jdk的默认密码。成功的话,会这样:
至此证书已经生成完毕,下面就是修改host文件和tomcat,比较简单。
host文件:windows 10的host文件好像是空白的,直接添加:ip 域名就行,如:192.168.11.147 bm.success.com
tomcat:找到tomcat里面的conf中的server.xml将
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改为:
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8080" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:/Windows/System32/drivers/etc/cas/thekeystore/thekeystoreFile.txt" keystorePass="123456"
clientAuth="false" sslProtocol="TLS"/>
然后就可以使用https方式访问项目啦,是不是挺简单。