适用对象:
NoSQL
MongoDB
Cassandra
Gremlin
表
重要
从 2025 年 3 月 31 日起, 将为 Azure Cosmos DB 启用对 TLS 1.3 的支持。
从 2025 年 8 月 31 日开始,我们正式弃用 TLS 1.0/1.1。 仅支持 TLS 1.2 或更高版本。
Azure Cosmos DB 将在全球范围内在其平台上启用公共终结点上的 TLS 1.3 支持,以符合安全最佳做法。 本文提供了有关如何为 Azure Cosmos DB 即将推出的 TLS 1.3 支持做好准备的额外指导。
与前一代相比,TLS 1.3 引入了大量增强功能。 TLS 1.3 改进侧重于性能和安全性,包括更快的握手速度和简化的一组更安全的密码套件,即 TLS_AES_256_GCM_SHA384 和 TLS_AES_128_GCM_SHA256。 值得注意的是,TLS 1.3 通过消除不支持它的密钥交换算法来优先考虑完美转发保密 (PFS)。
使用最新的可用 TLS 版本的客户端会在 TLS 1.3 可用时自动选取它。 除了 TLS 1.3 之外,Azure Cosmos DB 还继续支持 TLS 1.2。
以下是 TLS 1.3 启用的一些已知问题、潜在影响和缓解措施。
JDK 相关问题:
4.1.68.Final
与4.1.86.Final
(含)之间的 io.netty 版本包含一个 bug,当 Java 运行时引擎不支持 TLS 1.3 时,将导致客户端在直接模式连接中 TLS 握手失败。 Azure Cosmos DB Java SDK 版本(范围从 4.20.0 到 4.40.0(含))对于存在此 bug 的 io.netty 具有转换依赖性。 客户端失败,出现java.lang.IllegalArgumentException
异常,如此处所示。Caused by: io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem at ... Caused by: java.lang.IllegalArgumentException: TLSv1.3 at sun.security.ssl.ProtocolVersion.valueOf(ProtocolVersion.java:187)
缓解建议:
备注
使客户端能够使用 TLS 1.3 需要 Java 运行时支持 TLS 1.3