【发布时间】:2011-10-28 13:50:16
【问题描述】:
我目前正在寻求为服务器应用程序(用 C 编程)添加加密功能,该应用程序通过 TCP 将原始数据、未加密数据传递给客户端(使用多种不同语言编写的大量不同应用程序)。
最好的方法是什么?公钥密码学?如果是这样,这个过程将如何进行?
谢谢!
【问题讨论】:
标签: c encryption tcp public-key-encryption
我目前正在寻求为服务器应用程序(用 C 编程)添加加密功能,该应用程序通过 TCP 将原始数据、未加密数据传递给客户端(使用多种不同语言编写的大量不同应用程序)。
最好的方法是什么?公钥密码学?如果是这样,这个过程将如何进行?
谢谢!
【问题讨论】:
标签: c encryption tcp public-key-encryption
如果你不得不问,你可能没有资格从事加密工作。在加密处理中犯一个会破坏整个系统安全性的细微错误是非常容易的,而且与大多数其他错误不同,它在其他人破坏您的系统之前并不明显。
只需使用 SSL(又名 TLS)。设计 SSL/TLS 规范和库的人已经为您完成了所有艰苦的工作。
【讨论】:
SSL:安全套接字层,它启动和传输加密数据。
TLS:传输层安全性,它要求 starttls 并且答案是功能列表,然后可以使用相互接受的最佳加密继续传输。
注意:功能可能包括明文。
我建议阅读一个示例,例如 smtp starttls(rfc 2487),了解如何扩展现有协议以支持 TLS。您投入的时间将得到回报。
【讨论】:
OpenSSL 适合我的需要!快速浏览文档和教程为我指明了正确的方向。
【讨论】: