ECDiffieHellman Třída

Definice

Poskytuje abstraktní základní třídu, ze které mohou být odvozeny implementace algoritmů Elliptic Curve Diffie-Hellman (ECDH). Tato třída poskytuje základní sadu operací, které musí podporovat všechny implementace ECDH.

public ref class ECDiffieHellman abstract : System::Security::Cryptography::ECAlgorithm
public ref class ECDiffieHellman abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.ECAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm
type ECDiffieHellman = class
    inherit ECAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type ECDiffieHellman = class
    inherit AsymmetricAlgorithm
type ECDiffieHellman = class
    inherit AsymmetricAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits ECAlgorithm
Public MustInherit Class ECDiffieHellman
Inherits AsymmetricAlgorithm
Dědičnost
Dědičnost
ECDiffieHellman
Odvozené
Atributy

Poznámky

Tato třída slouží jako abstraktní základní třída pro implementace ECDH.

Konstruktory

Name Description
ECDiffieHellman()

Inicializuje novou instanci ECDiffieHellman 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

Získá název algoritmu výměny klíčů.

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)
PublicKey

Získá veřejný klíč, který je používán aktuální Elliptic Curve Diffie-Hellman (ECDH) instance.

SignatureAlgorithm

Získá název algoritmu podpisu.

Metody

Name Description
Clear()

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

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

Vytvoří novou instanci výchozí implementace algoritmu Elliptic Curve Diffie-Hellman (ECDH).

Create(ECCurve)

Vytvoří novou instanci výchozí implementace algoritmu Elliptic Curve Diffie-Hellman (ECDH) s novou dvojicí veřejných/privátních klíčů vygenerovaných přes zadanou křivku.

Create(ECParameters)

Vytvoří novou instanci výchozí implementace algoritmu Elliptic Curve Diffie-Hellman (ECDH) s klíčem popsaným zadaným ECParameters objektem.

Create(String)
Zastaralé.

Vytvoří novou instanci zadané implementace algoritmu Elliptic Curve Diffie-Hellman (ECDH).

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Při implementaci v odvozené třídě provádí odvození klíče pomocí zadaného hash algoritmu s volitelnými předpended nebo připojenými daty.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Provádí odvozování klíče pomocí zadaného algoritmu hash.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[])

Při implementaci v odvozené třídě provede odvození klíče pomocí zadaného algoritmu HMAC (Hash-based Message Authentication Code) s volitelnými předpended nebo připojenými daty.

DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[])

Provádí odvození klíče pomocí zadaného algoritmu HMAC (kód pro ověřování zpráv založený na hodnotě hash).

DeriveKeyMaterial(ECDiffieHellmanPublicKey)

Při implementaci v odvozené třídě provede odvození klíče pro sdílený tajný klíč.

DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[])

Při implementaci v odvozené třídě provádí odvození klíče pomocí protokolu TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Funkce).

DeriveRawSecretAgreement(ECDiffieHellmanPublicKey)

Odvodit surovinový materiál.

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)
ExportECPrivateKey()

Exportuje aktuální klíč ve formátu ECPrivateKey.

ExportECPrivateKey()

Exportuje aktuální klíč ve formátu ECPrivateKey.

(Zděděno od ECAlgorithm)
ExportECPrivateKeyPem()

Exportuje aktuální klíč ve formátu ECPrivateKey s kódováním PEM.

(Zděděno od ECAlgorithm)
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)
ExportExplicitParameters(Boolean)

Při přepsání v odvozené třídě exportuje informace o veřejném nebo veřejném a privátním klíči pomocí explicitní křivky formuláře z pracovního ECDiffieHellman klíče do ECParameters struktury, aby bylo možné ji předat metodě ImportParameters(ECParameters) .

ExportExplicitParameters(Boolean)

Při přepsání v odvozené třídě exportuje explicitní ECParameters pro ECCurve.

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

Při přepsání v odvozené třídě exportuje informace veřejného nebo veřejného a privátního klíče z pracovního ECDiffieHellman klíče do ECParameters struktury, aby bylo možné ji předat metodě ImportParameters(ECParameters) .

ExportParameters(Boolean)

Při přepsání v odvozené třídě exportuje pojmenované nebo explicitní ECParameters pro ECCurve. Pokud má křivka název, vlastnost Křivka bude obsahovat pojmenované parametry křivky, jinak bude obsahovat explicitní parametry.

(Zděděno od ECAlgorithm)
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)

Tato metoda vyvolá ve všech případech.

FromXmlString(String)

Při přepsání v odvozené třídě rekonstruuje AsymmetricAlgorithm objekt z řetězce XML. V opačném případě vyvolá výjimku NotImplementedException.

(Zděděno od AsymmetricAlgorithm)
GenerateKey(ECCurve)

Při přepsání v odvozené třídě vygeneruje nový dočasný pár veřejného/privátního klíče pro zadanou křivku.

GenerateKey(ECCurve)

Při přepsání v odvozené třídě vygeneruje nový veřejný/privátní klíčpair pro zadanou křivku.

(Zděděno od ECAlgorithm)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury ECPrivateKey a nahradí klíče pro tento objekt.

ImportECPrivateKey(ReadOnlySpan<Byte>, Int32)

Importuje veřejný/privátní klíčpair ze struktury ECPrivateKey a nahradí klíče pro tento objekt.

(Zděděno od ECAlgorithm)
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)

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.

(Zděděno od ECAlgorithm)
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)

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.

(Zděděno od ECAlgorithm)
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<Byte>)

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

(Zděděno od ECAlgorithm)
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.

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.

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

Importuje klíč kódovaný kódem PEM RFC 7468 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.

(Zděděno od ECAlgorithm)
ImportParameters(ECParameters)

Při přepsání v odvozené třídě importuje zadané parametry jako ECCurve dočasný klíč do aktuálního ECDiffieHellman objektu.

ImportParameters(ECParameters)

Při přepsání v odvozené třídě importuje zadané ECParameters.

(Zděděno od ECAlgorithm)
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)

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 ECAlgorithm)
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)

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

(Zděděno od ECAlgorithm)
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)
ToString()

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

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

Tato metoda vyvolá ve všech případech.

ToXmlString(Boolean)

Při přepsání v odvozené třídě vytvoří a vrátí řetězcovou reprezentaci XML aktuálního AsymmetricAlgorithm objektu. V opačném případě vyvolá výjimku NotImplementedException.

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

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

TryExportECPrivateKey(Span<Byte>, Int32)

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

(Zděděno od ECAlgorithm)
TryExportECPrivateKeyPem(Span<Char>, Int32)

Pokusí se exportovat aktuální klíč ve formátu ECPrivateKey s kódováním PEM do poskytnuté vyrovnávací paměti.

(Zděděno od ECAlgorithm)
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)

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

(Zděděno od ECAlgorithm)
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)

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.

(Zděděno od ECAlgorithm)
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)

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

(Zděděno od ECAlgorithm)
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)

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

(Zděděno od ECAlgorithm)
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)

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)

Platí pro