Loris S 1a84c758e1
Modify S4423: Learn-As-You-Code Migration (#2097)
Co-authored-by: hendrik-buchwald-sonarsource <64110887+hendrik-buchwald-sonarsource@users.noreply.github.com>
2023-06-20 15:36:01 +00:00

62 lines
1.1 KiB
Plaintext

== How to fix it in .NET
=== Code examples
==== Noncompliant code example
These samples use TLSv1.0 as the default TLS algorithm, which is cryptographically weak.
[source,csharp,diff-id=1,diff-type=noncompliant]
----
using System.Net;
public void encrypt()
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; // Noncompliant
}
----
[source,csharp,diff-id=2,diff-type=noncompliant]
----
using System.Net.Http;
using System.Security.Authentication;
public void encrypt()
{
new HttpClientHandler
{
SslProtocols = SslProtocols.Tls // Noncompliant
};
}
----
==== Compliant solution
[source,csharp,diff-id=1,diff-type=compliant]
----
Using System.Net;
public void encrypt()
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13;
}
----
[source,csharp,diff-id=2,diff-type=compliant]
----
using System.Net.Http;
using System.Security.Authentication;
public void encrypt()
{
new HttpClientHandler
{
SslProtocols = SslProtocols.Tls12
};
}
----
=== How does this work?
include::../../common/fix/fix.adoc[]