DSA Třída

Definice

Představuje abstraktní základní třídu, ze které musí dědit všechny implementace algoritmu Digital Signature Algorithm (DSA).

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class DSA : 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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSA = class
    inherit AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Dědičnost
Odvozené
Atributy

Poznámky

Pomocí třídy a odvozených tříd můžete DSA vytvářet digitální podpisy, které pomáhají chránit integritu vašich dat. Poskytuje DSACryptoServiceProvider implementaci této třídy.

Aby odesílatel použil systém veřejného klíče k digitálnímu podepsání zprávy, použije nejprve na zprávu funkci hash, aby vytvořil hodnotu hash zprávy. Odesílatel pak zašifruje přehled zprávy pomocí privátního klíče odesílatele, aby vytvořil osobní podpis odesílatele. Po přijetí zprávy a podpisu příjemce dešifruje podpis pomocí veřejného klíče odesílatele k obnovení hodnoty hash zprávy a hashuje zprávu pomocí stejného algoritmu hash, který použil odesílatel. Pokud hodnota hash zprávy, kterou příjemce vypočítává, přesně odpovídá hodnotě hash přijaté od odesílatele, může příjemce předpokládat, že zpráva nebyla během přenosu změněna. Všimněte si, že podpis může ověřit kdokoli, protože veřejný klíč odesílatele je všeobecně známo.

Důležité

Tvůrci algoritmu DSA odvolali svou podporu pro tento algoritmus. Zvažte použití RSA třídy nebo ECDsa třídy místo DSA třídy . Používejte DSA jenom kvůli kompatibilitě se staršími aplikacemi a daty.

Existují dvě různé verze algoritmu DSA. Původní forma popsaná ve FIPS 186-2 vyžaduje použití SHA-1 jako hashovací algoritmus a podporuje délky klíčů od 512 bitů do 1024 bitů v přírůstcích po 64 bitech. Aktualizovaná verze algoritmu byla popsána ve fips 186-3, která umožňovala použití rodiny hashovacích algoritmů SHA-2 a přidala podporu pro 2048bitové klíče a 3072bitové klíče. Ne všechny odvozené implementace tohoto typu podporují vylepšení STANDARDu FIPS 186-3 pro DSA. Podporu lze zjistit pomocí LegalKeySizes vlastnosti .

Konstruktory

DSA()

Inicializuje novou instanci DSA třídy .

Pole

KeySizeValue

Představuje velikost klíčového modulu používaného asymetrickým algoritmem v bitech.

(Zděděno od AsymmetricAlgorithm)
LegalKeySizesValue

Určuje velikosti klíčů podporované asymetrickým algoritmem.

(Zděděno od AsymmetricAlgorithm)

Vlastnosti

KeyExchangeAlgorithm

Při přepsání v odvozené třídě získá název algoritmu výměny klíčů. V opačném případě vyvolá .NotImplementedException

(Zděděno od AsymmetricAlgorithm)
KeySize

Získá nebo nastaví velikost v bitech modulu klíče používané asymetrický algoritmus.

(Zděděno od AsymmetricAlgorithm)
LegalKeySizes

Získá velikosti klíčů, které jsou podporovány asymetrickým algoritmem.

(Zděděno od AsymmetricAlgorithm)
SignatureAlgorithm

Při implementaci v odvozené třídě získá název algoritmu podpisu. V opačném případě vždy vyvolá NotImplementedException.

(Zděděno od AsymmetricAlgorithm)

Metody

Clear()

Uvolní všechny prostředky používané AsymmetricAlgorithm třídou .

(Zděděno od AsymmetricAlgorithm)
Create()

Vytvoří výchozí kryptografický objekt použitý k provedení asymetrického algoritmu.

Create(DSAParameters)

Vytvoří nový dočasný klíč DSA se zadanými parametry klíče DSA.

Create(Int32)

Vytvoří nový dočasný klíč DSA se zadanou velikostí klíče.

Create(String)
Zastaralé.

Vytvoří zadaný kryptografický objekt použitý k provedení asymetrického algoritmu.

CreateSignature(Byte[])

Při přepsání v odvozené třídě vytvoří DSA podpis pro zadanou hodnotu hash.

CreateSignature(Byte[], DSASignatureFormat)

Vytvoří podpis DSA pro zadanou hodnotu hash v uvedeném formátu.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Vytvoří podpis DSA pro zadanou hodnotu hash v uvedeném formátu.

Dispose()

Uvolní všechny prostředky používané aktuální instancí AsymmetricAlgorithm třídy .

(Zděděno od AsymmetricAlgorithm)
Dispose(Boolean)

Uvolní nespravované prostředky používané AsymmetricAlgorithm třídou a volitelně uvolní spravované prostředky.

(Zděděno od AsymmetricAlgorithm)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na bajtech.

(Zděděno od AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na znaku.

(Zděděno od AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na bajtech v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na znaku v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
ExportParameters(Boolean)

Při přepsání v odvozené třídě exportuje DSAParameters.

ExportPkcs8PrivateKey()

Exportuje aktuální klíč ve formátu PKCS#8 PrivateKeyInfo.

(Zděděno od AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exportuje aktuální klíč ve formátu PKCS#8 PrivateKeyInfo v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exportuje část aktuálního klíče veřejného klíče ve formátu X.509 SubjectPublicKeyInfo.

(Zděděno od AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exportuje část aktuálního klíče veřejného klíče ve formátu X.509 SubjectPublicKeyInfo v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
FromXmlString(String)

Rekonstruuje DSA objekt z řetězce XML.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetMaxSignatureSize(DSASignatureFormat)

Získá největší velikost v bajtech pro podpis vytvořený tímto klíčem v určeném formátu.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Při přepsání v odvozené třídě vypočítá hodnotu hash zadané části bajtového pole pomocí zadaného algoritmu hash.

HashData(Stream, HashAlgorithmName)

Při přepsání v odvozené třídě vypočítá hodnotu hash zadaného binárního streamu pomocí zadaného hashovacího algoritmu.

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

Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování heslem založeným na bajtech a nahradí klíče pro tento objekt.

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

Při přepsání v odvozené třídě importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování heslem založeným na bajtech a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíč ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování heslem založeným na znaku a nahradí klíče pro tento objekt.

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

Při přepsání v odvozené třídě importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování heslem založeným na znaku a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importuje šifrovaný privátní klíč s kódováním RFC 7468 PEM a nahradí klíče pro tento objekt.

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

Při přepsání v odvozené třídě importuje šifrovaný klíč zakódovaný PEM RFC 7468 a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importuje šifrovaný privátní klíč s kódováním RFC 7468 PEM a nahradí klíče pro tento objekt.

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

Při přepsání v odvozené třídě importuje šifrovaný klíč zakódovaný PEM RFC 7468 a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
ImportFromPem(ReadOnlySpan<Char>)

Importuje klíč zakódovaný do RFC 7468 PEM a nahradí klíče pro tento objekt.

ImportFromPem(ReadOnlySpan<Char>)

Při přepsání v odvozené třídě importuje textově zakódovaný klíč RFC 7468 a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
ImportParameters(DSAParameters)

Při přepsání v odvozené třídě importuje zadanou DSAParameterstřídu .

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíč ze struktury PKCS#8 PrivateKeyInfo po dešifrování a nahradí klíče pro tento objekt.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Při přepsání v odvozené třídě importuje veřejný/privátní klíčpair ze struktury PKCS#8 PrivateKeyInfo po dešifrování a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importuje veřejný klíč ze struktury X.509 SubjectPublicKeyInfo po dešifrování a nahradí klíče pro tento objekt.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Při přepsání v odvozené třídě importuje veřejný klíč ze struktury X.509 SubjectPublicKeyInfo po dešifrování a nahradí klíče pro tento objekt.

(Zděděno od AsymmetricAlgorithm)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
SignData(Byte[], HashAlgorithmName)

Vypočítá hodnotu hash zadaného pole bajtů pomocí zadaného hashovacího algoritmu a podepíše výslednou hodnotu hash.

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Vypočítá hodnotu hash zadaných dat a podepíše je pomocí zadaného formátu podpisu.

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

Vypočítá hodnotu hash části zadaného pole bajtů pomocí zadaného hash algoritmu a podepíše výslednou hodnotu hash.

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

Vypočítá hodnotu hash zadaných dat a podepíše je pomocí zadaného formátu podpisu.

SignData(Stream, HashAlgorithmName)

Vypočítá hodnotu hash zadaného datového proudu pomocí zadaného hash algoritmu a podepíše výslednou hodnotu hash.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Vypočítá hodnotu hash zadaných dat a podepíše je pomocí zadaného formátu podpisu.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Vypočítá hodnotu hash zadaných dat a podepíše je pomocí zadaného formátu podpisu.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Vypočítá hodnotu hash zadaných dat a podepíše je pomocí zadaného formátu podpisu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
ToXmlString(Boolean)

Vytvoří a vrátí řetězcovou reprezentaci XML aktuálního DSA objektu.

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

Pokusí se vytvořit podpis DSA pro zadanou hodnotu hash v uvedeném formátu a umístit ji do poskytnuté vyrovnávací paměti.

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

Pokusí se vytvořit podpis DSA pro zadanou hodnotu hash do poskytnuté vyrovnávací paměti.

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

Pokusí se vytvořit podpis DSA pro zadanou hodnotu hash v uvedeném formátu a umístit ji do poskytnuté vyrovnávací paměti.

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

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do zadané vyrovnávací paměti pomocí hesla založeného na bajtech.

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

Při přepsání v odvozené třídě se nástroj pokusí exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do poskytnuté vyrovnávací paměti pomocí hesla založeného na bajtech.

(Zděděno od AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do zadané vyrovnávací paměti pomocí hesla založeného na znaku.

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

Při přepsání v odvozené třídě se nástroj pokusí exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do poskytnuté vyrovnávací paměti pomocí hesla založeného na znaku.

(Zděděno od AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na bajtech v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s heslem založeným na znaku v kódování PEM.

(Zděděno od AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo do poskytnuté vyrovnávací paměti.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Při přepsání v odvozené třídě se nástroj pokusí exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo do poskytnuté vyrovnávací paměti.

(Zděděno od AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo kódování PEM do poskytnuté vyrovnávací paměti.

(Zděděno od AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Pokusí se exportovat aktuální klíč ve formátu X.509 SubjectPublicKeyInfo do poskytnuté vyrovnávací paměti.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Při přepsání v odvozené třídě se pokusí exportovat aktuální klíč ve formátu X.509 SubjectPublicKeyInfo do poskytnuté vyrovnávací paměti.

(Zděděno od AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Pokusí se exportovat aktuální klíč v kódování PEM X.509 SubjectPublicKeyInfo formátu do poskytnuté vyrovnávací paměti.

(Zděděno od AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Pokusí se vypočítat hodnotu hash zadaných dat do poskytnuté vyrovnávací paměti.

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

Pokusí se vytvořit podpis DSA pro zadaná data v určeném formátu a umístit jej do poskytnuté vyrovnávací paměti.

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

Pokusí se vytvořit podpis DSA pro zadaná data do poskytnuté vyrovnávací paměti.

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

Pokusí se vytvořit podpis DSA pro zadaná data v určeném formátu a umístit jej do poskytnuté vyrovnávací paměti.

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

Ověřuje platnost digitálního podpisu výpočtem hodnoty hash zadaných dat pomocí zadaného hash algoritmu a porovnáním s poskytnutým podpisem.

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

Ověří platnost digitálního podpisu pro poskytnutá data.

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

Ověřuje platnost digitálního podpisu výpočtem hodnoty hash dat v části pole bajtů pomocí zadaného hash algoritmu a porovnáním se zadaným podpisem.

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

Ověří platnost digitálního podpisu pro poskytnutá data.

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

Ověří platnost digitálního podpisu výpočtem hodnoty hash dat v rozsahu bajtů pomocí zadaného hash algoritmu a porovnáním se zadaným podpisem.

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

Ověří platnost digitálního podpisu pro poskytnutá data.

VerifyData(Stream, Byte[], HashAlgorithmName)

Ověří platnost digitálního podpisu výpočtem hodnoty hash zadaného datového proudu pomocí zadaného hash algoritmu a porovnáním s poskytnutým podpisem.

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

Ověří platnost digitálního podpisu pro poskytnutá data.

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

Ověří platnost digitálního podpisu pro poskytnutá data.

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

Ověří platnost digitálního podpisu pro poskytnutá data.

VerifySignature(Byte[], Byte[])

Při přepsání v odvozené třídě ověří DSA podpis pro zadaná data.

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

Ověří, jestli je digitální podpis platný pro zadanou hodnotu hash.

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

Ověřuje platnost digitálního podpisu pro zadanou hodnotu hash dat.

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

Ověří, jestli je digitální podpis platný pro zadanou hodnotu hash.

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

Ověří, jestli je digitální podpis platný pro zadanou hodnotu hash.

Explicitní implementace rozhraní

IDisposable.Dispose()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Popis tohoto člena najdete v tématu Dispose().

(Zděděno od AsymmetricAlgorithm)

Platí pro

Viz také