解決FTPS 資料連線的TLS 會話重複使用問題
建立FTPS 連線時,資料連線重複使用TLS 至關重要為控制連線建立的會話。這可確保伺服器驗證兩個連線的用戶端身分。然而,包括 FileZilla 在內的一些 FTP(S) 伺服器強制執行此要求。
許多 Java FTPS 用戶端使用的 Apache Commons Net 函式庫缺乏此會話重複使用功能。為了克服這個限制,建議檢查 Cyberduck FTP(S) 用戶端的實現,它支援 TLS/SSL 會話重複使用。
特別要注意 prepareDataSocket 方法FTPClient.java。此方法允許重複使用來自資料連線的控制連線的 TLS/SSL 會話。
這是一個範例 prepareDataSocket 方法:
此方法確保來自控制連線的 TLS/SSL 會話重用於資料連線。
其他注意事項:
在 Java 8u161 及更高版本中,您可能會遇到與擴充功能的主金鑰擴充支援。若要緩解此問題,請透過將 jdk.tls.useExtendedMasterSecret 系統屬性設為 false 來停用此擴充功能。
如果您仍然遇到問題,請參閱 Jira 票證 NET-408 以取得替代實作和其他相關資訊。
透過實施這些步驟並利用 Cyberduck FTP(S) 用戶端實現,您可以建立具有 TLS 會話重用的 FTPS 連接,滿足客戶端 FTPS 伺服器的要求。
以上是如何解決 Java FTPS 用戶端中的 TLS 會話重複使用問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!