// Token: 0x0600000F RID: 15 RVA: 0x000024C4 File Offset: 0x000006C4 internal static byte[] GetRSAFromDER(byte[] DERData) { byte[] array = null; byte[] array2 = null; uint num = 0U; IntPtr zero = IntPtr.Zero; if (!RSACryptoServiceProviderExtension.CryptDecodeObject((RSACryptoServiceProviderExtension.CRYPT_ENCODING_FLAGS) 65537U, new IntPtr(8), DERData, (uint)DERData.Length, RSACryptoServiceProviderExtension.CRYPT_DECODE_FLAGS.NONE, array, ref num)) { throw new Win32Exception(Marshal.GetLastWin32Error()); } array = new byte[num]; if (RSACryptoServiceProviderExtension.CryptDecodeObject((RSACryptoServiceProviderExtension.CRYPT_ENCODING_FLAGS) 65537U, new IntPtr(8), DERData, (uint)DERData.Length, RSACryptoServiceProviderExtension.CRYPT_DECODE_FLAGS.NONE, array, ref num)) { GCHandle gchandle = GCHandle.Alloc(array, GCHandleType.Pinned); try { RSACryptoServiceProviderExtension.CERT_PUBLIC_KEY_INFO cert_PUBLIC_KEY_INFO = (RSACryptoServiceProviderExtension.CERT_PUBLIC_KEY_INFO)Marshal.PtrToStructure(gchandle.AddrOfPinnedObject(), typeof(RSACryptoServiceProviderExtension.CERT_PUBLIC_KEY_INFO)); array2 = new byte[cert_PUBLIC_KEY_INFO.PublicKey.cbData]; Marshal.Copy(cert_PUBLIC_KEY_INFO.PublicKey.pbData, array2, 0, array2.Length); } finally { gchandle.Free(); } return(array2); } throw new Win32Exception(Marshal.GetLastWin32Error()); }
// Token: 0x0600000E RID: 14 RVA: 0x0000244C File Offset: 0x0000064C private static byte[] GetPublicKeyBlobFromRSA(byte[] RSAData) { byte[] array = null; uint num = 0U; if (!RSACryptoServiceProviderExtension.CryptDecodeObject((RSACryptoServiceProviderExtension.CRYPT_ENCODING_FLAGS) 65537U, new IntPtr(19), RSAData, (uint)RSAData.Length, RSACryptoServiceProviderExtension.CRYPT_DECODE_FLAGS.NONE, array, ref num)) { throw new Win32Exception(Marshal.GetLastWin32Error()); } array = new byte[num]; if (!RSACryptoServiceProviderExtension.CryptDecodeObject((RSACryptoServiceProviderExtension.CRYPT_ENCODING_FLAGS) 65537U, new IntPtr(19), RSAData, (uint)RSAData.Length, RSACryptoServiceProviderExtension.CRYPT_DECODE_FLAGS.NONE, array, ref num)) { throw new Win32Exception(Marshal.GetLastWin32Error()); } return(array); }