DSA Klas

Definitie

Vertegenwoordigt de abstracte basisklasse waaruit alle implementaties van het Digital Signature Algorithm (DSA) moeten worden overgenomen.

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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.Versioning.UnsupportedOSPlatform("browser")>]
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Overname
Afgeleid
Kenmerken

Opmerkingen

U kunt de DSA klasse en afgeleide klassen gebruiken om digitale handtekeningen te maken die de integriteit van uw gegevens helpen beschermen. De DSACryptoServiceProvider klasse biedt een implementatie van deze klasse.

Als u een systeem met een openbare sleutel wilt gebruiken om een bericht digitaal te ondertekenen, past de afzender eerst een hash-functie toe op het bericht om een berichtsamenvating te maken. De afzender versleutelt vervolgens de samenvatting van het bericht met de persoonlijke sleutel van de afzender om de persoonlijke handtekening van de afzender te maken. Na ontvangst van het bericht en de handtekening ontsleutelt de ontvanger de handtekening met behulp van de openbare sleutel van de afzender om de berichtsamenvating te herstellen en het bericht te hashes met hetzelfde hash-algoritme dat de afzender heeft gebruikt. Als de ontvanger exact overeenkomt met de ontvangen berichtsamenvatt van de afzender, kan de ontvanger ervan uitgaan dat het bericht tijdens de overdracht niet is gewijzigd. Houd er rekening mee dat een handtekening door iedereen kan worden geverifieerd, omdat de openbare sleutel van de afzender algemeen bekend is.

Important

De makers van het DSA-algoritme hebben hun ondersteuning voor het algoritme ingetrokken. Overweeg het gebruik van de RSA klasse of de ECDsa klasse in plaats van de DSA klasse. Alleen gebruiken DSA voor compatibiliteit met verouderde toepassingen en gegevens.

Er bestaan twee verschillende versies van het DSA-algoritme. Het oorspronkelijke formulier, beschreven in FIPS 186-2, vereist het gebruik van SHA-1 als hash-algoritme en ondersteunt sleutellengten van 512 bits tot 1024 bits in stappen van 64 bits. Een bijgewerkte versie van het algoritme is beschreven in FIPS 186-3, waardoor het gebruik van de SHA-2-serie hash-algoritmen is ingeschakeld en ondersteuning is toegevoegd voor 2048-bits sleutels en 3072-bits sleutels. Niet alle afgeleide implementaties van dit type ondersteunen de FIPS 186-3-verbeteringen aan DSA. Ondersteuning kan worden gedetecteerd via de LegalKeySizes eigenschap.

Constructors

Name Description
DSA()

Initialiseert een nieuw exemplaar van de DSA klasse.

Velden

Name Description
KeySizeValue

Vertegenwoordigt de grootte, in bits, van de sleutelmodulatie die wordt gebruikt door het asymmetrische algoritme.

(Overgenomen van AsymmetricAlgorithm)
LegalKeySizesValue

Hiermee geeft u de sleutelgrootten op die worden ondersteund door het asymmetrische algoritme.

(Overgenomen van AsymmetricAlgorithm)

Eigenschappen

Name Description
KeyExchangeAlgorithm

Wanneer deze wordt overschreven in een afgeleide klasse, haalt u de naam op van het algoritme voor sleuteluitwisseling. Anders gooit een NotImplementedException.

(Overgenomen van AsymmetricAlgorithm)
KeySize

Hiermee haalt u de grootte, in bits, op van de sleutelmodulatie die wordt gebruikt door het asymmetrische algoritme.

(Overgenomen van AsymmetricAlgorithm)
LegalKeySizes

Hiermee haalt u de sleutelgrootten op die worden ondersteund door het asymmetrische algoritme.

(Overgenomen van AsymmetricAlgorithm)
SignatureAlgorithm

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, haalt u de naam van het handtekeningalgoritmen op. Anders gooit altijd een NotImplementedException.

(Overgenomen van AsymmetricAlgorithm)

Methoden

Name Description
Clear()

Alle resources die door de AsymmetricAlgorithm klasse worden gebruikt, worden vrijgegeven.

(Overgenomen van AsymmetricAlgorithm)
Create()

Hiermee maakt u het standaard cryptografische object dat wordt gebruikt om het asymmetrische algoritme uit te voeren.

Create(DSAParameters)

Hiermee maakt u een nieuwe tijdelijke DSA-sleutel met de opgegeven DSA-sleutelparameters.

Create(Int32)

Hiermee maakt u een nieuwe kortstondige DSA-sleutel met de opgegeven sleutelgrootte.

Create(String)
Verouderd.

Hiermee maakt u het opgegeven cryptografische object dat wordt gebruikt om het asymmetrische algoritme uit te voeren.

CreateSignature(Byte[], DSASignatureFormat)

Hiermee maakt u de DSA-handtekening voor de opgegeven hashwaarde in de aangegeven indeling.

CreateSignature(Byte[])

Wanneer deze wordt overschreven in een afgeleide klasse, maakt u de DSA handtekening voor de opgegeven hashwaarde.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Hiermee maakt u de DSA-handtekening voor de opgegeven hashwaarde in de aangegeven indeling.

Dispose()

Alle resources die door het huidige exemplaar van de AsymmetricAlgorithm klasse worden gebruikt, worden vrijgegeven.

(Overgenomen van AsymmetricAlgorithm)
Dispose(Boolean)

Publiceert de niet-beheerde resources die door de AsymmetricAlgorithm klasse worden gebruikt en brengt eventueel de beheerde resources vrij.

(Overgenomen van AsymmetricAlgorithm)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Hiermee exporteert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling met een op byte gebaseerd wachtwoord.

