DSA Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje abstraktní základní třídu, ze které musí dědit všechny implementace algoritmu digitálního podpisu (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.
Pokud chcete k digitálnímu podepsání zprávy použít systém veřejného klíče, odesílatel nejprve na zprávu použije hashovací funkci, aby vytvořil souhrn zprávy. Odesílatel pak zašifruje zprávu digest 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 hash algoritmu, který použil odesílatel. Pokud hodnota hash zprávy, kterou příjemce vypočítává, přesně odpovídá hodnotě hash zprávy 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ámé.
Důležité
Tvůrci algoritmu DSA pro něj stáhli podporu. Zvažte použití RSA třídy nebo ECDsa třídy místo DSA třídy. Používejte DSA pouze pro kompatibilitu 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í řady 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í FIPS 186-3 pro DSA. Podporu lze zjistit prostřednictvím 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 pro zadanou hodnotu hash platný digitální podpis. |
VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Ověří, jestli je digitální podpis platný pro zadanou hodnotu hash dat. |
VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Ověří, jestli je pro zadanou hodnotu hash platný digitální podpis. |
VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Ověří, jestli je pro zadanou hodnotu hash platný digitální podpis. |
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) |