1

似乎在使用 SslStream 时我无法获得 ReceiveAsync 的好处,因为我必须通过仅支持 Begin* End* 异步模型的 SslStream 进行读取。

是否可以在完成身份验证之前只使用 SslStream,然后直接访问套接字?这意味着我必须找出协商的安全级别,然后自己对缓冲区应用正确的加密/解密。发送前加密,接收后解密。

这是可行的吗?

谢谢!

4

1 回答 1

1

SslStream 为您提供隐私 + 服务器身份验证,并且取决于您是否使用 ClientCertificates,以及客户端身份验证。您不能直接使用套接字,因为一旦建立 SSL 会话,密钥交换就会将加密和其他算法绑定到会话,并且无法在代码中复制它们。

无论如何,SslStream.Begin/End 方法为您提供所需的异步功能。为什么你需要回退到 Socket.SendAsync/ReceiveAsync() ?

于 2009-09-10T19:17:40.053 回答