Quelle est exactement une paire BIO dans OpenSSL, et comment est-il destiné à être utilisé? J'ai déjà vérifié les documents OpenSSL, mais tous les détails sont rares. Merci!Quels sont et comment utiliser les paires OpenSSL BIO?
Répondre
Un BIO dans OpenSSL est similaire à un descripteur de fichier. Vous utilisez une paire d'entre eux pour communiquer les uns avec les autres en toute sécurité comme vous le feriez avec deux prises. La meilleure explication que j'ai trouvée est here.
J'ai aussi eu beaucoup d'utilisation sur Herong Yang's site il y a quelques mois quand j'ai dû écrire une application en utilisant OpenSSL. Les sections sur la création et la signature de certificats en utilisant OpenSSL et keytool ont été d'une aide précieuse pour tester mon application.
J'ai trouvé que la meilleure façon d'en apprendre davantage sur OpenSSL était de lire "Sécurité réseau avec OpenSSL" par John Viega, Matt Messier et Pravir Chandra, ISBN 059600270X. Ils ont une section entière sur la façon de créer et d'utiliser la paire BIO avec un exemple de code.
Une paire BIO est constituée de deux BIO source/collecteur liés ensemble. Tout ce qui est écrit à un peut être lu de l'autre. Si vous avez déjà deux BIOS, vous pouvez les joindre en utilisant BIO_make_bio_pair. Ou vous pouvez créer une nouvelle paire BIO avec BIO_new_bio_pair. Une utilisation mentionnée dans le livre Network Security with OpenSSL (voir page 111) est que la paire peut être liée à un moteur SSL. Tout ce qui est écrit dans la paire BIO sera lu par le moteur SSL. Tout ce qui est écrit dans la paire BIO peut être lu. OpenSSL en a un échantillon (voir ssl/ssltest.c)
Dans un effort de documentation, openssl foundation maintient un wiki communautaire qui peut bien sûr être amélioré. BIO est couvert ici: http://wiki.openssl.org/index.php/BIO.
- 1. Quels sont les numéros de déchirure/rsp segfault et comment les utiliser
- 2. Quels sont les attributs?
- 3. Quels sont les principaux/principaux dépôts Maven à utiliser?
- 4. Quels sont les avantages et les inconvénients de l'utilisation d'OpenID?
- 5. Quels sont les services .NET?
- 6. Quels sont les avantages et les inconvénients d'avoir plusieurs héritages?
- 7. Haskell newbie: utiliser la mise en page ou pas? Quels sont les avantages et les inconvénients (utiliser des exemples)
- 8. Quels sont les bons tutoriels Wireshark?
- 9. Quels sont les problèmes du modèle MVVM?
- 10. La différence entre openssl-2 et openssl-3
- 11. Quels sont les différents types d'échantillonneurs HLSL?
- 12. Quels sont les avantages de Struts
- 13. Quels sont les écarts constatés entre utf8_general_ci et utf8_unicode_ci?
- 14. Quels sont les deuxièmes moments d'une région?
- 15. Comment stocker des paires objet/chaîne sans conserver les objets, et quel type de stockage utiliser?
- 16. Quels sont les types de chaînes les plus utilisés en C++ et comment les convertir?
- 17. GAE: Quels sont les moyens d'authentifier les utilisateurs sans utiliser le service google auth?
- 18. Quels sont les avantages/inconvénients de py2exe
- 19. Quels sont les plugins recommandés pour Trac?
- 20. Quels sont les navigateurs compatibles avec "! Important"?
- 21. Quels sont les CMS pour mobile?
- 22. Quels sont les usages courants des bitarrays?
- 23. Quels sont les inconvénients des méthodes statiques?
- 24. Quels sont les meilleurs projets OSS?
- 25. Quels sont les principaux concurrents de Servoy?
- 26. Quels sont les avantages des différentes endiannesses?
- 27. Quels sont les symbos #if prédéfinis C#?
- 28. Quels sont les plugins jQuery "must have"?
- 29. Quels sont les fichiers .pidb de MonoDevelop?
- 30. Apache Felix: Quels sont les bundles d'extension?
J'ai trouvé que "la sécurité du réseau avec OpenSSL" est vraiment un "manuel manquant". Si vous essayez d'utiliser l'API et que vous n'avez pas de copie de ce livre à côté de vous, vous le trouverez exponentiellement plus difficile. Dommage que la documentation d'OpenSSL soit si incomplète d'un point de vue pratique, mais au moins ce livre est disponible pour vous aider. –