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

◆ TryExportEncryptedPkcs8PrivateKey() [2/2]

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

Reimplemented from System.Security.Cryptography.AsymmetricAlgorithm.

Reimplemented in System.Security.Cryptography.ECDsaImplementation.ECDsaCng, and System.Security.Cryptography.ECDsaCng.

Definition at line 591 of file ECDsa.cs.

592 {
593 if (pbeParameters == null)
594 {
595 throw new ArgumentNullException("pbeParameters");
596 }
597 PasswordBasedEncryption.ValidatePbeParameters(pbeParameters, password, ReadOnlySpan<byte>.Empty);
598 ECParameters ecParameters = ExportParameters(includePrivateParameters: true);
599 fixed (byte* ptr = ecParameters.D)
600 {
601 try
602 {
603 AsnWriter pkcs8Writer = EccKeyFormatHelper.WritePkcs8PrivateKey(ecParameters);
604 AsnWriter asnWriter = KeyFormatHelper.WriteEncryptedPkcs8(password, pkcs8Writer, pbeParameters);
605 return asnWriter.TryEncode(destination, out bytesWritten);
606 }
607 finally
608 {
609 CryptographicOperations.ZeroMemory(ecParameters.D);
610 }
611 }
612 }
bool TryEncode(Span< byte > destination, out int bytesWritten)
Definition AsnWriter.cs:173
virtual ECParameters ExportParameters(bool includePrivateParameters)
Definition ECDsa.cs:29

References System.Security.Cryptography.ECParameters.D, System.destination, System.Security.Cryptography.ECDsa.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().