tomcat链接器的SSL配置属性

8.5版本及之前的版本,通过Connector/SSLHostConfig元素为链接器的SSL配置属性

属性 描述 默认值 旧版本属性
certificateRevocationFile

包含证书颁发机构的连接证书吊销列表的文件的名称。格式是PEM编码的。如果未定义,将不会针对证书吊销列表检查客户端证书(除非使用基于OpenSSL的连接器并 定义了certificateRevocationPath)。

相对路径$CATALINA_BASE基于JSSE的连接器也可以指定此属性的URL。

 

crlFile,

SSLCARevocationFile

certificateRevocationPath

只适用于OpenSSL

包含证书颁发机构的证书吊销列表的目录名。格式是PEM编码的。相对路径为$CATALINA_BASE

  SSLCARevocationPath
certificateVerification

设置为required,在接受连接之前,SSL协议栈将从客户端获取一个请求有效的证书链。

设置为optional,SSL堆栈请求一个客户端证书,但如果没有显示客户端证书,则不会失败。

设置为 optionalNoCA,客户端证书是可选的,并且不需要Tomcat检测他们是否在可信的CA列表。如果TLS提供程序不支持此选项(OpenSSL,则JSSE不会)将其视为optional已被指定。

属性值为空时,除非客户端请求由使用安全约束保护的资源值(默认值)将不需要证书链CLIENT-CERT认证。

 

clientAuth

SSLVerifyClient

certificateVerificationDepth 验证客户端证书时允许的中间证书的最大数量。
10

 trustMaxCertLength

SSLVerifyDepth

caCertificateFile

可信证书颁发机构的级联证书的文件的名称。格式为PEM。

   SSLCACertificateFile
caCertificatePath

只适用于OpenSSL

包含可信证书颁发机构的证书的目录的名称。格式为PEM。

   SSLCACertificatePath
ciphers

HTTPS链接支持的加密密码算法列表,以逗号分隔。

如果未指定,将使用默认值(使用OpenSSL符号) HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA

 

 

 ciphers

SSLCipherSuite

disableCompression

只适用于OpenSSL

表示压缩是否被禁用。默认是 true如果使用的OpenSSL版本不支持禁用压缩,那么将使用该OpenSSL版本的默认值。

   SSLDisableCompression
disableSessionTickets

只适用于OpenSSL

禁用使用TLS会话单(RFC 4507)(如果设置为) true默认是false

false  SSLDisableSessionTickets 
honorCipherOrder 设置为true强制服务器的密码顺序(从ciphers设置),而不是允许客户端选择密码。默认是false使用此功能需要Java 8或更高版本。  false

useServerCipherSuitesOrder

SSLHonorCipherOrder 

hostName SSL主机的名称。这应该是完全合格的域名(例如tomcat.apache.org)或通配符域名(例如*.apache.org)。如果未指定,_default_将使用默认值 _default_   
insecureRenegotiation

只适用于OpenSSL

配置是否允许不安全的重新协商。默认是 false如果所使用的OpenSSL版本不支持配置,如果不安全的重新协商被允许,那么该OpenSSL版本的默认值将被使用

   
keyManagerAlgorithm

只适用于JSSE。

KeyManager要使用的算法。这将默认为Sun JVM的KeyManagerFactory.getDefaultAlgorithm()返回 值 SunX509IBM JVM返回 IbmX509对于其他供应商,请查看JVM文档的默认值。

   algorithm
protocols

在与客户端通信时支持的协议的名称。这应该是以下任何组合的列表:

  • SSLv2Hello、SSLv2、SSLv3、TLSv1、TLSv1.1、TLSv1.2、all

列表中的每个标记都可以加上加号(“+”)或减号(“ - ”)。一个加号添加协议,一个减号从当前列表中删除。列表从空列表开始构建。

令牌all是一个别名 SSLv2Hello,TLSv1,TLSv1.1,TLSv1.2

请注意,SSLv2Hello基于OpenSSL的安全连接器将被忽略。如果为基于OpenSSL的安全连接器指定了多个协议,它将始终支持SSLv2Hello如果指定了一个协议,则不支持 SSLv2Hello

需要注意的是SSLv2SSLv3本身不安全。

 

如果未指定,all将使用默认值

 

SSLEnabledProtocols

SSLProtocol

sessionCacheSize

只适用于JSSE。

在会话缓存中维护的SSL会话数。使用0来指定无限制的高速缓存大小。如果未指定,则使用默认值0。

0  sessionCacheSize
sessionTimeout

只适用于JSSE。

在SSL会话建立之后它将超时的时间(秒)。使用0指定无限超时。如果未指定,则使用默认值86400(24小时)。

 86400  sessionTimeout
sslProtocol

只适用于JSSE。

用于配置SSL协议(单个值可能启用多个协议 - 有关详细信息,请参阅JVM文档)。如果未指定,则默认为TLS

  TLS  sslProtocol
trustManagerClassName

