Je suis chargé de migrer la mise en réseau d'un serveur à partir de sockets simples vers SSL dans python 2.5, et j'ai rencontré un problème. Il semble que pratiquement aucune bibliothèque SSL n'exécute complètement l'interface de socket, de sorte que le code que nous avons actuellement ne peut pas être directement migré. En particulier, je n'arrive pas à trouver une bibliothèque qui supporte la méthode 'setblocking' (la plupart sont des wrappers, ce serait donc terrible d'adresser directement le socket encapsulé?) Et la plupart ne semblent pas Traitez le socket enveloppé comme un périphérique de type fichier, de sorte que la méthode cruciale 'select' ne fonctionnera pas (encore une fois, pourrais-je exécuter select sur le socket enveloppé?).Une bibliothèque SSL décente pour Python 2.5
(read, write, error) = select([socket], [socket], [], 0.2)
J'ai essayé tlslite et M2Crypto jusqu'à présent, mais ne semblent fonctionner de manière transparente comme prises.
Toutes les idées seraient appréciées.
Faire des E/S non bloquantes avec SSL est très compliqué. La couche d'enregistrement de SSL ne doit obéir à aucune frontière de paquet, donc juste parce que les données sont disponibles à partir du socket ne signifie pas que des données sont disponibles pour l'application. –