Maison  >  Article  >  Java  >  Comment maintenir la réutilisation des sessions TLS pour les connexions de données dans FTPS avec Apache Commons Net ?

Comment maintenir la réutilisation des sessions TLS pour les connexions de données dans FTPS avec Apache Commons Net ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-09 07:25:02753parcourir

How to Maintain TLS Session Reuse for Data Connections in FTPS with Apache Commons Net?

Comment maintenir une session TLS pour la connexion de données dans FTPS avec Apache Commons Net

Problème :

Connexion à un serveur FTPS qui nécessite une connexion de données pour utiliser la même session TLS que la connexion de contrôle à l'aide d'Apache Commons Net.

Solution :

Exigence :

Le serveur doit prendre en charge la réutilisation de session TLS pour les connexions de données.

Apache Commons Net Overriding :

Remplacez la méthode _prepareDataSocket_ dans un implémentation FTPSClient personnalisée pour gérer la réutilisation des sessions, similaire à ce que fait Cyberduck dans son FTPClient.java.

Compatibilité JDK :

Dans Java 8u161 et versions ultérieures, la réutilisation des sessions peut ne pas fonctionne par défaut. Pour l'activer :

System.setProperty("jdk.tls.useExtendedMasterSecret", "false");

Implémentation alternative :

Une implémentation alternative peut être trouvée dans le numéro Apache Commons Net JIRA suivant : https://issues.apache .org/jira/browse/NET-408.

Considérations spécifiques à Android :

Pour Android, contournez les restrictions du SDK pour accéder aux champs de réflexion pour la gestion de session : https : //issues.apache.org/jira/browse/NET-776.

Modifications post-Java 8u161 :

Dans les versions plus récentes de Java, sessionsByHostAndPort doit être utilisé au lieu de sessionHostPortCache.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn