8[UnsupportedOSPlatform(
"browser")]
11 private static readonly
string[]
s_validOids =
new string[1] {
"1.2.840.10045.2.1" };
19 [RequiresUnreferencedCode(
"The default algorithm implementations might be removed, use strong type references like 'RSA.Create()' instead.")]
22 if (algorithm ==
null)
46 return DeriveKeyFromHmac(otherPartyPublicKey, hashAlgorithm, hmacKey,
null,
null);
86 if (pbeParameters ==
null)
92 fixed (
byte* ptr = ecParameters.
D)
109 if (pbeParameters ==
null)
115 fixed (
byte* ptr = ecParameters.
D)
133 fixed (
byte* ptr = ecParameters.
D)
151 return asnWriter.TryEncode(
destination, out bytesWritten);
157 fixed (
byte* ptr = ret.D)
162 bytesRead = bytesRead2;
174 fixed (
byte* ptr = ret.D)
179 bytesRead = bytesRead2;
191 fixed (
byte* ptr = ret.D)
196 bytesRead = bytesRead2;
209 bytesRead = bytesRead2;
216 fixed (
byte* ptr = parameters.
D)
221 bytesRead = bytesRead2;
233 fixed (
byte* ptr = ecParameters.
D)
238 return asnWriter.
Encode();
250 fixed (
byte* ptr = ecParameters.
D)
268 if (label.SequenceEqual(
"PRIVATE KEY"))
270 return ImportPkcs8PrivateKey;
272 if (label.SequenceEqual(
"PUBLIC KEY"))
274 return ImportSubjectPublicKeyInfo;
316 return eCDiffieHellman;
static void ImportPem(ReadOnlySpan< char > input, FindImportActionFunc callback)
delegate void ImportKeyAction(ReadOnlySpan< byte > source, out int bytesRead)
static string Cryptography_ECXmlSerializationFormatRequired
static string NotSupported_SubclassOverride
static ? object CreateFromName(string name, params object?[]? args)
static void ZeroMemory(Span< byte > buffer)
virtual void GenerateKey(ECCurve curve)
ECDiffieHellmanPublicKey PublicKey
static readonly string[] s_validOids
override? string SignatureAlgorithm
unsafe override bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan< byte > passwordBytes, PbeParameters pbeParameters, Span< byte > destination, out int bytesWritten)
override void ImportFromEncryptedPem(ReadOnlySpan< char > input, ReadOnlySpan< byte > passwordBytes)
virtual unsafe bool TryExportECPrivateKey(Span< byte > destination, out int bytesWritten)
virtual unsafe byte[] ExportECPrivateKey()
virtual byte[] DeriveKeyMaterial(ECDiffieHellmanPublicKey otherPartyPublicKey)
unsafe override void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan< byte > passwordBytes, ReadOnlySpan< byte > source, out int bytesRead)
override void FromXmlString(string xmlString)
unsafe override bool TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan< char > password, PbeParameters pbeParameters, Span< byte > destination, out int bytesWritten)
unsafe override bool TryExportPkcs8PrivateKey(Span< byte > destination, out int bytesWritten)
virtual byte[] DeriveKeyTls(ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed)
byte[] DeriveKeyFromHash(ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm)
static new ECDiffieHellman Create()
virtual byte[] DeriveKeyFromHash(ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[]? secretPrepend, byte[]? secretAppend)
static ECDiffieHellman Create(ECCurve curve)
virtual unsafe void ImportECPrivateKey(ReadOnlySpan< byte > source, out int bytesRead)
virtual ECParameters ExportExplicitParameters(bool includePrivateParameters)
unsafe override void ImportEncryptedPkcs8PrivateKey(ReadOnlySpan< char > password, ReadOnlySpan< byte > source, out int bytesRead)
override string KeyExchangeAlgorithm
virtual void ImportParameters(ECParameters parameters)
byte[] DeriveKeyFromHmac(ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[]? hmacKey)
override bool TryExportSubjectPublicKeyInfo(Span< byte > destination, out int bytesWritten)
virtual ECParameters ExportParameters(bool includePrivateParameters)
static ECDiffieHellman Create(ECParameters parameters)
unsafe override void ImportPkcs8PrivateKey(ReadOnlySpan< byte > source, out int bytesRead)
override string ToXmlString(bool includePrivateParameters)
virtual byte[] DeriveKeyFromHmac(ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[]? hmacKey, byte[]? secretPrepend, byte[]? secretAppend)
static Exception DerivedClassMustOverride()
override void ImportSubjectPublicKeyInfo(ReadOnlySpan< byte > source, out int bytesRead)
override void ImportFromEncryptedPem(ReadOnlySpan< char > input, ReadOnlySpan< char > password)
static new? ECDiffieHellman Create(string algorithm)
override void ImportFromPem(ReadOnlySpan< char > input)
static void ValidatePbeParameters(PbeParameters pbeParameters, ReadOnlySpan< char > password, ReadOnlySpan< byte > passwordBytes)