1. 程式人生 > 實用技巧 >tomcat連結器的SSL配置屬性

tomcat連結器的SSL配置屬性

8.5版本及之前的版本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