DSA Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta la classe base astratta da cui devono ereditare tutte le implementazioni dell'algoritmo di firma digitale (DSA).
public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
type DSA = class
inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
- Ereditarietà
- Derivato
- Attributi
Commenti
È possibile usare la DSA classe e le classi derivate per creare firme digitali che consentono di proteggere l'integrità dei dati. DSACryptoServiceProvider fornisce un'implementazione di questa classe.
Per usare un sistema a chiave pubblica per firmare digitalmente un messaggio, il mittente applica prima una funzione hash al messaggio per creare un digest del messaggio. Il mittente crittografa quindi il digest del messaggio con la chiave privata del mittente per creare la firma personale del mittente. Dopo aver ricevuto il messaggio e la firma, il ricevitore decrittografa la firma usando la chiave pubblica del mittente per recuperare il digest del messaggio e esegue l'hashing del messaggio usando lo stesso algoritmo hash usato dal mittente. Se il digest del messaggio calcolato dal ricevitore corrisponde esattamente al digest del messaggio ricevuto dal mittente, il ricevitore può presupporre che il messaggio non sia stato modificato durante il transito. Si noti che una firma può essere verificata da chiunque, perché la chiave pubblica del mittente è una conoscenza comune.
Important
I creatori dell'algoritmo DSA hanno ritirato il supporto per esso. Prendere in considerazione l'uso della RSA classe o della ECDsa classe anziché della DSA classe . Usare DSA solo per la compatibilità con applicazioni e dati legacy.
Esistono due versioni diverse dell'algoritmo DSA. Il formato originale, descritto in FIPS 186-2, richiede l'uso di SHA-1 come algoritmo hash e supporta lunghezze di chiave da 512 bit a 1024 bit in incrementi di 64 bit. Una versione aggiornata dell'algoritmo è stata descritta in FIPS 186-3, che ha abilitato l'uso della famiglia di algoritmi hash SHA-2 e aggiunto il supporto per chiavi a 2048 bit e chiavi a 3072 bit. Non tutte le implementazioni derivate di questo tipo supportano i miglioramenti FIPS 186-3 per DSA. È possibile rilevare il supporto tramite la LegalKeySizes proprietà .
Costruttori
| Nome | Descrizione |
|---|---|
| DSA() |
Inizializza una nuova istanza della classe DSA. |
Campi
| Nome | Descrizione |
|---|---|
| KeySizeValue |
Rappresenta le dimensioni, in bit, del modulo di chiave utilizzato dall'algoritmo asimmetrico. (Ereditato da AsymmetricAlgorithm) |
| LegalKeySizesValue |
Specifica le dimensioni delle chiavi supportate dall'algoritmo asimmetrico. (Ereditato da AsymmetricAlgorithm) |
Proprietà
| Nome | Descrizione |
|---|---|
| KeyExchangeAlgorithm |
In caso di override in una classe derivata, ottiene il nome dell'algoritmo di scambio di chiavi. In caso contrario, genera un'eccezione NotImplementedException. (Ereditato da AsymmetricAlgorithm) |
| KeySize |
Ottiene o imposta le dimensioni, in bit, del modulo di chiave utilizzato dall'algoritmo asimmetrico. (Ereditato da AsymmetricAlgorithm) |
| LegalKeySizes |
Ottiene le dimensioni delle chiavi supportate dall'algoritmo asimmetrico. (Ereditato da AsymmetricAlgorithm) |
| SignatureAlgorithm |
Se implementato in una classe derivata, ottiene il nome dell'algoritmo di firma. In caso contrario, genera sempre un'eccezione NotImplementedException. (Ereditato da AsymmetricAlgorithm) |
Metodi
| Nome | Descrizione |
|---|---|
| Clear() |
Rilascia tutte le risorse usate dalla AsymmetricAlgorithm classe . (Ereditato da AsymmetricAlgorithm) |
| Create() |
Crea l'oggetto di crittografia predefinito utilizzato per eseguire l'algoritmo asimmetrico. |
| Create(DSAParameters) |
Crea una nuova chiave DSA temporanea con i parametri di chiave DSA specificati. |
| Create(Int32) |
Crea una nuova chiave DSA temporanea con le dimensioni della chiave specificate. |
| Create(String) |
Crea l'oggetto di crittografia specificato utilizzato per eseguire l'algoritmo asimmetrico. |
| CreateSignature(Byte[]) |
Quando sottoposto a override in una classe derivata, crea la DSA firma per il valore hash specificato. |
| Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della AsymmetricAlgorithm classe . (Ereditato da AsymmetricAlgorithm) |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate dalla AsymmetricAlgorithm classe e, facoltativamente, rilascia le risorse gestite. (Ereditato da AsymmetricAlgorithm) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su byte. (Ereditato da AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Esporta la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo con una password basata su caratteri. (Ereditato da AsymmetricAlgorithm) |
| ExportParameters(Boolean) |
Quando sottoposto a override in una classe derivata, esporta .DSAParameters |
| ExportPkcs8PrivateKey() |
Esporta la chiave corrente nel formato PrivateKeyInfo PKCS#8. (Ereditato da AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfo() |
Esporta la parte chiave pubblica della chiave corrente nel formato X.509 SubjectPublicKeyInfo. (Ereditato da AsymmetricAlgorithm) |
| FromXmlString(String) |
Ricostruisce un DSA oggetto da una stringa XML. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| HashData(Byte[], Int32, Int32, HashAlgorithmName) |
Quando sottoposto a override in una classe derivata, calcola il valore hash di una parte specificata di una matrice di byte usando un algoritmo hash specificato. |
| HashData(Stream, HashAlgorithmName) |
Quando sottoposto a override in una classe derivata, calcola il valore hash di un flusso binario specificato usando un algoritmo hash specificato. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
In caso di override in una classe derivata, importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 EncryptedPrivateKeyInfo dopo la decrittografia con una password basata su byte, sostituendo le chiavi per questo oggetto. (Ereditato da AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
In caso di override in una classe derivata, importa la coppia di chiavi pubblica/privata da una struttura PKCS#8 EncryptedPrivateKeyInfo dopo la decrittografia con una password basata su char, sostituendo le chiavi per questo oggetto. (Ereditato da AsymmetricAlgorithm) |
| ImportParameters(DSAParameters) |
In caso di override in una classe derivata, importa l'oggetto specificato DSAParameters. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Quando ne viene eseguito l'override in una classe derivata, importa la coppia di chiavi pubblica/privata da una struttura PrivateKeyInfo PKCS#8 dopo la decrittografia, sostituendo le chiavi per questo oggetto. (Ereditato da AsymmetricAlgorithm) |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Quando ne viene eseguito l'override in una classe derivata, importa la chiave pubblica da una struttura X.509 SubjectPublicKeyInfo dopo la decrittografia, sostituendo le chiavi per questo oggetto. (Ereditato da AsymmetricAlgorithm) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| SignData(Byte[], HashAlgorithmName) |
Calcola il valore hash della matrice di byte specificata usando l'algoritmo hash specificato e firma il valore hash risultante. |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
Calcola il valore hash di una parte della matrice di byte specificata usando l'algoritmo hash specificato e firma il valore hash risultante. |
| SignData(Stream, HashAlgorithmName) |
Calcola il valore hash del flusso specificato usando l'algoritmo hash specificato e firma il valore hash risultante. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| ToXmlString(Boolean) |
Crea e restituisce una rappresentazione di stringa XML dell'oggetto corrente DSA . |
| TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Tenta di creare la firma DSA per l'hash specificato nel buffer fornito. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
Quando sottoposto a override in una classe derivata, tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo in un buffer fornito, usando una password basata su byte. (Ereditato da AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Quando ne viene eseguito l'override in una classe derivata, tenta di esportare la chiave corrente nel formato PKCS#8 EncryptedPrivateKeyInfo in un buffer fornito, usando una password basata su caratteri. (Ereditato da AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Quando sottoposto a override in una classe derivata, tenta di esportare la chiave corrente nel formato PKCS#8 PrivateKeyInfo in un buffer fornito. (Ereditato da AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Quando sottoposto a override in una classe derivata, tenta di esportare la chiave corrente nel formato X.509 SubjectPublicKeyInfo in un buffer fornito. (Ereditato da AsymmetricAlgorithm) |
| TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
Tenta di calcolare il valore hash dei dati forniti in un buffer fornito. |
| TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
Tenta di creare la firma DSA per i dati specificati nel buffer fornito. |
| VerifyData(Byte[], Byte[], HashAlgorithmName) |
Verifica che una firma digitale sia valida calcolando il valore hash dei dati specificati usando l'algoritmo hash specificato e confrontandolo con la firma specificata. |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) |
Verifica che una firma digitale sia valida calcolando il valore hash dei dati in una parte di una matrice di byte usando l'algoritmo hash specificato e confrontandolo con la firma specificata. |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) |
Verifica che una firma digitale sia valida calcolando il valore hash dei dati in un intervallo di byte usando l'algoritmo hash specificato e confrontandolo con la firma fornita. |
| VerifyData(Stream, Byte[], HashAlgorithmName) |
Verifica che una firma digitale sia valida calcolando il valore hash del flusso specificato usando l'algoritmo hash specificato e confrontandolo con la firma specificata. |
| VerifySignature(Byte[], Byte[]) |
Quando sottoposto a override in una classe derivata, verifica la DSA firma per i dati specificati. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Verifica che una firma digitale sia valida per un hash dei dati specificato. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IDisposable.Dispose() |
Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice. Per una descrizione di questo membro, vedere Dispose(). (Ereditato da AsymmetricAlgorithm) |