Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'articolo offre una panoramica delle funzionalità di crittografia disponibili per le app WinUI. Per informazioni dettagliate su attività specifiche, vedere la tabella alla fine di questo articolo.
Terminologia
La terminologia seguente viene comunemente usata nella crittografia e nell'infrastruttura a chiave pubblica (PKI).
| Termine | Descrizione |
|---|---|
| Crittografia | Processo di trasformazione dei dati tramite un algoritmo di crittografia e una chiave. I dati trasformati possono essere recuperati solo usando lo stesso algoritmo e la stessa chiave (simmetrica) o correlata (pubblica). |
| Decrittazione | Processo di restituzione di dati crittografati nel formato originale. |
| Testo semplice | Originariamente si riferiva a un messaggio di testo non crittografato. Attualmente si riferisce a tutti i dati non crittografati. |
| Testo crittografato | Originariamente si riferisce a un messaggio di testo crittografato e quindi illeggibile. Attualmente fa riferimento a qualsiasi dato crittografato. |
| Funzione di hash | Processo di conversione dei dati a lunghezza variabile in una lunghezza fissa, generalmente un valore di solito più piccolo. Confrontando gli hash, è possibile ottenere una garanzia ragionevole che due o più dati siano uguali. |
| Firma | Hash crittografato dei dati digitali in genere usati per autenticare il mittente dei dati o verificare che i dati non siano stati manomessi durante la trasmissione. |
| Algoritmo | Procedura dettagliata per la crittografia dei dati. |
| Chiave | Numero casuale o pseudorandomo usato come input per un algoritmo di crittografia per crittografare e decrittografare i dati. |
| Crittografia a chiave simmetrica | Crittografia in cui la crittografia e la decrittografia usano la stessa chiave. Questa operazione è nota anche come crittografia a chiave privata. |
| Crittografia a chiave asimmetrica | Crittografia in cui la crittografia e la decrittografia usano una chiave diversa ma matematicamente correlata. Questa operazione è detta anche crittografia a chiave pubblica. |
| Codifica | Processo di codifica dei messaggi digitali, inclusi i certificati, per il trasporto attraverso una rete. |
| Provider di algoritmi | DLL che implementa un algoritmo di crittografia. |
| Provider di archiviazione delle chiavi | Contenitore per l'archiviazione delle chiavi. Attualmente, le chiavi possono essere archiviate in software, smart card o nel modulo TPM (Trusted Platform Module). |
| Certificato X.509 | Un documento digitale, in genere emesso da un'autorità di certificazione, per verificare l'identità di un individuo, un sistema o un'entità ad altre parti interessate. |
Namespaces
I namespace seguenti sono disponibili per l'uso nelle app.
Windows.Security.Cryptography
Contiene la classe CryptographicBuffer e i metodi statici che consentono di:
- Convertire dati da e verso stringhe
- Convertire i dati da e verso matrici di byte
- Codificare i messaggi per il trasporto di rete
- Decodificare i messaggi dopo il trasporto
Windows.Security.Cryptography.Certificates
Contiene classi, interfacce ed enumerazioni che consentono di:
- Creare una richiesta di certificato
- Installare una risposta al certificato
- Importare un certificato in un file PFX
- Specificare e recuperare le proprietà della richiesta di certificato
Windows.Security.Cryptography.Core
Contiene classi e tipi di enumerazione che consentono di:
- Crittografare e decrittografare i dati
- Dati hash
- Firmare i dati e verificare le firme
- Creare, importare ed esportare chiavi
- Lavorare con fornitori di algoritmi a chiave asimmetrica
- Lavorare con i provider di algoritmi a chiave simmetrica
- Collaborare con i fornitori di algoritmi di hashing
- Usare i provider di algoritmi MAC (Machine Authentication Code)
- Usare i provider di algoritmi di derivazione delle chiavi
Windows.Security.Cryptography.DataProtection
Contiene classi che consentono di:
- Crittografare e decrittografare in modo asincrono i dati statici
- Crittografare e decrittografare in modo asincrono i flussi di dati
Funzionalità dell'applicazione Crypto e PKI
L'interfaccia di programmazione dell'applicazione semplificata disponibile per le app consente le funzionalità di crittografia e infrastruttura a chiave pubblica (PKI) seguenti.
Supporto della crittografia
È possibile eseguire le attività di crittografia seguenti. Per altre informazioni, vedere lo spazio dei nomi Windows.Security.Cryptography.Core .
- Creare chiavi simmetriche
- Eseguire la crittografia simmetrica
- Creare chiavi asimmetriche
- Eseguire la crittografia asimmetrica
- Derivare chiavi basate su una password
- Creare codici di autenticazione dei messaggi
- Contenuto hash
- Firmare digitalmente il contenuto
L'SDK offre anche un'interfaccia semplificata per la protezione dei dati basata su password. È possibile usarlo per eseguire le attività seguenti. Per altre informazioni, vedere lo spazio dei nomi Windows.Security.Cryptography.DataProtection .
- Protezione asincrona dei dati statici
- Protezione asincrona di un flusso di dati
Supporto per la codifica
Un'app può codificare i dati crittografici per la trasmissione attraverso una rete e decodificare i dati ricevuti da un'origine di rete. Per altre informazioni, vedere i metodi statici disponibili nello spazio dei nomi Windows.Security.Cryptography .
Supporto dell'infrastruttura a chiave pubblica
Le app possono eseguire le attività PKI seguenti. Per altre informazioni, vedere lo spazio dei nomi Windows.Security.Cryptography.Certificates .
- Creare un certificato
- Creare un certificato autofirmato
- Installare una risposta al certificato
- Importare un certificato in formato PFX
- Usare i certificati e le chiavi delle smart card (set di funzionalità sharedUserCertificates)
- Usare i certificati dall'archivio MY dell'utente (set di funzionalità sharedUserCertificates)
Inoltre, è possibile usare il manifesto per eseguire le azioni seguenti:
- Specificare i certificati radice attendibili per ogni applicazione
- Specificare i certificati attendibili per peer dell'applicazione
- Disabilitare in modo esplicito l'ereditarietà dal trust di sistema
- Specificare i criteri di selezione del certificato
- Solo certificati hardware
- Certificati concatenati tramite un set specificato di autorità emittenti
- Selezionare automaticamente un certificato dall'archivio applicazioni
Articoli dettagliati
Gli articoli seguenti forniscono altri dettagli sugli scenari di sicurezza:
| Argomento | Descrizione |
|---|---|
| Attestati | Questo articolo illustra l'uso dei certificati nelle app WinUI. I certificati digitali vengono usati nella crittografia a chiave pubblica per associare una chiave pubblica a una persona, un computer o un'organizzazione. Le identità associate vengono usate più spesso per autenticare un'entità in un'altra. Ad esempio, i certificati vengono spesso usati per autenticare un server Web a un utente e a un utente in un server Web. È possibile creare richieste di certificato e installare o importare i certificati rilasciati. È anche possibile registrare un certificato in una gerarchia di certificati. |
| Chiavi crittografiche | Questo articolo illustra come usare le funzioni di derivazione delle chiavi standard per derivare le chiavi e come crittografare il contenuto usando chiavi simmetriche e asimmetriche. |
| Protezione dei dati | Questo articolo illustra come usare la classe DataProtectionProvider nello spazio dei nomi Windows.Security.Cryptography.DataProtection per crittografare e decrittografare i dati digitali in un'app WinUI. |
| MAC, hash e firme digitali | Questo articolo illustra in che modo i codici di autenticazione dei messaggi ,gli hash e le firme possono essere usati nelle app WinUI per rilevare la manomissione dei messaggi. |
| Restrizioni di esportazione per la crittografia | Usa queste informazioni per determinare se la tua app usa la crittografia in modo da impedire che venga elencata in Microsoft Store. |
| Attività di crittografia comuni | Questi articoli forniscono codice di esempio per attività di crittografia WinUI comuni, ad esempio la creazione di numeri casuali, il confronto di buffer, la conversione tra stringhe e dati binari, la copia da e verso matrici di byte e la codifica e la decodifica dei dati. |