配置本地Tomcat的https
程序员文章站
2022-03-03 10:46:53
...
配置本地Tomcat的https (一)采用keytool生成证书 步骤: 1、 生成证书 keytool -genkey -alias tomcat -keyalg RSA -keystore d:\mykeystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit 参数说明: 1)-genkey 创建一个新的密钥 2)-alias 密钥别名 3)-keyalg 加密算法,这里是RSA 4)-keystore 密钥保存的文件 5)-dname 表示密钥的distinguished names CN=commonName OU=oranizationUnit O = organizationName L=locatityName S=stateName C=country 6)-keypass 私有密钥的密码 7)-storepass 存取密码,用于从存储密钥的文件中(位于-keystore中指定的位置)将信息取出 2、 导出证书(说明:导出证书,由客户端安装) keytool -export -alias tomcat -keystore d:\mykeystore -file d:\mycerts.cer -storepass changeit 参数说明: 1)-export 导出指定别名的证书到文件 2)-alias 密钥别名 3)-keystore 密钥保存的文件 4)-file 导出到指定的文件中 5)- storepass 密钥保存的文件的存储密码 3、 客户端配置(为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)) keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:\mycerts.cer -storepass changeit 参数说明: 1)-import 将已签名数字证书导入密钥库 2)-trustcacerts 3)-file 数字证书路径 验证是否成功导入到JVM证书库 keytool -list -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeit 4、 其它命令 1、从jvm证书库中删除证书 keytool -delete -alias tomcat –keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit 2、从jvm证书库中导出证书 keytool -export -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -alias tomcat -file d:\ mycerts.cer (二)配置Tomcat 1、注销server.xml中的语句: <!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />--> 否则tomcat会出现以下错误: INFO: Initializing ProtocolHandler ["http-apr-8443"] Jul 5, 2011 3:20:16 PM org.apache.coyote.AbstractProtocol init SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"] java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR 分析见:http://java.dzone.com/articles/ssl-your-tomcat-7 2、放开以下注释 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:\mykeystore" keystorePass="changeit" /> 实践过程: keytool -genkey -alias tomcat -keyalg RSA -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\javakeystore" -dname "CN=localhost, OU=localhost, O=localhost, L=HZ, ST=HZ, C=CN" -keypass changeit -storepass changeit keytool -export -alias tomcat -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\javakeystore" -file "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\javacerts.cer" -storepass changeit keytool -import -trustcacerts -alias tomcat -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\jre\lib\security\cacerts" -file "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\javacerts.cer" -storepass changeit keytool -list -alias tomcat -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\jre\lib\security\cacerts" -storepass changeit 若想同时去掉8443端口号,将配置文件中的所有8443改成443即可。
制作证书的步骤 1、 生成证书 keytool -validity 3650 -genkey -alias tomcat -keyalg RSA -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\etc\javakeystore" -dname "CN=localhost, OU=localhost, O=localhost, L=HZ, ST=HZ, C=CN" -keypass tlmsys -storepass tlmsys 2、 导出证书(说明:导出证书,由客户端安装) keytool -export -alias tomcat -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\etc\javakeystore" -file "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\etc\javacerts.cer" -storepass tlmsys 3、 客户端配置(为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)) keytool -import -trustcacerts -alias tomcat -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\jre\lib\security\cacerts" -file "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\etc\javacerts.cer" -storepass tlmsys 4、验证是否成功导入到JVM证书库 keytool -list -alias tomcat -keystore "C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\jre\lib\security\cacerts" -storepass tlmsys 如果证书已存在,请删除C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\jre\lib\security下的cacerts文件。然后重新制作证书。 5、注销server.xml中的语句: <!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />--> 6、放开以下注释,并修改内容如下; <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Program Files\PE_TLM_SYS\WEBCLIENT\webclient\apache-tomcat-6.0.26\etc\javakeystore" keystorePass="tlmsys" /> 7、如果使用spring security,注意在applicationContext-security.xml中进行以下配置。 <intercept-url pattern="/**" access="isAuthenticated()" requires-channel="https"/> requires-channel="https"是增加内容。 此项不是必须的,可以不配,不影响https。 8、访问方式为https://10.36.65.89:8443/,如果想去掉端口后,请将server.xml中的所以的8443端口改为443。tomcat可以同时支持http和https协议,只需同时 配置8080和8443端口即可。
上一篇: win10批量修改文件权限
下一篇: Win10耳麦不工作
推荐阅读
-
tomcat优化配置的方法(教你tomcat怎么优化配置)
-
Tomcat配置https并访问http自动跳转至https
-
使用genymotion访问本地上Tomcat上数据的方法
-
使用光盘配置本地yum源的方法 yum源配置
-
详解Linux下JDK、Tomcat的安装及配置
-
tomcat配置ssl证书ip访问(tomcat配置https协议)
-
tomcat优化配置的方法(教你tomcat怎么优化配置)
-
本地机apache配置基于域名的虚拟主机详解
-
Sublime Text 3如何配置本地服务器? Sublime本地服务器的配置方法
-
tomcat配置ssl证书ip访问(tomcat配置https协议)