|
10 | 10 | namespace System.Net.Security |
11 | 11 | { |
12 | 12 | /// <summary> |
13 | | - /// Defines the possible versions of Secure Sockets Layer (SSL). |
| 13 | + /// Defines the possible versions of <see cref="SslProtocols"/>. This enumeration supports a bitwise combination of its member values. |
14 | 14 | /// </summary> |
15 | 15 | /// <remarks> |
16 | | - /// Note: Following the recommendation of the .NET documentation, nanoFramework implementation does not have SSL3 nor Default because those are deprecated and unsecure. |
| 16 | + /// <para> |
| 17 | + /// During the handshake, the client sends a list of SSL versions and the server chooses the best matching version from that list. |
| 18 | + /// </para> |
| 19 | + /// <para> |
| 20 | + /// Note: Following the full .NET implementation, .NET nanoFramework does not have any of the SSL nor Default because those are deprecated and unsecure. |
| 21 | + /// </para> |
17 | 22 | /// </remarks> |
18 | | - [FlagsAttribute] |
| 23 | + [Flags] |
19 | 24 | public enum SslProtocols |
20 | 25 | { |
21 | 26 | /// <summary> |
22 | | - /// 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. |
| 27 | + /// 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 value. |
23 | 28 | /// </summary> |
24 | 29 | None = 0x00, |
25 | 30 |
|
26 | 31 | /// <summary> |
27 | | - /// Specifies the TLS 1.0 security protocol. |
28 | | - /// The TLS protocol is defined in IETF RFC 2246. |
| 32 | + /// Specifies the TLS 1.0 security protocol. TLS 1.0 is provided for backward compatibility only. The TLS protocol is defined in IETF RFC 2246. This member is obsolete and will be removed in a future version. |
29 | 33 | /// </summary> |
30 | | - Tls = 0x10, |
| 34 | + /// <remarks> |
| 35 | + /// If the underlying platform does not support TLS 1.0, the connection attempt will use the minimum version supported instead. |
| 36 | + /// </remarks> |
| 37 | + [Obsolete("This value is obsolete and unsecured and will be removed in a future version.")] |
| 38 | + Tls = 192, |
31 | 39 |
|
32 | 40 | /// <summary> |
33 | | - /// Specifies the TLS 1.1 security protocol. |
34 | | - /// The TLS protocol is defined in IETF RFC 4346. |
| 41 | + /// Specifies the TLS 1.1 security protocol. The TLS protocol is defined in IETF RFC 4346. This member is obsolete and will be removed in a future version. |
35 | 42 | /// </summary> |
36 | | - Tls11 = 0x20, |
| 43 | + /// <remarks> |
| 44 | + /// If the underlying platform does not support TLS 1.1, the connection attempt will use the minimum version supported instead. |
| 45 | + /// </remarks> |
| 46 | + [Obsolete("This value is obsolete and unsecured and will be removed in a future version.")] |
| 47 | + Tls11 = 768, |
37 | 48 |
|
38 | 49 | /// <summary> |
39 | | - /// Specifies the TLS 1.2 security protocol. |
40 | | - /// The TLS protocol is defined in IETF RFC 5246. |
| 50 | + /// Specifies the TLS 1.2 security protocol. The TLS protocol is defined in IETF RFC 5246. |
41 | 51 | /// </summary> |
42 | | - Tls12 = 0x40, |
| 52 | + Tls12 = 3072, |
| 53 | + |
| 54 | + /// <summary> |
| 55 | + /// Specifies the TLS 1.3 security protocol. The TLS protocol is defined in IETF RFC 8446. |
| 56 | + /// </summary> |
| 57 | + Tls13 = 12288, |
43 | 58 | } |
44 | 59 |
|
45 | 60 | /// <summary> |
|
0 commit comments