针对消费者应用的安全TCP连接建议

时间:2010-06-21 22:32:41

标签: c++ security encryption tcp

我正在设计一个C ++培训计划,该计划将分发给大量设施,其中大部分设施都不会对IT人员产生太大影响。该程序通过TCP连接连接到中央数据库,该数据库存储各种数据用于研究和评估目的。

我遇到的问题是我想让传输安全,最常推荐的方法似乎是OpenSSL - 这似乎一切都很好,但我遇到了问题。据我了解,OpenSSL必须专门安装在每个系统上。这些设施将不具备在其系统上编译和安装源所需的专业知识,计算机将充分变化(所有Windows机箱,但具有不同的品牌和质量),以排除分发特定编译的二进制文件和大陆 - 广泛的分发使我的团队无法亲自设置它。

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

3 个答案:

答案 0 :(得分:3)

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

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

如果你必须支持古老的Windows版本,它会变得有点复杂但不是那么多。

答案 1 :(得分:1)

实际上,基于你所描述的内容,OpenSSL似乎是一个不错的选择。

根据我对OpenSSL的理解,它是一个用C语言编写的库(包含其他语言的包装器),这意味着你可以将它包含在你正在编写的代码库中。

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

答案 2 :(得分:1)

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