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則此屬性是必需的,每個證書必須具有唯一的類型。    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM