Eventi
Creare app e agenti di intelligenza artificiale
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Proprietà | valore |
---|---|
ID regola | CA5386 |
Title | Evitare di impostare il valore SecurityProtocolType come hardcoded |
Categoria | Sicurezza |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitato per impostazione predefinita in .NET 9 | No |
Questa regola viene attivata quando vengono soddisfatte una delle condizioni seguenti:
I valori sicuri sono:
Transport Layer Security (TLS) protegge la comunicazione tra computer, in genere con PROTOCOLLO HTTPS (Hypertext Transfer Protocol Secure). Le versioni del protocollo TLS 1.0 e TLS 1.1 sono deprecate, mentre TLS 1.2 e TLS 1.3 sono correnti. In futuro, TLS 1.2 e TLS 1.3 potrebbero essere deprecati. Per garantire che l'applicazione rimanga sicura, evitare di impostare come hardcoding una versione del protocollo e di avere come destinazione almeno .NET Framework v4.7.1. Per altre informazioni, vedere Procedure consigliate per Transport Layer Security (TLS) con .NET Framework.
Non impostare come hardcoded le versioni del protocollo TLS.
È possibile eliminare questo avviso se l'applicazione è destinata a .NET Framework v4.6.2 o versioni precedenti e può essere eseguita in un computer con impostazioni predefinite non sicure.
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable CA5386
// The code that's violating the rule is on this line.
#pragma warning restore CA5386
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none
su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.CA5386.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.
using System;
using System.Net;
public class ExampleClass
{
public void ExampleMethod()
{
// CA5386 violation
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
}
}
Imports System
Imports System.Net
Public Class TestClass
Public Sub ExampleMethod()
' CA5386 violation
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
End Sub
End Class
using System;
using System.Net;
public class ExampleClass
{
public void ExampleMethod()
{
// CA5386 violation
ServicePointManager.SecurityProtocol = (SecurityProtocolType) 3072; // TLS 1.2
}
}
Imports System
Imports System.Net
Public Class TestClass
Public Sub ExampleMethod()
' CA5386 violation
ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType) ' TLS 1.2
End Sub
End Class
using System;
using System.Net;
public class TestClass
{
public void TestMethod()
{
// Let the operating system decide what TLS protocol version to use.
// See https://learn.microsoft.com/dotnet/framework/network-programming/tls
}
}
Imports System
Imports System.Net
Public Class TestClass
Public Sub ExampleMethod()
' Let the operating system decide what TLS protocol version to use.
' See https://learn.microsoft.com/dotnet/framework/network-programming/tls
End Sub
End Class
CA5364: Non usare protocolli di sicurezza deprecati
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
Creare app e agenti di intelligenza artificiale
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subito