`

tomcat 配置SSL

阅读更多

                                                     tomcat 配置SSL                                      
1.使用keytool生成证书库文件
   在命令行窗口上执行下列命令:
   >keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore
   会在当前目录下生成文件tomcat.keystore。记住当时输入的密码(假设为123456)。
注:keytool文件是在Java的bin目录下。
2.将生成的tomcat.keystore文件放在TOMCAT/conf下。
3.修改server.xml文件:
   去掉下面SSL Connector的注释,修改为如下:
  <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->

 <Connector    
  port="8443" maxHttpHeaderSize="8192"
  maxThreads="150" minSpareThreads="25"
  maxSpareThreads="75"
  enableLookups="false"
  disableUploadTimeout="true"
  acceptCount="100" scheme="https"
  secure="true"
  clientAuth="false" sslProtocol="TLS"
  keystoreFile="conf/tomcat.keystore"
  keystorePass="123456" />

参数说明:
clientAuth
    如果想要Tomcat为了使用这个socket而要求所有SSL客户出示一个客户证书,置该值为true。 
注:本文只说明单向认证,这里设置为false,双向认证的方法,以后有时间再研究。
keystoreFile
    如果创建的keystore文件不在Tomcat认为的缺省位置(一个在Tomcat运行的home目录下的叫.keystore的文件),则加上该属性。可以指定一个绝对路径或依赖$CATALINA_BASE环境变量的相对路径。
keystorePass
    如果使用了一个与Tomcat预期不同的keystore(和证书)密码,则加入该属性。 
keystoreType
    如果使用了一个PKCS12 keystore,加入该属性。有效值是JKS和PKCS12。 
sslProtocol
    socket使用的加密/解密协议。如果使用的是Sun的JVM,则不建议改变这个值。据说IBM的1.4.1版的TLS协议的实现和一些流行的浏览器不兼容。这种情况下,使用SSL。 
ciphers
    此socket允许使用的被逗号分隔的密码列表。缺省情况下,可以使用任何可用的密码。 
algorithm
    使用的X509算法。缺省为Sun的实现(SunX509)。对于IBM JVMS应该使用ibmX509。对于其它JVM,参考JVM文档取正确的值。 
truststoreFile
    用来验证客户证书的TrustStore文件。 
truststorePass
    访问TrustStore使用的密码。缺省值是keystorePass。 
truststoreType
    如果使用一个不同于正在使用的KeyStore的TrustStore格式,加入该属性。有效值是JKS和PKCS12。 
4.重新启动TOMCAT,访问https://localhost:8443

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics