DSA Klass

Definition

Representerar den abstrakta basklass som alla implementeringar av algoritmen för digital signatur (DSA) måste ärva från.

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
Arv
Härledda
Attribut

Kommentarer

Du kan använda DSA klassen och härledda klasser för att skapa digitala signaturer som hjälper dig att skydda dataintegriteten. Tillhandahåller DSACryptoServiceProvider en implementering av den här klassen.

Om du vill använda ett offentligt nyckelsystem för att signera ett meddelande digitalt använder avsändaren först en hash-funktion för meddelandet för att skapa en sammanfattning av meddelandet. Avsändaren krypterar sedan meddelandets sammandrag med avsändarens privata nyckel för att skapa avsändarens personliga signatur. När meddelandet och signaturen tas emot dekrypterar mottagaren signaturen med avsändarens offentliga nyckel för att återställa meddelandets sammandrag och hashar meddelandet med samma hashalgoritm som avsändaren använde. Om meddelandet sammanfattas som mottagaren beräknar exakt matchar meddelandets sammandrag som tagits emot från avsändaren, kan mottagaren anta att meddelandet inte ändrades under överföringen. Observera att en signatur kan verifieras av vem som helst eftersom avsändarens offentliga nyckel är allmänt känd.

Important

Skaparna av DSA-algoritmen har dragit tillbaka sitt stöd för den. Överväg att RSA använda klassen eller ECDsa klassen i stället DSA för klassen. Använd DSA endast för kompatibilitet med äldre program och data.

Det finns två olika versioner av DSA-algoritmen. Det ursprungliga formuläret, som beskrivs i FIPS 186-2, kräver användning av SHA-1 som hashalgoritm och stöder nyckellängder från 512 bitar till 1 024 bitar i steg om 64 bitar. En uppdaterad version av algoritmen beskrevs i FIPS 186-3, som aktiverade användningen av SHA-2-serien med hashalgoritmer och lade till stöd för 2048-bitarsnycklar och 3072-bitarsnycklar. Alla härledda implementeringar av den här typen stöder inte FIPS 186-3-förbättringar av DSA. Support kan identifieras via egenskapen LegalKeySizes .

Konstruktorer

Name Description
DSA()

Initierar en ny instans av DSA klassen.

Fält

Name Description
KeySizeValue

Representerar storleken, i bitar, på de nyckelmoduler som används av den asymmetriska algoritmen.

(Ärvd från AsymmetricAlgorithm)
LegalKeySizesValue

Anger de nyckelstorlekar som stöds av den asymmetriska algoritmen.

(Ärvd från AsymmetricAlgorithm)

Egenskaper

Name Description
KeyExchangeAlgorithm

När du åsidosättas i en härledd klass hämtar du namnet på nyckelutbytesalgoritmen. Annars genererar en NotImplementedException.

(Ärvd från AsymmetricAlgorithm)
KeySize

Hämtar eller anger storleken, i bitar, på de nyckelmoduler som används av den asymmetriska algoritmen.

(Ärvd från AsymmetricAlgorithm)
LegalKeySizes

Hämtar de nyckelstorlekar som stöds av den asymmetriska algoritmen.

(Ärvd från AsymmetricAlgorithm)
SignatureAlgorithm

När det implementeras i en härledd klass hämtar du namnet på signaturalgoritmen. Annars kastar alltid en NotImplementedException.

(Ärvd från AsymmetricAlgorithm)

Metoder

Name Description
Clear()

Släpper alla resurser som används av AsymmetricAlgorithm klassen.

(Ärvd från AsymmetricAlgorithm)
Create()

Skapar standardkryptografiobjektet som används för att utföra den asymmetriska algoritmen.

Create(DSAParameters)

Skapar en ny tillfällig DSA-nyckel med de angivna DSA-nyckelparametrarna.

Create(Int32)

Skapar en ny tillfällig DSA-nyckel med den angivna nyckelstorleken.

Create(String)
Föråldrad.

Skapar det angivna kryptografiska objektet som används för att utföra den asymmetriska algoritmen.

CreateSignature(Byte[], DSASignatureFormat)

Skapar DSA-signaturen för det angivna hash-värdet i det angivna formatet.

CreateSignature(Byte[])

När du åsidosättas i en härledd klass skapar du signaturen DSA för det angivna hash-värdet.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Skapar DSA-signaturen för det angivna hash-värdet i det angivna formatet.

Dispose()

Släpper alla resurser som används av den aktuella instansen AsymmetricAlgorithm av klassen.

(Ärvd från AsymmetricAlgorithm)
Dispose(Boolean)

