2010-06-21 53 views
0

我正在设计一个C++培训计划,将分发给大量设施,其中大部分设施不会影响IT人员。该程序通过TCP连接与中央数据库连接,中央数据库存储各种数据以用于研究和评估。针对消费者应用的安全TCP连接建议

我遇到的问题是我希望使传输安全,最常见的做法似乎是OpenSSL - 这似乎一切正常,但我遇到了问题。据我了解,OpenSSL必须专门安装在每个系统上。这些设施将不具备在他们的系统上编译和安装源代码所需的专业知识,计算机将有足够的多样性(所有的Windows设备,但不同的制造和质量),以排除分发特定编译的二进制文件,广泛的分布使我们的团队无法亲自设置它。

有没有人有如何解决这个问题的建议?我在假设中只是不正确,而且可以在没有安装的情况下分发它?如果没有,是否有更实用的选择?

回答

3

只要你所有的机器都是XP +,带有两个版本的OpenSSL,你就应该准备好了,一个用于32位,一个用于64位。只需提供两个单独的安装程序即可。没有必要为每台机器编译。

只要记住在您的安装程序中也包含Visual C++可再发行组件包。

如果您不得不支持古老的Windows版本,它会变得更复杂一些,但不是那么多。

1

事实上,根据您所描述的,OpenSSL似乎是一个很好的选择。

从我对OpenSSL的理解中可以看出,它是一个用C语言编写的库(其它语言的包装文件),这意味着您可以将它包含在任何正在编写的代码库中。

我很确定它是而不是一个必须安装的程序,所以我认为你不应该担心这一点。

1

您可能还想尝试IPSEC,如果您关心的是将二进制文件等发布到客户端机器,IPSEC可能是一个有趣的解决方案。由于几乎所有的Windows操作系统都支持它,所以你只需要在数据库服务器上配置IPSEC策略 - 通过这种方式将其设置为“必需”,客户机和数据库服务器之间的所有数据都将被加密。

相关问题