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

◆ TryExportEncryptedPkcs8PrivateKey() [1/2]

unsafe override bool System.Security.Cryptography.ECDsa.TryExportEncryptedPkcs8PrivateKey ( ReadOnlySpan< byte > passwordBytes,
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 568 of file ECDsa.cs.

569 {
570 if (pbeParameters == null)
571 {
572 throw new ArgumentNullException("pbeParameters");
573 }
574 PasswordBasedEncryption.ValidatePbeParameters(pbeParameters, ReadOnlySpan<char>.Empty, passwordBytes);
575 ECParameters ecParameters = ExportParameters(includePrivateParameters: true);
576 fixed (byte* ptr = ecParameters.D)
577 {
578 try
579 {
580 AsnWriter pkcs8Writer = EccKeyFormatHelper.WritePkcs8PrivateKey(ecParameters);
581 AsnWriter asnWriter = KeyFormatHelper.WriteEncryptedPkcs8(passwordBytes, pkcs8Writer, pbeParameters);
582 return asnWriter.TryEncode(destination, out bytesWritten);
583 }
584 finally
585 {
586 CryptographicOperations.ZeroMemory(ecParameters.D);
587 }
588 }
589 }
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().