在.NET中使用chacha20-poly1305对称算法进行HTTPS

时间:2017-12-20 08:37:25

标签: c# .net encryption aes tls1.2

是否有人知道是否可以使用带有chacha20的密码套件,例如在Windows 10上运行的.NET(v4.6.2)中编写的桌面客户端中使用TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256?

我的情况是我有一个客户端需要通过TLS与服务器通信,其中服务器在嵌入式设备上运行,如果我可以使用chacha20而不是AES,这将在性能方面受益匪浅。

我希望能够使用现有的HttpClient或WebClient类。

1 个答案:

答案 0 :(得分:3)

在.NET Framework中,对HTTP(以及扩展TLS)的内置支持由ServicePoint类处理。您可以通过ServicePointManager类配置TLS版本等基本参数,但此类不提供任何扩展点来提供自定义算法。

Framework委托Windows执行TLS握手,包括支持的算法。如果Windows支持chacha20,你可能会有更好的机会,但据我所知,它没有。

我现在考虑实现这一目标的唯一方法是提供HttpMessageHandler的自定义实现,它在裸插槽周围有自己的传输实现。