Rustls(或briansmith / ring)AES CBC选项DONT_INSERT_EMPTY_FRAGMENTS类似物

问题描述 投票:0回答:1

我正在使用rustls库(https://github.com/ctz/rustls)进行TLS连接。一切正常,除了一些服务器不建立连接(在HelloClient消息后失败),因为它们不支持CBC模式的空片段(OpenSSL的选项名称为SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS,更多详细信息,请点击https://www.openssl.org/~bodo/tls-cbc.txt)。我知道rustls也使用ring库(https://github.com/briansmith/ring),但我也无法在其中找到类似的选项。

我试图研究rustls和铃声代码,但没有找到类似的选择。

我希望与不支持它的服务器建立不带空片段的tls连接。例如。 Windows 7默认使用tls 1.0(或1.1)。

谢谢您的帮助。

rust
1个回答
0
投票

Rustls不支持CBC密码套件或TLS 1.0或1.1。 TLS中使用CBC的方式(MAC-then-Encrypt)被认为是不安全的(尤其是与所需的选项一起使用时),Rustls也不实现不安全的算法。 Rustls支持TLS 1.2和1.3,并且仅支持AEAD算法(AES-GCM和ChaCha20-Poly1305)。

[如果要使用Rustls编写服务器,则需要确保客户端至少支持TLS 1.2并使用安全密码套件。如果您关心数据安全或有任何合规性要求,则无论如何都应该这样做。

请注意,Windows 7将于1月停产,因此之后不应该考虑其TLS支持。

© www.soinside.com 2019 - 2024. All rights reserved.