Quelle est préférable d'utiliser openssl ou windows capi pour les problèmes d'ecnryption? Quelles sont les listes pro et con pour les deux. et s'il est possible d'écrire mon programme de chiffrement sur openssl et le décrypter avec Windows capi sans problème ou il y a un problème avec cela.openssl versus windows capi
Répondre
À des fins de cryptographie, je trouve d'abord plus facile de penser à la gestion des clés. Où les clés sont stockées, comment elles sont créées, qui les utilise, et comment elles doivent être détruites en toute sécurité. Dans mon expérience, la gestion des clés est ce qui contraint le plus la structure de l'application. CryptoAPI offre une API pour accéder aux clés qui sont stockées dans des endroits arbitraires, grâce à un pilote (un «CSP») enregistré dans le système d'exploitation. OpenSSL peut offrir quelque chose de similaire avec l'aide de OpenSC, mais le pilote doit alors prendre en charge l'API PKCS # 11. De toute façon, le pilote est une sorte de DLL fournie par celui qui a construit le périphérique de stockage (en supposant que la clé est stockée et utilisée dans un périphérique matériel). Si vous voulez pouvoir utiliser des clés stockées dans des périphériques matériels (où l'appareil peut être une carte à puce, un HSM, ... tout ce qui peut faire du cryptage mais refusera de donner la clé elle-même) alors vous doivent passer par CryptoAPI ou PKCS # 11. CryptoAPI est, par nature, uniquement pour Windows, donc PKCS # 11 est le chemin à parcourir si vous voulez que votre code fonctionne potentiellement sur des systèmes non-Windows (MacOS, Linux, Solaris ...). Si vous utilisez la méthode PKCS # 11, vous pouvez essayer NSS au lieu d'OpenSSL. NSS est la bibliothèque utilisée dans le navigateur dérivé de Netscape (par exemple Firefox). C'est open-source. D'autre part, si vous ne ciblez que les systèmes Windows, alors CryptoAPI facilite la distribution, puisqu'il est déjà là, pas besoin d'une DLL supplémentaire. Si vous êtes prêt à confisquer le matériel, et que vous voulez utiliser la cryptographie logicielle uniquement, avec des clés en RAM, vous ne voudrez probablement pas utiliser CryptoAPI, qui est assez peu puissant dans le nombre d'algorithmes qu'il implémente et le les variations acceptées (par exemple, CryptoAPI insiste pour que les exposants publics RSA soient plus petits que 32 bits - c'est le cas normal, mais la limitation est toujours arbitraire et potentiellement ennuyeuse). Il y a beaucoup de bibliothèques cryptographiques là-bas; En dehors de OpenSSL et NSS, vous pourriez vouloir enquêter sur Crypto++, qui est assez mature et supposément compatible avec C++.
- 1. Accès côté client CAPI
- 2. rails Gemfile.lock - version gem windows versus linux
- 3. Control.ResolveUrl versus Control.ResolveClientUrl versus VirtualPathUtility.ToAbsolute
- 4. Classes de base versus gabarits versus code généré versus macro
- 5. Compilation croisée avec OpenSSL pour Windows
- 6. Compilation openssl avec ruby sur windows
- 7. Chemins nommés versus TCP pour JDBC-MySQL sous Windows
- 8. C# Assert.AreNotEqual versus Equals
- 9. Widget - Iframe versus JavaScript
- 10. Swing versus SWT
- 11. boost lambda versus phoenix
- 12. link_to_remote versus render
- 13. .Net Parse versus Convert
- 14. ILookup versus IGrouping
- 15. zlib.h versus zlib.net
- 16. PutApplicationName versus PutApplName
- 17. Conception logique versus physique
- 18. Log4j versus JCL
- 19. w3wp versus mvsmon
- 20. ServerControl versus UserControl
- 21. carte versus comportement mapM
- 22. mongoid new versus build
- 23. OpenSSL SSL_CTX_use_PrivateKey_file avec le magasin de certificats Windows
- 24. OpenSSL - SSL_CTX_set_default_passwd_cb
- 25. Event Driven versus Polling/Scheduling
- 26. ViM: minibufexpl versus plugins bufexplorer
- 27. try/catch versus throws Exception
- 28. rails HABTM versus view (formtastic)
- 29. Performance C++, pour versus while
- 30. T-SQL Cast versus Convert
[J'ai lutté] (http://stackoverflow.com/q/43802185/267874) pour faire fonctionner OpenSSL sous Windows avec un HSM depuis des semaines maintenant et je dois dire, votre réponse simple ici a effacé l'ensemble photo pour moi! Vous mon ami, sais vraiment comment fournir des informations claires et pertinentes. Je vous remercie! Off je vais maintenant, en essayant la voie PKCS # 11, peut-être multi-plateforme maintenant! –