Tomcat配置SSL过程

jopen 10年前

一:cmd 打开dos命令创 进入jdk/bin目录
执行下面命令生成密钥库
-----------------------------------------------------------------
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
-----------------------------------------------------------------
用户名输入域名,如localhost(开发或测试用)或hostname.domainname(用户拥有的域名),其它全部以 enter 跳过,最后确认,
此时会在%TOMCAT_HOME%\bin下生成server.keystore 文件。
注:参数 -validity 指证书的有效期(天),缺省有效期很短,只有90天。

**
二:导入过程分2步
第一步是导出证书,
-----------------------------------------------------------------
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore  server.keystore -storepass changeit
-----------------------------------------------------------------
第二步是导入到证书信任库,命令如下:
-----------------------------------------------------------------
keytool -import -trustcacerts -alias tomcat -file server.cer -keystore  D:\Java\jdk1.7.0_05\jre\lib\security\cacerts -storepass changeit
-----------------------------------------------------------------
此时会在%TOMCAT_HOME%\bin下生成server.cer 文件

其他有用keytool命令(列出信任证书库中所有已有证书,删除库中某个证书):
keytool -list -v -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts
keytool -delete -trustcacerts -alias tomcat  -keystore  D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts -storepass changeit

**
三:配置tomcat
找到server.xml内代码
 <!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->
 修改为:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"  
       port="8443" minSpareThreads="5" maxSpareThreads="75"  
       enableLookups="true" disableUploadTimeout="true"    
       acceptCount="100"  maxThreads="200"  
       scheme="https" secure="true" SSLEnabled="true"  
       clientAuth="false" sslProtocol="TLS"  
       keystoreFile="D:/tomcat/server.keystore"   <!-- 指定密钥库位置 -->
       keystorePass="changeit"/>