2010-06-21 2 views
0

Je conçois un programme de formation en C++ qui sera distribué à un grand nombre d'installations, dont la plupart n'auront pas beaucoup de personnel informatique. Le programme se connecte via une connexion TCP à une base de données centrale qui stocke diverses données à des fins de recherche et d'évaluation. Le problème que j'ai, c'est que je voudrais sécuriser la transmission, et la façon la plus recommandée de le faire semble être OpenSSL - ce qui semble très bien, mais j'ai un problème. Si je comprends bien, OpenSSL doit être installé spécifiquement sur chacun des systèmes. Les installations n'auront pas l'expertise requise pour compiler et installer la source sur leurs systèmes, les ordinateurs seront suffisamment variés (toutes les boîtes Windows, mais de marque et de qualité variables) pour exclure la distribution d'un binaire spécifiquement compilé, et le continent Une large diffusion empêche mon équipe de la configurer personnellement.Recommandations pour les connexions TCP sécurisées pour les applications grand public

Quelqu'un at-il une recommandation pour résoudre ce problème? Suis-je simplement incorrect dans mes hypothèses, et on peut le distribuer sans installation? Sinon, y a-t-il une alternative plus pratique?

Répondre

3

Tant que toutes vos machines sont XP +, avec deux versions d'OpenSSL vous devriez être prêt, un pour 32 bits et un pour 64 bits. Juste fournir deux installateurs distincts et cela devrait être le cas. Il n'y a pas besoin de compiler pour chaque machine. N'oubliez pas d'inclure également le package redistribuable Visual C++ dans votre programme d'installation.

Si vous devez supporter des versions anciennes de Windows, cela devient un peu plus complexe mais pas tellement.

1

En fait, OpenSSL semble être une bonne option basée sur ce que vous avez décrit. D'après ce que je comprends d'OpenSSL, c'est une bibliothèque écrite en C (avec des enveloppes autour d'elle pour d'autres langages), ce qui signifie que vous pouvez l'inclure dans la base de code de tout ce que vous écrivez.

Je suis assez sûr que c'est pas un programme qui doit être installé, donc je pense que vous ne devriez pas avoir à vous soucier de cela.

1

Vous pouvez également expérimenter avec IPSEC - si vous êtes concerné par la distribution de binaires etc. aux machines client, IPSEC pourrait être une solution intéressante. Comme pratiquement toutes les boîtes Windows le supportent, tout ce que vous avez à faire est de configurer la politique IPSEC sur le serveur DB - en le rendant ainsi "obligatoire", toutes les données entre les machines client et le serveur DB seront cryptées.

Questions connexes