gpt4 book ai didi

c++ - SChannel/SSL 实现?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:34 28 4
gpt4 key购买 nike

我可以轻松地使用“win sockets”实现 HTTP,但我一直在努力使用“SChannel”实现 HTTPS,“至少对我来说”这几乎没有记录。如何为 HTTPS 通信建立安全连接?是否有任何我应该注意的安全或性能注意事项?

最佳答案

SChannel 与 Windows 集成得很好,允许您在不询问用户凭据的情况下执行身份验证。 Schannel 的工作级别低于 HTTP。它允许您打开安全的 tcp 连接(ssl 套接字)。您需要实现自己的 HTTP 堆栈来发送 HTTPS 请求或查找库。要习惯 Schannel,最好的起点是了解 Microsoft 的示例,这是一个客户端-服务器示例:

Client

Server

它们是非常简单的示例,但足以理解基础知识。

Curl 已经使用 Schannel 一段时间了,您可以找到一些非常有用的代码来练习 https://github.com/curl/curl/blob/master/lib/vtls/schannel.c .

安全是一个大话题,这也是 Schannel 的目的。您将继承操作系统的安全风险。 Microsoft 通常会快速修补安全问题。如果您只针对 Windows,那么它是一个不错的选择,因为它与 Windows 生态系统深度集成。例如,您不必像使用 openssl 那样部署自己的 ssl 证书,Schannel 会自动读取系统证书。您还可以轻松实现 NTLM 和 Kerberos 身份验证,而无需询问凭据,Schannel 将从运行您的软件的用户那里获得凭据句柄。总的来说,它是一个非常好的库,据我所知,与其他 SSL 库相比,它没有性能损失。它经过良好测试并部署到全局数百万台机器上。

关于c++ - SChannel/SSL 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34114163/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com