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

◆ ExportArray()

static unsafe byte[] System.Security.Cryptography.AsymmetricAlgorithm.ExportArray ( TryExport exporter)
inlinestaticprivateinherited

Definition at line 200 of file AsymmetricAlgorithm.cs.

201 {
202 int minimumLength = 4096;
203 while (true)
204 {
205 byte[] array = CryptoPool.Rent(minimumLength);
206 int bytesWritten = 0;
207 minimumLength = array.Length;
208 fixed (byte* ptr = array)
209 {
210 try
211 {
212 if (exporter(array, out bytesWritten))
213 {
214 return new Span<byte>(array, 0, bytesWritten).ToArray();
215 }
216 }
217 finally
218 {
219 CryptoPool.Return(array, bytesWritten);
220 }
221 minimumLength = checked(minimumLength * 2);
222 }
223 }
224 }

References System.array, System.Security.Cryptography.CryptoPool.Rent(), System.Security.Cryptography.CryptoPool.Return(), and System.Span< T >.ToArray().

Referenced by System.Security.Cryptography.AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKey(), System.Security.Cryptography.AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKey(), System.Security.Cryptography.AsymmetricAlgorithm.ExportPkcs8PrivateKey(), and System.Security.Cryptography.AsymmetricAlgorithm.ExportSubjectPublicKeyInfo().