Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryExportEncryptedPkcs8PrivateKey() [2/2]

unsafe override bool System.Security.Cryptography.ECDiffieHellman.TryExportEncryptedPkcs8PrivateKey ( ReadOnlySpan< char > password,
PbeParameters pbeParameters,
Span< byte > destination,
out int bytesWritten )
inlinevirtualinherited

Reimplemented from System.Security.Cryptography.AsymmetricAlgorithm.

Reimplemented in System.Security.Cryptography.ECDiffieHellmanImplementation.ECDiffieHellmanCng, and System.Security.Cryptography.ECDiffieHellmanCng.

Definition at line 107 of file ECDiffieHellman.cs.

108 {
109 if (pbeParameters == null)
110 {
111 throw new ArgumentNullException("pbeParameters");
112 }
113 PasswordBasedEncryption.ValidatePbeParameters(pbeParameters, password, ReadOnlySpan<byte>.Empty);
114 ECParameters ecParameters = ExportParameters(includePrivateParameters: true);
115 fixed (byte* ptr = ecParameters.D)
116 {
117 try
118 {
119 AsnWriter pkcs8Writer = EccKeyFormatHelper.WritePkcs8PrivateKey(ecParameters);
120 AsnWriter asnWriter = KeyFormatHelper.WriteEncryptedPkcs8(password, pkcs8Writer, pbeParameters);
121 return asnWriter.TryEncode(destination, out bytesWritten);
122 }
123 finally
124 {
125 CryptographicOperations.ZeroMemory(ecParameters.D);
126 }
127 }
128 }
bool TryEncode(Span< byte > destination, out int bytesWritten)
Definition AsnWriter.cs:173
virtual ECParameters ExportParameters(bool includePrivateParameters)

References System.Security.Cryptography.ECParameters.D, System.destination, System.Security.Cryptography.ECDiffieHellman.ExportParameters(), System.Formats.Asn1.AsnWriter.TryEncode(), System.Security.Cryptography.PasswordBasedEncryption.ValidatePbeParameters(), System.Security.Cryptography.KeyFormatHelper.WriteEncryptedPkcs8(), System.Security.Cryptography.EccKeyFormatHelper.WritePkcs8PrivateKey(), and System.Security.Cryptography.CryptographicOperations.ZeroMemory().