我正在使用.NET Core3.0制作一个代理,它只支持TLS1.3,我看到Tls13 = 12288是在SslProtocols中定义的。但在我的测试中,它只抛出异常“客户端和服务器无法通信,因为它们没有通用的算法”。所以我的问题是.NET Core3.0现在是否支持TLS1.3?
我使用的是visual studio professional 2019 v16.3.0预览版3.0,我的项目是netcore3.0
Tls13 is defined in SslProtocols
//
// Summary:
// Defines the possible versions of System.Security.Authentication.SslProtocols.
[Flags]
public enum SslProtocols {
//
// Summary:
// Allows the operating system to choose the best protocol to use, and to block
// protocols that are not secure. Unless your app has a specific reason not to,
// you should use this field.
None = 0,
//
// Summary:
// Specifies the SSL 2.0 protocol. SSL 2.0 has been superseded by the TLS protocol
// and is provided for backward compatibility only.
Ssl2 = 12,
//
// Summary:
// Specifies the SSL 3.0 protocol. SSL 3.0 has been superseded by the TLS protocol
// and is provided for backward compatibility only.
Ssl3 = 48,
//
// Summary:
// Specifies the TLS 1.0 security protocol. The TLS protocol is defined in IETF
// RFC 2246.
Tls = 192,
//
// Summary:
// Use None instead of Default. Default permits only the Secure Sockets Layer (SSL)
// 3.0 or Transport Layer Security (TLS) 1.0 protocols to be negotiated, and those
// options are now considered obsolete. Consequently, Default is not allowed in
// many organizations. Despite the name of this field, System.Net.Security.SslStream
// does not use it as a default except under special circumstances.
Default = 240,
//
// Summary:
// Specifies the TLS 1.1 security protocol. The TLS protocol is defined in IETF
// RFC 4346.
Tls11 = 768,
//
// Summary:
// Specifies the TLS 1.2 security protocol. The TLS protocol is defined in IETF
// RFC 5246.
Tls12 = 3072,
//
// Summary:
// Specifies the TLS 1.3 security protocol. The TLS protocol is defined in IETF
// RFC 8446.
Tls13 = 12288
}发布于 2019-09-13 03:04:22
谷歌是你的朋友:
https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0
.NET核心上的LinuxTLS1.3和OpenSSL 1.1.1现在利用了OpenSSL 1.1.1中的TLS1.3支持,当它在给定的环境中可用时。使用TLS 1.3:
通过减少客户端和服务器之间所需的往返行程,缩短了连接时间。由于删除了各种过时和不安全的加密算法,提高了安全性。当可用时,LinuxCore3.0在.NET系统上使用OpenSSL 1.1.1、OpenSSL 1.1.0或OpenSSL 1.0.2。当OpenSSL 1.1.1可用时,System.Net.Security.SslStream和System.Net.Http.HttpClient类型都将使用TLS1.3(假设客户端和服务器都支持TLS1.3)。
https://stackoverflow.com/questions/57900809
复制相似问题