Apache Commons Net を使用して FTPS でデータ接続の TLS セッションを維持する方法
問題:
コントロールと同じ TLS セッションを使用するためにデータ接続が必要な FTPS サーバーに接続するApache Commons Net を使用した接続。
解決策:
要件:
サーバーはデータ接続用の TLS セッションの再利用をサポートする必要があります。 .
Apache Commons Netオーバーライド:
Cyberduck が FTPClient.java で行うのと同様に、カスタム FTPSClient 実装で _prepareDataSocket_ メソッドをオーバーライドしてセッションの再利用を管理します。
JDK 互換性:
Java 8u161 およびその後、デフォルトではセッションの再利用が機能しなくなる可能性があります。有効にするには:
System.setProperty("jdk.tls.useExtendedMasterSecret", "false");
代替実装:
代替実装は、次の Apache Commons Net JIRA の問題にあります。 https://issues.apache.org/jira/browse/NET-408.
Android 固有の考慮事項:
Android の場合、SDK 制限をバイパスしてリフレクションにアクセスするセッション管理用のフィールド: https://issues.apache.org/jira/browse/NET-776.
Java 8u161 以降の変更点:
Java の新しいバージョンでは、sessionsByHostAndPort は次のようになります。 sessionHostPortCache の代わりに使用されます。
以上がApache Commons Net を使用して FTPS でデータ接続の TLS セッションの再利用を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。