Eventi
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.
Le classi System.Net supportano diversi modi per selezionare e convalidare System.Security.Cryptography.X509Certificates per le connessioni SSL (Secure Socket Layer). Un client può selezionare uno o più certificati per autenticarsi a un server, mentre un server può richiedere che un certificato client abbia uno o più attributi specifici per l'autenticazione.
Un certificato è un flusso di byte ASCII che contiene una chiave pubblica, attributi (ad esempio, numero di versione, numero di serie e data di scadenza) e una firma digitale di un'autorità di certificazione. I certificati vengono usati per stabilire una connessione crittografata oppure per autenticare un client a un server.
Un client può selezionare uno o più certificati per una specifica connessione SSL. I certificati client possono essere associati alla connessione SSL a un server Web o a un server di posta elettronica SMTP. Un client aggiunge i certificati a una raccolta di oggetti della classe X509Certificate o X509Certificate2. Per la posta elettronica, ad esempio, la raccolta di certificati è un'istanza di X509CertificateCollection associata alla proprietà ClientCertificates della classe SmtpClient. La classe HttpWebRequest ha una proprietà ClientCertificates simile.
La differenza principale tra la classe X509Certificate e la classe X509Certificate2 è data dal fatto che la chiave privata deve trovarsi nell'archivio certificati per la classe X509Certificate.
Anche se i certificati vengono aggiunti a una raccolta e sono associati a una connessione SSL specifica, nessun certificato verrà inviato al server a meno che non sia richiesto dal server. Se su una connessione sono impostati più certificati client, verrà usato il migliore in base a un algoritmo che valuta la corrispondenza tra l'elenco di autorità di certificazione fornito dal server e il nome dell'autorità emittente del certificato client.
La classe SslStream fornisce anche maggiore controllo sull'handshake SSL. Un client può specificare un delegato per selezionare il certificato client da usare.
Un server remoto può verificare se un certificato client è valido, corrente e firmato dall'autorità di certificazione appropriata. È possibile aggiungere un delegato alla proprietà ServerCertificateValidationCallback per imporre la convalida dei certificati.
In .NET Framework viene usata la procedura seguente per selezionare il certificato client da presentare al server:
Un certificato già presentato al server viene memorizzato nella cache alla prima presentazione e quindi riusato per le successive richieste di certificato client.
Se è presente un delegato, usare sempre il risultato restituito dal delegato come certificato client da selezionare. Provare a usare un certificato memorizzato nella cache, quando possibile, ma non usare credenziali anonime memorizzate nella cache se il delegato ha restituito null e la raccolta di certificati non è vuota.
Se si tratta della prima verifica di un certificato client, .NET Framework enumera i certificati negli oggetti della classe X509Certificate o X509Certificate2 associati alla connessione, cercando una corrispondenza tra l'elenco di autorità di certificazione fornito dal server e il nome dell'autorità emittente del certificato client. Il primo certificato corrispondente viene inviato al server. Se non viene trovata alcuna corrispondenza o la raccolta di certificati è vuota, al server vengono inviate credenziali anonime.
Per la configurazione dei certificati client e server è disponibile una serie di strumenti.
Per configurare i certificati client è possibile usare Winhttpcertcfg.exe. Lo strumento Winhttpcertcfg.exe è incluso in Windows Server 2003 Resource Kit ed è anche disponibile come download in Windows Server 2003 Resource Kit Tools sul sito www.microsoft.com.
Per configurare i certificati server per la classe HttpListener è possibile usare lo strumento HttpCfg.exe. Lo strumento HttpCfg.exe è incluso tra gli strumenti di supporto per Windows Server 2003 e Windows XP Service Pack 2. HttpCfg.exe e gli altri strumenti di supporto non vengono installati per impostazione predefinita in Windows Server 2003 o Windows XP. Per Windows Server 2003 gli strumenti di supporto vengono installati separatamente dalla cartella e dal file seguenti sul CD del sistema operativo:
\Support\Tools\Suptools.msi
Per Windows XP Service Pack 2, gli strumenti di supporto di Windows XP sono disponibili come download sul sito www.microsoft.com.
Il codice sorgente di una versione di HttpCfg.exe è inoltre disponibile come esempio in Windows Server SDK. Il codice sorgente dell'esempio HttpCfg.exe viene installato per impostazione predefinita con gli esempi di rete, come parte di Windows SDK, nella cartella seguente:
C:\Programmi\Microsoft SDKs\Windows\v1.0\Samples\NetDS\http\serviceconfig
Oltre a questi strumenti, le classi X509Certificate e X509Certificate2 offrono metodi per caricare un certificato dal file system.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
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 subitoFormazione
Modulo
Implementare e gestire Servizi certificati Active Directory - Training
Implementare e gestire Servizi certificati Active Directory
Certificazione
Microsoft Certified: Information Security Administrator Associate(beta) - Certifications
As an Information Security Administrator, you plan and implement information security of sensitive data by using Microsoft Purview and related services. You’re responsible for mitigating risks by protecting data inside collaboration environments that are managed by Microsoft 365 from internal and external threats and protecting data used by AI services. You also implement information protection, data loss prevention, retention, insider risk management, and manage information security alerts and activities.