只适用于JSSE。

用于验证客户端证书的自定义信任管理器类的名称。该类必须有一个零参数构造函数,并且还必须实现javax.net.ssl.X509TrustManager如果设置此属性,则可以忽略信任存储属性。

   trustManagerClassName
truststoreAlgorithm

只适用于JSSE。

用于信任库的算法。如果未指定,javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm()则使用返回的默认值 

   truststoreAlgorithm
truststoreFile

只适用于JSSE。

用于验证客户端证书的信任存储文件。默认值为javax.net.ssl.trustStore系统属性的值如果既不设置此属性也不设置默认系统属性,则不会配置信任库。

   truststoreFile
truststorePassword

只适用于JSSE。

访问信任库的口令。默认值为javax.net.ssl.trustStorePassword系统属性的值 如果该属性和系统属性为空,则不配置信任库口令

   truststorePass
truststoreProvider

只适用于JSSE。

用于服务器证书的信任商提供商的名称。默认值为javax.net.ssl.trustStoreProvider系统属性的值 如果该属性为空,则使用第一个<Certificate>元素的certificateKeystoreType属性值作为默认值。如果系统属性、该属性、certificateKeystoreProvider均为空,将使用支持的第一个提供程序 truststoreType

   truststoreProvider
truststoreType

只适用于JSSE。

用于信任存储的密钥库的类型。默认值为javax.net.ssl.trustStoreType系统属性的值如果该属性为空,则使用第一个<Certificate>元素的certificateKeystoreType属性值作为默认值

   truststoreType

Connector/SSLHostConfig/Certificate配置SSL支持的属性

属性 描述 默认值 旧版本属性
certificateFile

包含服务器证书的文件的名称。格式是PEM编码的。相对路径将被解决 $CATALINA_BASE

除了证书,文件还可以包含作为任选元素DH参数和/或用于临时密钥的EC曲线名称,如通过产生openssl dhparamopenssl ecparam分别。相应的OpenSSL命令的输出可以简单地连接到证书文件。

  SSLcertificateFile
certificateChainFile

包含与使用的服务器证书关联的证书链的文件的名称。格式是PEM编码的。相对路径将被解决 $CATALINA_BASE

Tomcat使用的证书链不应包含服务器证书作为其第一个元素。

请注意,当为不同类型使用多个证书时,它们都必须使用相同的证书链。

   
certificateKeyAlias

只有JSSE。

用于密钥库中的服务器密钥和证书的别名。如果未指定,将使用从密钥库读取的第一个密钥。从密钥库中读取密钥的顺序取决于实现。键可能与从添加到的密钥库中读取的顺序相同。如果密钥库中存在多个密钥,则强烈建议您配置一个keyAlias,以确保使用正确的密钥。

  keyAlias
certificateKeyFile 包含服务器私钥的文件的名称。格式是PEM编码的。默认值是certificateFile的值, 在这种情况下,证书和私钥都必须在此文件中(NOT RECOMMENDED)。相对路径将被解决$CATALINA_BASE   SSLCertificateKeyFile
certificateKeyPassword

用于从指定文件访问与服务器证书相关联的私钥的密码。

如果未指定,则JSSE的默认行为是使用 certificateKeystorePassword对于OpenSSL,默认行为是不使用密码。

 

keyPass

SSLPassword

certificateKeystoreFile

只JSSE支持。

存储要加载的服务器证书和密钥的密钥库文件的路径名。默认情况下,路径名.keystore是运行Tomcat的用户的操作系统主目录中的文件 如果您keystoreType不需要使用文件""(空字符串)或NONE此参数。相对路径将被解决 $CATALINA_BASE此属性也可以使用URL。

  keystoreFile
certificateKeystorePassword

只JSSE支持。

用于访问包含服务器的私钥和证书的密钥库的密码。如果未指定,changeit将使用默认值 

changeit keystorePass
certificateKeystoreProvider

只JSSE支持。

要用于服务器证书的密钥库提供程序的名称。如果未指定,javax.net.ssl.keyStoreProvider则使用系统属性的值 如果不设置此属性和系统属性,则以优先级顺序遍历注册的提供程序列表,并且使用支持该属性的第一个提供程序keystoreType

  KeystoreProvider
certificateKeystoreType

只JSSE支持。

要用于服务器证书的密钥库文件的类型。如果未指定,javax.net.ssl.keyStoreType则使用系统属性的值 如果此属性和系统属性都不设置,则默认值为“ JKS”。用来。

JKS keystoreType
type 证书的类型。这用于识别与证书兼容的密码。它必须是一个UNDEFINED, RSADSSEC如果只有一个 证书嵌套在SSLHostConfig 该属性中,那么该属性不是必需的,并且将默认为 UNDEFINED如果多个证书嵌套在一个内部,SSLHostConfig则此属性是必需的,每个证书必须具有唯一的类型。    
原文地址:https://www.cnblogs.com/zh-dream/p/13621251.html