[英]Does boost.asio's ssl::stream encrypt messages?
我正在使用 boost.asio 的ssl
设施连接服务器和客户端。 我创建了一个boost::asio::ssl::stream
,在服务器和客户端上加载一个自签名证书,在服务器上加载证书的私钥,并成功执行handshake()
。
我现在相信boost::asio::ssl::stream::write_some()
(及其async
和read
变体)会自动为我加密和解密消息。 但是, 文档没有证实这一点。
如果有加密,这是使用服务器公钥的非对称加密,还是使用 session 密钥的对称加密?
是的。 它对消息进行加密,但仅在传输过程中。 这就是传输加密的含义。
它不会出现在文档中,因为它是 SSL/TLS 的属性,它确实记录了它。
事实上,流的读/写操作在handshake
之前或shutdown
之后是无效的。
要了解有关 SSL 的更多信息: https://en.wikipedia.org/wiki/Transport_Layer_Security
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.