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

◆ ExportKeyBlob()

static byte[] Internal.Cryptography.Pal.X509Pal.ExportKeyBlob ( Microsoft::Win32::SafeHandles::SafeBCryptKeyHandle bCryptKeyHandle,
CngKeyBlobFormat blobFormat )
inlinestaticprivate

Definition at line 300 of file X509Pal.cs.

301 {
302 string format = blobFormat.Format;
303 int pcbResult = 0;
304 global::Interop.BCrypt.NTSTATUS nTSTATUS = global::Interop.BCrypt.BCryptExportKey(bCryptKeyHandle, IntPtr.Zero, format, null, 0, out pcbResult, 0);
305 if (nTSTATUS != 0)
306 {
307 throw new CryptographicException(global::Interop.Kernel32.GetMessage((int)nTSTATUS));
308 }
309 byte[] array = new byte[pcbResult];
310 nTSTATUS = global::Interop.BCrypt.BCryptExportKey(bCryptKeyHandle, IntPtr.Zero, format, array, array.Length, out pcbResult, 0);
311 if (nTSTATUS != 0)
312 {
313 throw new CryptographicException(global::Interop.Kernel32.GetMessage((int)nTSTATUS));
314 }
315 Array.Resize(ref array, pcbResult);
316 return array;
317 }
static readonly IntPtr Zero
Definition IntPtr.cs:18

References System.array, System.format, System.Security.Cryptography.CngKeyBlobFormat.Format, and System.IntPtr.Zero.

Referenced by Internal.Cryptography.Pal.X509Pal.DecodeECPublicKey< TAlgorithm >().