Släpper de ohanterade resurser som används av AsymmetricAlgorithm klassen och släpper eventuellt de hanterade resurserna.

(Ärvd från AsymmetricAlgorithm)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporterar den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo med ett bytebaserat lösenord.

(Ärvd från AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporterar den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo med ett teckenbaserat lösenord.

(Ärvd från AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Exporterar den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo med ett bytebaserat lösenord, PEM-kodat.

(Ärvd från AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Exporterar den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo med ett teckenbaserat lösenord, PEM-kodat.

(Ärvd från AsymmetricAlgorithm)
ExportParameters(Boolean)

När åsidosättas i en härledd klass exporteras DSAParameters.

ExportPkcs8PrivateKey()

Exporterar den aktuella nyckeln i formatet PKCS#8 PrivateKeyInfo.

(Ärvd från AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exporterar den aktuella nyckeln i PKCS#8 PrivateKeyInfo-format, PEM-kodad.

(Ärvd från AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exporterar den offentliga delen av den aktuella nyckeln i formatet X.509 SubjectPublicKeyInfo.

(Ärvd från AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exporterar den offentliga delen av den aktuella nyckeln i formatet X.509 SubjectPublicKeyInfo, PEM-kodad.

(Ärvd från AsymmetricAlgorithm)
FromXmlString(String)

Rekonstruerar ett DSA objekt från en XML-sträng.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetMaxSignatureSize(DSASignatureFormat)

Hämtar den största storleken, i byte, för en signatur som skapas av den här nyckeln i det angivna formatet.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

När det åsidosättas i en härledd klass beräknar hash-värdet för en angiven del av en bytematris med hjälp av en angiven hashalgoritm.

HashData(Stream, HashAlgorithmName)

När det åsidosätts i en härledd klass beräknar hashvärdet för en angiven binär dataström med hjälp av en angiven hashalgoritm.

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

Importerar den offentliga/privata keypair från en PKCS#8 EncryptedPrivateKeyInfo-struktur efter dekryptering med ett bytebaserat lösenord och ersätter nycklarna för det här objektet.

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

När det åsidosätts i en härledd klass importeras den offentliga/privata keypair från en PKCS#8 EncryptedPrivateKeyInfo-struktur efter dekryptering med ett bytebaserat lösenord och ersätter nycklarna för det här objektet.

(Ärvd från AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importerar det offentliga/privata nyckelparet från en PKCS#8 EncryptedPrivateKeyInfo-struktur efter dekryptering med ett teckenbaserat lösenord och ersätter nycklarna för det här objektet.

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

När den åsidosätts i en härledd klass importeras den offentliga/privata keypair från en PKCS#8 EncryptedPrivateKeyInfo-struktur efter dekryptering med ett teckenbaserat lösenord och ersätter nycklarna för det här objektet.

(Ärvd från AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importerar en krypterad RFC 7468 PEM-kodad privat nyckel och ersätter nycklarna för det här objektet.

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

Importerar en krypterad RFC 7468 PEM-kodad privat nyckel och ersätter nycklarna för det här objektet.

ImportFromPem(ReadOnlySpan<Char>)

Importerar en RFC 7468 PEM-kodad nyckel och ersätter nycklarna för det här objektet.

ImportParameters(DSAParameters)

När den åsidosättas i en härledd klass importeras den angivna DSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importerar den offentliga/privata keypair från en PKCS#8 PrivateKeyInfo-struktur efter dekryptering och ersätter nycklarna för det här objektet.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

När den åsidosätts i en härledd klass importeras den offentliga/privata keypair från en PKCS#8 PrivateKeyInfo-struktur efter dekryptering och ersätter nycklarna för det här objektet.

(Ärvd från AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importerar den offentliga nyckeln från en X.509 SubjectPublicKeyInfo-struktur efter dekryptering och ersätter nycklarna för det här objektet.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

När den åsidosätts i en härledd klass importeras den offentliga nyckeln från en X.509 SubjectPublicKeyInfo-struktur efter dekryptering och ersätter nycklarna för det här objektet.

(Ärvd från AsymmetricAlgorithm)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Beräknar hash-värdet för angivna data och signerar dem med det angivna signaturformatet.

SignData(Byte[], HashAlgorithmName)

Beräknar hash-värdet för den angivna bytematrisen med den angivna hash-algoritmen och signerar det resulterande hashvärdet.

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

Beräknar hash-värdet för angivna data och signerar dem med det angivna signaturformatet.

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

Beräknar hash-värdet för en del av den angivna bytematrisen med den angivna hash-algoritmen och signerar det resulterande hashvärdet.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Beräknar hash-värdet för angivna data och signerar dem med det angivna signaturformatet.

SignData(Stream, HashAlgorithmName)

Beräknar hash-värdet för den angivna dataströmmen med den angivna hash-algoritmen och signerar det resulterande hashvärdet.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Beräknar hash-värdet för angivna data och signerar dem med det angivna signaturformatet.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Beräknar hash-värdet för angivna data och signerar dem med det angivna signaturformatet.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
ToXmlString(Boolean)

Skapar och returnerar en XML-strängrepresentation av det aktuella DSA objektet.

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

Försöker skapa DSA-signaturen för det angivna hashvärdet i angivet format och placera den i den angivna bufferten.

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

Försöker skapa DSA-signaturen för den angivna hashen i den angivna bufferten.

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

Försöker skapa DSA-signaturen för det angivna hashvärdet i angivet format och placera den i den angivna bufferten.

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

Försöker exportera den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo till en angiven buffert med ett bytebaserat lösenord.

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

När den åsidosätts i en härledd klass försöker exportera den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo till en angiven buffert med hjälp av ett bytebaserat lösenord.

(Ärvd från AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Försöker exportera den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo till en angiven buffert med hjälp av ett teckenbaserat lösenord.

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

När den åsidosätts i en härledd klass försöker exportera den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo till en angiven buffert med hjälp av ett teckenbaserat lösenord.

(Ärvd från AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Försöker exportera den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo med ett bytebaserat lösenord, PEM-kodat.

(Ärvd från AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Exporterar den aktuella nyckeln i formatet PKCS#8 EncryptedPrivateKeyInfo med ett teckenbaserat lösenord, PEM-kodat.

(Ärvd från AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Försöker exportera den aktuella nyckeln i PKCS#8 PrivateKeyInfo-formatet till en angivet buffert.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

När den åsidosätts i en härledd klass försöker exportera den aktuella nyckeln i PKCS#8 PrivateKeyInfo-formatet till en angivet buffert.

(Ärvd från AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Försöker exportera den aktuella nyckeln i PEM-kodade PKCS#8 PrivateKeyInfo-format till en angivet buffert.

(Ärvd från AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Försöker exportera den aktuella nyckeln i formatet X.509 SubjectPublicKeyInfo till en angivet buffert.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

När den åsidosätts i en härledd klass försöker exportera den aktuella nyckeln i formatet X.509 SubjectPublicKeyInfo till en angivet buffert.

(Ärvd från AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Försöker exportera den aktuella nyckeln i PEM-kodat X.509 SubjectPublicKeyInfo-format till en angivet buffert.

(Ärvd från AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Försöker beräkna hash-värdet för angivna data till en angivet buffert.

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

Försöker skapa DSA-signaturen för angivna data i angivet format och placera den i den angivna bufferten.

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

Försöker skapa DSA-signaturen för de angivna data i den angivna bufferten.

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

Försöker skapa DSA-signaturen för angivna data i angivet format och placera den i den angivna bufferten.

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

Verifierar att en digital signatur är giltig för angivna data.

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

Verifierar att en digital signatur är giltig genom att beräkna hashvärdet för de angivna data med hjälp av den angivna hash-algoritmen och jämföra den med den angivna signaturen.

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

Verifierar att en digital signatur är giltig för angivna data.

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

Verifierar att en digital signatur är giltig genom att beräkna hashvärdet för data i en del av en bytematris med hjälp av den angivna hash-algoritmen och jämföra den med den angivna signaturen.

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

Verifierar att en digital signatur är giltig för angivna data.

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

Verifierar att en digital signatur är giltig genom att beräkna hashvärdet för data i ett byteintervall med hjälp av den angivna hash-algoritmen och jämföra den med den angivna signaturen.

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

Verifierar att en digital signatur är giltig för angivna data.

VerifyData(Stream, Byte[], HashAlgorithmName)

Verifierar att en digital signatur är giltig genom att beräkna hashvärdet för den angivna dataströmmen med hjälp av den angivna hash-algoritmen och jämföra den med den angivna signaturen.

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

Verifierar att en digital signatur är giltig för angivna data.

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

Verifierar att en digital signatur är giltig för angivna data.

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

Verifierar att en digital signatur är giltig för den angivna hashen.

VerifySignature(Byte[], Byte[])

När den åsidosättas i en härledd klass verifierar den signaturen DSA för angivna data.

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

Verifierar att en digital signatur är giltig för den angivna hashen.

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

Verifierar att en digital signatur är giltig för en angivet datahash.

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

Verifierar att en digital signatur är giltig för den angivna hashen.

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

En beskrivning av den här medlemmen finns i Dispose().

(Ärvd från AsymmetricAlgorithm)

Gäller för

Se även