`
matt.u
  • 浏览: 127244 次
  • 性别: Icon_minigender_1
  • 来自: CQ
社区版块
存档分类
最新评论

Tomcat SSL配置

阅读更多
Tomcat使用SSL有两种方式:
1、使用APR支持SSL
首先,tomcat要配置好APR,然后在server.xml中加入:
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
    port="8443"
    enableLookups="true" disableUploadTimeout="true"
    acceptCount="100"  maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    SSLCertificateFile="/usr/local/tomcat/conf/server.crt"
    SSLCertificateKeyFile="/usr/local/tomcat/conf/server.key"
    sslProtocol="TLS"/>


2、使用Tomcat自带的机制,在server.xml中加入
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
    port="8443" minProcessors="5" maxProcessors="75"
    enableLookups="true" disableUploadTimeout="true"
    acceptCount="100" debug="0" scheme="https" secure="true"
    keystorePass="123456" keystoreFile=".keystore"
    clientAuth="false" sslProtocol="TLS"/>


keystore可通过keytool来生成。

你可能需要增加或改变下面的属性值:
clientAuth:如果想要Tomcat为了使用这个socket而要求所有SSL客户出示一个客户证书,置该值为true。

keystoreFile:如果创建的keystore文件不在Tomcat认为的缺省位置(一个在Tomcat运行的home目录下的叫.keystore的文件),则加上该属性。可以指定一个绝对路径或依赖$CATALINA_BASE环境变量的相对路径。

keystorePass:如果使用了一个与Tomcat预期不同的keystore(和证书)密码(changeit),则加入该属性。

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。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics