Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ ReencryptPkcs8() [4/4]

static AsnWriter System.Security.Cryptography.KeyFormatHelper.ReencryptPkcs8 ( ReadOnlySpan< char > inputPassword,
ReadOnlyMemory< byte > current,
ReadOnlySpan< char > newPassword,
PbeParameters pbeParameters )
inlinestaticpackage

Definition at line 104 of file KeyFormatHelper.cs.

105 {
106 int bytesRead;
107 ArraySegment<byte> arraySegment = DecryptPkcs8(inputPassword, current, out bytesRead);
108 try
109 {
110 if (bytesRead != current.Length)
111 {
112 throw new CryptographicException(System.SR.Cryptography_Der_Invalid_Encoding);
113 }
114 AsnWriter asnWriter = new AsnWriter(AsnEncodingRules.BER);
115 asnWriter.WriteEncodedValueForCrypto(arraySegment);
116 return WriteEncryptedPkcs8(newPassword, asnWriter, pbeParameters);
117 }
118 catch (CryptographicException inner)
119 {
120 throw new CryptographicException(System.SR.Cryptography_Pkcs8_EncryptedReadFailed, inner);
121 }
122 finally
123 {
125 }
126 }
static string Cryptography_Der_Invalid_Encoding
Definition SR.cs:50
static string Cryptography_Pkcs8_EncryptedReadFailed
Definition SR.cs:126
Definition SR.cs:7
static void Return(byte[] array, int clearSize=-1)
Definition CryptoPool.cs:12
static ArraySegment< byte > DecryptPkcs8(ReadOnlySpan< char > inputPassword, ReadOnlyMemory< byte > source, out int bytesRead)
static AsnWriter WriteEncryptedPkcs8(ReadOnlySpan< char > password, AsnWriter pkcs8Writer, PbeParameters pbeParameters)

References System.SR.Cryptography_Der_Invalid_Encoding, System.SR.Cryptography_Pkcs8_EncryptedReadFailed, System.Security.Cryptography.KeyFormatHelper.DecryptPkcs8(), System.ReadOnlyMemory< T >.Length, System.Security.Cryptography.CryptoPool.Return(), and System.Security.Cryptography.KeyFormatHelper.WriteEncryptedPkcs8().