【发布时间】:2018-07-13 15:49:33
【问题描述】:
我正在尝试在 C++ 中实现服务器和客户端之间的安全通信。限制是客户端和服务器都必须在 Windows 上运行并且必须使用 C++。这是我在大学从事的一个研究项目。
到目前为止,我发现 SChannel 是最好的选择,但是文档非常混乱,我找不到任何关于如何使用它的指南/教程。我已经看过这个链接https://docs.microsoft.com/en-us/windows/desktop/secauthn/creating-a-secure-connection-using-schannel,但仍然不明白如何让它工作。如果这是最好的方法,有人可以指导我吗?
我还研究了使用 CLR 使用 SSLStream 让 .net 在 c++ 应用程序中运行。但是我不能使用它,因为客户端应用程序是线程的,并且线程不能与 CLR 一起使用。
我已经设置了一个虚拟客户端和服务器,用于在两者之间进行通信,我只是想保护和加密该通信。
非常感谢任何帮助!
【问题讨论】:
-
主题太宽泛,不适合 SO 格式。甚至可能基于意见。
-
如果你的目标是 Windows 10,你可以使用Windows.Networking.Sockets。使用 C++/WinRT 从 C++ 应用程序访问此命名空间中的类。
-
关于 SChannel 的问题到底是什么?说文档令人困惑并没有真正说明什么。
-
我对 schannel 的主要问题是一般如何使用它?我不知道如何实现它。
-
@mplouque MSDN 有使用 SChannel 的示例,你看过吗?它到底有什么令人困惑的地方?
标签: c++ ssl winapi tls1.2 schannel