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
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
- Dědičnost
- Odvozené
- Atributy
Poznámky
Třídy a odvozené třídy můžete použít DSA k vytvoření digitálních podpisů, 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 funkci hash pro vytvoření hodnoty hash. Odesílatel pak zprávu zašifruje privátním klíčem odesílatele a vytvoří jeho osobní podpis. 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 hash zprávy pomocí stejného algoritmu hash, který použil odesílatel. Pokud hodnota hash zprávy, kterou příjemce vypočítá přesně odpovídá hodnotě hash zprávy přijaté od odesílatele, příjemce může předpokládat, že zpráva nebyla během přenosu změněna. Mějte na paměti, že podpis může ověřit kdokoli, protože veřejný klíč odesílatele je běžné znalosti.
Important
Tvůrci algoritmu DSA stáhli podporu pro něj. Zvažte použití RSA třídy nebo ECDsa třídy místo DSA třídy. Používejte DSA pouze kvůli kompatibilitě se staršími aplikacemi a daty.
Existují dvě různé verze algoritmu DSA. Původní formulář popsaný ve FIPS 186-2 vyžaduje použití SHA-1 jako hashovací algoritmus a podporuje délky klíčů od 512 do 1024 bitů v přírůstcích po 64 bitů. Aktualizovaná verze algoritmu byla popsána v rozhraní FIPS 186-3, která povolila použití rodiny hash SHA-2 a přidala podporu 2048bitových klíčů a 3072bitových klíčů. Ne všechny odvozené implementace tohoto typu podporují vylepšení FIPS 186-3 dsA. Podporu lze zjistit prostřednictvím LegalKeySizes vlastnosti.
Konstruktory
| Name | Description |
|---|---|
| DSA() |
Inicializuje novou instanci DSA třídy. |
Pole
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| 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á výjimku NotImplementedException. (Zděděno od AsymmetricAlgorithm) |
| KeySize |
Získá nebo nastaví velikost klíčového modulu používaného asymetrickým algoritmem v bitech. (Zděděno od AsymmetricAlgorithm) |
| LegalKeySizes |
Získá velikosti klíčů podporované 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
| Name | Description |
|---|---|
| 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[], DSASignatureFormat) |
Vytvoří podpis DSA pro zadanou hodnotu hash v určeném formátu. |
| CreateSignature(Byte[]) |
Při přepsání v odvozené třídě vytvoří DSA podpis pro zadanou hodnotu hash. |
| CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat) |
Vytvoří podpis DSA pro zadanou hodnotu hash v určené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čuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters) |
Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s bajtovým heslem. (Zděděno od AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo pomocí hesla založeného na znaku. (Zděděno od AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters) |
Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s kódováním PEM založeným na bajtech. (Zděděno od AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters) |
Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s kódováním PEM založeným na znaku. (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 s kódováním PEM. (Zděděno od AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfo() |
Exportuje část veřejného klíče aktuálního klíče ve formátu X.509 SubjectPublicKeyInfo. (Zděděno od AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfoPem() |
Exportuje část veřejného klíče aktuálního klíče ve formátu X.509 SubjectPublicKeyInfo zakódovaná pomocí PEM. (Zděděno od AsymmetricAlgorithm) |
| FromXmlString(String) |
Rekonstruuje DSA objekt z řetězce XML. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetMaxSignatureSize(DSASignatureFormat) |
Získá největší velikost vbajch |
| GetType() |
Získá Type 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 pole bajtů 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 datového proudu pomocí zadaného algoritmu hash. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování pomocí bajtového hesla 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 z PKCS#8 EncryptedPrivateKeyInfo struktury po dešifrování pomocí bajtového hesla a nahradí klíče pro tento objekt. (Zděděno od AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Importuje veřejný/privátní klíčpair ze struktury PKCS#8 EncryptedPrivateKeyInfo po dešifrování pomocí hesla založeného 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 tohoto objektu. (Zděděno od AsymmetricAlgorithm) |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
Importuje šifrovaný privátní klíč RFC 7468 S kódováním PEM a nahradí klíče pro tento objekt. |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Importuje šifrovaný privátní klíč RFC 7468 S kódováním PEM a nahradí klíče pro tento objekt. |
| ImportFromPem(ReadOnlySpan<Char>) |
Importuje klíč kódovaný kódem PEM RFC 7468 a nahradí klíče pro tento objekt. |
| ImportParameters(DSAParameters) |
Při přepsání v odvozené třídě importuje zadané DSAParameters. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Importuje veřejný/privátní klíčpair 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 z PKCS#8 PrivateKeyInfo struktury 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 Object. (Zděděno od Object) |
| SignData(Byte[], HashAlgorithmName, DSASignatureFormat) |
Vypočítá hodnotu hash zadaných dat a podepíše ji pomocí zadaného formátu podpisu. |
| SignData(Byte[], HashAlgorithmName) |
Vypočítá hodnotu hash zadaného bajtového pole pomocí zadaného hashovacího algoritmu a podepíše výslednou hodnotu hash. |
| SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat) |
Vypočítá hodnotu hash zadaných dat a podepíše ji pomocí zadaného formátu podpisu. |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
Vypočítá hodnotu hash části zadaného pole bajtů pomocí zadaného hashovacího algoritmu a podepíše výslednou hodnotu hash. |
| SignData(Stream, HashAlgorithmName, DSASignatureFormat) |
Vypočítá hodnotu hash zadaných dat a podepíše ji pomocí zadaného formátu podpisu. |
| SignData(Stream, HashAlgorithmName) |
Vypočítá hodnotu hash zadaného datového proudu pomocí zadaného algoritmu hash a podepíše výslednou hodnotu hash. |
| SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Vypočítá hodnotu hash zadaných dat a podepíše ji pomocí zadaného formátu podpisu. |
| SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat) |
Vypočítá hodnotu hash zadaných dat a podepíše ji 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 zadaném formátu a umístit ho 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 zadaném formátu a umístit ho 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 poskytnuté vyrovnávací paměti pomocí bajtového hesla. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
Při přepsání v odvozené třídě se pokusí exportovat aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo do poskytnuté vyrovnávací paměti pomocí bajtového hesla. (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 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 zakódovaným kódem PEM. (Zděděno od AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32) |
Exportuje aktuální klíč ve formátu PKCS#8 EncryptedPrivateKeyInfo s kódováním PEM založeným na znaku. (Zděděno od AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Pokusí se exportovat aktuální klíč ve formátu PKCS#8 PrivateKeyInfo do zadané vyrovnávací paměti. |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Při přepsání v odvozené třídě se 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 s kódováním 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 zadané 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íč ve formátu X.509 SubjectPublicKeyInfo s kódováním PEM 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 ho 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 ho do poskytnuté vyrovnávací paměti. |
| VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro poskytnutá data. |
| VerifyData(Byte[], Byte[], HashAlgorithmName) |
Ověří platnost digitálního podpisu pomocí výpočtu hodnoty hash zadaných dat pomocí zadaného algoritmu hash a jeho porovnáním se zadaným podpisem. |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro poskytnutá data. |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) |
Ověří platnost digitálního podpisu pomocí výpočtu hodnoty hash dat v části pole bajtů pomocí zadaného algoritmu hash a jeho porovnáním se zadaným podpisem. |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro poskytnutá data. |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) |
Ověří platnost digitálního podpisu pomocí výpočtu hodnoty hash dat v bajtovém rozsahu pomocí zadaného algoritmu hash a jeho porovnáním s poskytnutým podpisem. |
| VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro poskytnutá data. |
| VerifyData(Stream, Byte[], HashAlgorithmName) |
Ověří, že digitální podpis je platný, a to tak, že vypočítá hodnotu hash zadaného datového proudu pomocí zadaného algoritmu hash a porovná ho s poskytnutým podpisem. |
| VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro poskytnutá data. |
| VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro poskytnutá data. |
| VerifySignature(Byte[], Byte[], DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro zadanou hodnotu hash. |
| VerifySignature(Byte[], Byte[]) |
Při přepsání v odvozené třídě ověří DSA podpis pro zadaná data. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro zadanou hodnotu hash. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Ověřuje, že digitální podpis je platný pro zadanou hodnotu hash dat. |
| VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Ověřuje platnost digitálního podpisu pro zadanou hodnotu hash. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| 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 naleznete v tématu Dispose(). (Zděděno od AsymmetricAlgorithm) |