(Overgenomen van AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Hiermee exporteert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling met een wachtwoord op basis van tekens.

(Overgenomen van AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Hiermee exporteert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling met een op byte gebaseerd wachtwoord, gecodeerd met PEM.

(Overgenomen van AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Hiermee exporteert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling met een wachtwoord op basis van tekens, gecodeerd met PEM.

(Overgenomen van AsymmetricAlgorithm)
ExportParameters(Boolean)

Wanneer deze wordt overschreven in een afgeleide klasse, exporteert u de DSAParameters.

ExportPkcs8PrivateKey()

Hiermee exporteert u de huidige sleutel in de PKCS#8 PrivateKeyInfo-indeling.

(Overgenomen van AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Hiermee exporteert u de huidige sleutel in de PKCS#8 PrivateKeyInfo-indeling, met PEM gecodeerd.

(Overgenomen van AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Hiermee exporteert u het openbare-sleutelgedeelte van de huidige sleutel in de indeling X.509 SubjectPublicKeyInfo.

(Overgenomen van AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Hiermee exporteert u het openbare-sleutelgedeelte van de huidige sleutel in de X.509 SubjectPublicKeyInfo-indeling, met PEM gecodeerd.

(Overgenomen van AsymmetricAlgorithm)
FromXmlString(String)

Hiermee wordt een DSA object van een XML-tekenreeks gereconstrueerd.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetMaxSignatureSize(DSASignatureFormat)

Hiermee haalt u de grootste grootte, in bytes, op voor een handtekening die door deze sleutel wordt geproduceerd in de aangegeven indeling.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u de hashwaarde van een opgegeven gedeelte van een bytematrix met behulp van een opgegeven hashing-algoritme.

HashData(Stream, HashAlgorithmName)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u de hashwaarde van een opgegeven binaire stream met behulp van een opgegeven hashing-algoritme.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importeert de openbare/persoonlijke keypair uit een PKCS#8 EncryptedPrivateKeyInfo-structuur na ontsleuteling met een op byte gebaseerd wachtwoord, waarbij de sleutels voor dit object worden vervangen.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, importeert u de openbare/persoonlijke keypair uit een PKCS#8 EncryptedPrivateKeyInfo-structuur na ontsleuteling met een op byte gebaseerd wachtwoord, waarbij u de sleutels voor dit object vervangt.

(Overgenomen van AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importeert de openbare/persoonlijke keypair uit een PKCS#8 EncryptedPrivateKeyInfo-structuur na ontsleuteling met een wachtwoord op basis van tekens, waarbij de sleutels voor dit object worden vervangen.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, importeert u de openbare/persoonlijke keypair uit een PKCS#8 EncryptedPrivateKeyInfo-structuur nadat deze is ontsleuteld met een wachtwoord op basis van tekens, waarbij u de sleutels voor dit object vervangt.

(Overgenomen van AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Hiermee importeert u een versleutelde PERSOONLIJKE SLEUTEL van RFC 7468 PEM en vervangt u de sleutels voor dit object.

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Hiermee importeert u een versleutelde PERSOONLIJKE SLEUTEL van RFC 7468 PEM en vervangt u de sleutels voor dit object.

ImportFromPem(ReadOnlySpan<Char>)

Hiermee importeert u een RFC 7468 PEM-gecodeerde sleutel en vervangt u de sleutels voor dit object.

ImportParameters(DSAParameters)

Wanneer deze wordt overschreven in een afgeleide klasse, importeert u de opgegeven DSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importeert de openbare/persoonlijke keypair uit een PKCS#8 PrivateKeyInfo-structuur na ontsleuteling, waarbij de sleutels voor dit object worden vervangen.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, importeert u de openbare/persoonlijke keypair uit een PKCS#8 PrivateKeyInfo-structuur na ontsleuteling en vervangt u de sleutels voor dit object.

(Overgenomen van AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Hiermee importeert u de openbare sleutel uit een X.509 SubjectPublicKeyInfo-structuur na ontsleuteling en vervangt u de sleutels voor dit object.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, importeert u de openbare sleutel uit een X.509 SubjectPublicKeyInfo-structuur na ontsleuteling en vervangt u de sleutels voor dit object.

(Overgenomen van AsymmetricAlgorithm)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Berekent de hashwaarde van de opgegeven gegevens en ondertekent deze met behulp van de opgegeven handtekeningindeling.

SignData(Byte[], HashAlgorithmName)

Berekent de hashwaarde van de opgegeven bytematrix met behulp van het opgegeven hash-algoritme en ondertekent de resulterende hashwaarde.

SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

Berekent de hashwaarde van de opgegeven gegevens en ondertekent deze met behulp van de opgegeven handtekeningindeling.

SignData(Byte[], Int32, Int32, HashAlgorithmName)

Berekent de hashwaarde van een deel van de opgegeven bytematrix met behulp van het opgegeven hash-algoritme en ondertekent de resulterende hashwaarde.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Berekent de hashwaarde van de opgegeven gegevens en ondertekent deze met behulp van de opgegeven handtekeningindeling.

SignData(Stream, HashAlgorithmName)

Berekent de hashwaarde van de opgegeven stream met behulp van het opgegeven hash-algoritme en ondertekent de resulterende hashwaarde.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Berekent de hashwaarde van de opgegeven gegevens en ondertekent deze met behulp van de opgegeven handtekeningindeling.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Berekent de hashwaarde van de opgegeven gegevens en ondertekent deze met behulp van de opgegeven handtekeningindeling.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
ToXmlString(Boolean)

Hiermee maakt en retourneert u een XML-tekenreeksweergave van het huidige DSA object.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Probeert de DSA-handtekening te maken voor de opgegeven hash-waarde in de aangegeven indeling en plaats deze in de opgegeven buffer.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Probeert de DSA-handtekening voor de opgegeven hash in de opgegeven buffer te maken.

TryCreateSignatureCore(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Probeert de DSA-handtekening te maken voor de opgegeven hash-waarde in de aangegeven indeling en plaats deze in de opgegeven buffer.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Pogingen om de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling te exporteren naar een opgegeven buffer, met behulp van een op byte gebaseerd wachtwoord.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, probeert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling te exporteren naar een opgegeven buffer met behulp van een op byte gebaseerd wachtwoord.

(Overgenomen van AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Hiermee wordt geprobeerd de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling te exporteren naar een opgegeven buffer, met behulp van een wachtwoord op basis van tekens.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, probeert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling te exporteren naar een opgegeven buffer met behulp van een wachtwoord op basis van tekens.

(Overgenomen van AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Pogingen om de huidige sleutel te exporteren in de PKCS#8 EncryptedPrivateKeyInfo-indeling met een op byte gebaseerd wachtwoord, gecodeerd met PEM.

(Overgenomen van AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Hiermee exporteert u de huidige sleutel in de PKCS#8 EncryptedPrivateKeyInfo-indeling met een wachtwoord op basis van tekens, gecodeerd met PEM.

(Overgenomen van AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Pogingen om de huidige sleutel in de PKCS#8 PrivateKeyInfo-indeling te exporteren naar een opgegeven buffer.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, probeert u de huidige sleutel in de PKCS#8 PrivateKeyInfo-indeling te exporteren naar een opgegeven buffer.

(Overgenomen van AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Pogingen om de huidige sleutel te exporteren in de PKCS#8 PrivateKeyInfo-indeling met PEM-codering in een opgegeven buffer.

(Overgenomen van AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Probeert de huidige sleutel in de X.509 SubjectPublicKeyInfo-indeling te exporteren naar een opgegeven buffer.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, probeert u de huidige sleutel in de X.509 SubjectPublicKeyInfo-indeling te exporteren naar een opgegeven buffer.

(Overgenomen van AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Pogingen om de huidige sleutel in de X.509 SubjectPublicKeyInfo-indeling te exporteren naar een opgegeven buffer.

(Overgenomen van AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Pogingen om de hashwaarde van de opgegeven gegevens te berekenen in een opgegeven buffer.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Probeert de DSA-handtekening te maken voor de opgegeven gegevens in de aangegeven indeling en plaats deze in de opgegeven buffer.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Probeert de DSA-handtekening voor de opgegeven gegevens in de opgegeven buffer te maken.

TrySignDataCore(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Probeert de DSA-handtekening te maken voor de opgegeven gegevens in de aangegeven indeling en plaats deze in de opgegeven buffer.

VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven gegevens.

VerifyData(Byte[], Byte[], HashAlgorithmName)

Controleert of een digitale handtekening geldig is door de hashwaarde van de opgegeven gegevens te berekenen met behulp van het opgegeven hash-algoritme en deze te vergelijken met de opgegeven handtekening.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven gegevens.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Controleert of een digitale handtekening geldig is door de hashwaarde van de gegevens in een deel van een bytematrix te berekenen met behulp van het opgegeven hash-algoritme en deze te vergelijken met de opgegeven handtekening.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven gegevens.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Controleert of een digitale handtekening geldig is door de hashwaarde van de gegevens in een bytespanne te berekenen met behulp van het opgegeven hash-algoritme en deze te vergelijken met de opgegeven handtekening.

VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven gegevens.

VerifyData(Stream, Byte[], HashAlgorithmName)

Controleert of een digitale handtekening geldig is door de hashwaarde van de opgegeven stream te berekenen met behulp van het opgegeven hash-algoritme en deze te vergelijken met de opgegeven handtekening.

VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven gegevens.

VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven gegevens.

VerifySignature(Byte[], Byte[], DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven hash.

VerifySignature(Byte[], Byte[])

Wanneer deze wordt overschreven in een afgeleide klasse, controleert u de DSA handtekening voor de opgegeven gegevens.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven hash.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Controleert of een digitale handtekening geldig is voor een opgegeven gegevens-hash.

VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Controleert of een digitale handtekening geldig is voor de opgegeven hash.

Expliciete interface-implementaties

Name Description
IDisposable.Dispose()

Deze API ondersteunt de productinfrastructuur en is niet bedoeld om rechtstreeks vanuit de code te gebruiken.

Zie voor een beschrijving van dit lid Dispose().

(Overgenomen van AsymmetricAlgorithm)

Van toepassing op

Zie ook