2072 lines
118 KiB
C#
2072 lines
118 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Date;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
|
using Cpp2IlInjected;
|
|
using Hjg.Pngcs;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
// Token: 0x020015C0 RID: 5568
|
|
[Token(Token = "0x20015C0")]
|
|
[StructLayout(3)]
|
|
public abstract class TlsUtilities
|
|
{
|
|
// Token: 0x06009454 RID: 37972 RVA: 0x0020D3F4 File Offset: 0x0020B5F4
|
|
[Token(Token = "0x6009454")]
|
|
[Address(RVA = "0x1E0CD60", Offset = "0x1E0B760", VA = "0x181E0CD60")]
|
|
public static void CheckUint8(int i)
|
|
{
|
|
while (i != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009455 RID: 37973 RVA: 0x0020D404 File Offset: 0x0020B604
|
|
[Token(Token = "0x6009455")]
|
|
[Address(RVA = "0x1E0CDE0", Offset = "0x1E0B7E0", VA = "0x181E0CDE0")]
|
|
public static void CheckUint8(long i)
|
|
{
|
|
while (i != 0L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009456 RID: 37974 RVA: 0x0020D414 File Offset: 0x0020B614
|
|
[Token(Token = "0x6009456")]
|
|
[Address(RVA = "0x1E0CA70", Offset = "0x1E0B470", VA = "0x181E0CA70")]
|
|
public static void CheckUint16(int i)
|
|
{
|
|
while (i != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009457 RID: 37975 RVA: 0x0020D424 File Offset: 0x0020B624
|
|
[Token(Token = "0x6009457")]
|
|
[Address(RVA = "0x1E0C9F0", Offset = "0x1E0B3F0", VA = "0x181E0C9F0")]
|
|
public static void CheckUint16(long i)
|
|
{
|
|
while (i != 0L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009458 RID: 37976 RVA: 0x0020D434 File Offset: 0x0020B634
|
|
[Token(Token = "0x6009458")]
|
|
[Address(RVA = "0x1E0CB80", Offset = "0x1E0B580", VA = "0x181E0CB80")]
|
|
public static void CheckUint24(int i)
|
|
{
|
|
while (i != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009459 RID: 37977 RVA: 0x0020D444 File Offset: 0x0020B644
|
|
[Token(Token = "0x6009459")]
|
|
[Address(RVA = "0x1E0CAF0", Offset = "0x1E0B4F0", VA = "0x181E0CAF0")]
|
|
public static void CheckUint24(long i)
|
|
{
|
|
while (i != 0L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600945A RID: 37978 RVA: 0x0020D454 File Offset: 0x0020B654
|
|
[Token(Token = "0x600945A")]
|
|
[Address(RVA = "0x1E0CC00", Offset = "0x1E0B600", VA = "0x181E0CC00")]
|
|
public static void CheckUint32(long i)
|
|
{
|
|
while (i != 0L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600945B RID: 37979 RVA: 0x0020D464 File Offset: 0x0020B664
|
|
[Token(Token = "0x600945B")]
|
|
[Address(RVA = "0x1E0CC80", Offset = "0x1E0B680", VA = "0x181E0CC80")]
|
|
public static void CheckUint48(long i)
|
|
{
|
|
while (i != 0L)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600945C RID: 37980 RVA: 0x0020D474 File Offset: 0x0020B674
|
|
[Token(Token = "0x600945C")]
|
|
[Address(RVA = "0x1E0CD10", Offset = "0x1E0B710", VA = "0x181E0CD10")]
|
|
public static void CheckUint64(long i)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600945D RID: 37981 RVA: 0x0020D484 File Offset: 0x0020B684
|
|
[Token(Token = "0x600945D")]
|
|
[Address(RVA = "0x1E10BD0", Offset = "0x1E0F5D0", VA = "0x181E10BD0")]
|
|
public static bool IsValidUint8(int i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x0600945E RID: 37982 RVA: 0x0020D498 File Offset: 0x0020B698
|
|
[Token(Token = "0x600945E")]
|
|
[Address(RVA = "0x1E10BE0", Offset = "0x1E0F5E0", VA = "0x181E10BE0")]
|
|
public static bool IsValidUint8(long i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x0600945F RID: 37983 RVA: 0x0020D4AC File Offset: 0x0020B6AC
|
|
[Token(Token = "0x600945F")]
|
|
[Address(RVA = "0x1E10B70", Offset = "0x1E0F570", VA = "0x181E10B70")]
|
|
public static bool IsValidUint16(int i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x06009460 RID: 37984 RVA: 0x0020D4C0 File Offset: 0x0020B6C0
|
|
[Token(Token = "0x6009460")]
|
|
[Address(RVA = "0x1E10B60", Offset = "0x1E0F560", VA = "0x181E10B60")]
|
|
public static bool IsValidUint16(long i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x06009461 RID: 37985 RVA: 0x0020D4D4 File Offset: 0x0020B6D4
|
|
[Token(Token = "0x6009461")]
|
|
[Address(RVA = "0x1E10B90", Offset = "0x1E0F590", VA = "0x181E10B90")]
|
|
public static bool IsValidUint24(int i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x06009462 RID: 37986 RVA: 0x0020D4E8 File Offset: 0x0020B6E8
|
|
[Token(Token = "0x6009462")]
|
|
[Address(RVA = "0x1E10B80", Offset = "0x1E0F580", VA = "0x181E10B80")]
|
|
public static bool IsValidUint24(long i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x06009463 RID: 37987 RVA: 0x0020D4FC File Offset: 0x0020B6FC
|
|
[Token(Token = "0x6009463")]
|
|
[Address(RVA = "0x1E10BA0", Offset = "0x1E0F5A0", VA = "0x181E10BA0")]
|
|
public static bool IsValidUint32(long i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x06009464 RID: 37988 RVA: 0x0020D510 File Offset: 0x0020B710
|
|
[Token(Token = "0x6009464")]
|
|
[Address(RVA = "0x1E10BB0", Offset = "0x1E0F5B0", VA = "0x181E10BB0")]
|
|
public static bool IsValidUint48(long i)
|
|
{
|
|
return i == i;
|
|
}
|
|
|
|
// Token: 0x06009465 RID: 37989 RVA: 0x0020D524 File Offset: 0x0020B724
|
|
[Token(Token = "0x6009465")]
|
|
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0")]
|
|
public static bool IsValidUint64(long i)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06009466 RID: 37990 RVA: 0x0020D534 File Offset: 0x0020B734
|
|
[Token(Token = "0x6009466")]
|
|
[Address(RVA = "0x1E10480", Offset = "0x1E0EE80", VA = "0x181E10480")]
|
|
public static bool IsSsl(TlsContext context)
|
|
{
|
|
bool flag;
|
|
return flag;
|
|
}
|
|
|
|
// Token: 0x06009467 RID: 37991 RVA: 0x0020D548 File Offset: 0x0020B748
|
|
[Token(Token = "0x6009467")]
|
|
[Address(RVA = "0x1E10630", Offset = "0x1E0F030", VA = "0x181E10630")]
|
|
public static bool IsTlsV11(ProtocolVersion version)
|
|
{
|
|
ProtocolVersion tlsv = ProtocolVersion.TLSv11;
|
|
ProtocolVersion equivalentTLSVersion = version.GetEquivalentTLSVersion();
|
|
return tlsv.IsEqualOrEarlierVersionOf(equivalentTLSVersion);
|
|
}
|
|
|
|
// Token: 0x06009468 RID: 37992 RVA: 0x0020D570 File Offset: 0x0020B770
|
|
[Token(Token = "0x6009468")]
|
|
[Address(RVA = "0x1E10540", Offset = "0x1E0EF40", VA = "0x181E10540")]
|
|
public static bool IsTlsV11(TlsContext context)
|
|
{
|
|
ProtocolVersion protocolVersion;
|
|
return ProtocolVersion.TLSv11.IsEqualOrEarlierVersionOf(protocolVersion);
|
|
}
|
|
|
|
// Token: 0x06009469 RID: 37993 RVA: 0x0020D590 File Offset: 0x0020B790
|
|
[Token(Token = "0x6009469")]
|
|
[Address(RVA = "0x1E107B0", Offset = "0x1E0F1B0", VA = "0x181E107B0")]
|
|
public static bool IsTlsV12(ProtocolVersion version)
|
|
{
|
|
ProtocolVersion tlsv = ProtocolVersion.TLSv12;
|
|
ProtocolVersion equivalentTLSVersion = version.GetEquivalentTLSVersion();
|
|
return tlsv.IsEqualOrEarlierVersionOf(equivalentTLSVersion);
|
|
}
|
|
|
|
// Token: 0x0600946A RID: 37994 RVA: 0x0020D5B8 File Offset: 0x0020B7B8
|
|
[Token(Token = "0x600946A")]
|
|
[Address(RVA = "0x1E106C0", Offset = "0x1E0F0C0", VA = "0x181E106C0")]
|
|
public static bool IsTlsV12(TlsContext context)
|
|
{
|
|
ProtocolVersion protocolVersion;
|
|
return ProtocolVersion.TLSv12.IsEqualOrEarlierVersionOf(protocolVersion);
|
|
}
|
|
|
|
// Token: 0x0600946B RID: 37995 RVA: 0x0020D5D8 File Offset: 0x0020B7D8
|
|
[Token(Token = "0x600946B")]
|
|
[Address(RVA = "0x1E13D60", Offset = "0x1E12760", VA = "0x181E13D60")]
|
|
public static void WriteUint8(byte i, Stream output)
|
|
{
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x0600946C RID: 37996 RVA: 0x0020D5F4 File Offset: 0x0020B7F4
|
|
[Token(Token = "0x600946C")]
|
|
[Address(RVA = "0x1E13D20", Offset = "0x1E12720", VA = "0x181E13D20")]
|
|
public static void WriteUint8(byte i, byte[] buf, int offset)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600946D RID: 37997 RVA: 0x0020D608 File Offset: 0x0020B808
|
|
[Token(Token = "0x600946D")]
|
|
[Address(RVA = "0x1E13340", Offset = "0x1E11D40", VA = "0x181E13340")]
|
|
public static void WriteUint16(int i, Stream output)
|
|
{
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x0600946E RID: 37998 RVA: 0x0020D624 File Offset: 0x0020B824
|
|
[Token(Token = "0x600946E")]
|
|
[Address(RVA = "0xE45790", Offset = "0xE44190", VA = "0x180E45790")]
|
|
public static void WriteUint16(int i, byte[] buf, int offset)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600946F RID: 37999 RVA: 0x0020D638 File Offset: 0x0020B838
|
|
[Token(Token = "0x600946F")]
|
|
[Address(RVA = "0x1E13420", Offset = "0x1E11E20", VA = "0x181E13420")]
|
|
public static void WriteUint24(int i, Stream output)
|
|
{
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x06009470 RID: 38000 RVA: 0x0020D654 File Offset: 0x0020B854
|
|
[Token(Token = "0x6009470")]
|
|
[Address(RVA = "0x1E133A0", Offset = "0x1E11DA0", VA = "0x181E133A0")]
|
|
public static void WriteUint24(int i, byte[] buf, int offset)
|
|
{
|
|
int num = offset + 1;
|
|
}
|
|
|
|
// Token: 0x06009471 RID: 38001 RVA: 0x0020D66C File Offset: 0x0020B86C
|
|
[Token(Token = "0x6009471")]
|
|
[Address(RVA = "0x1E13540", Offset = "0x1E11F40", VA = "0x181E13540")]
|
|
public static void WriteUint32(long i, Stream output)
|
|
{
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x06009472 RID: 38002 RVA: 0x0020D688 File Offset: 0x0020B888
|
|
[Token(Token = "0x6009472")]
|
|
[Address(RVA = "0x1E13490", Offset = "0x1E11E90", VA = "0x181E13490")]
|
|
public static void WriteUint32(long i, byte[] buf, int offset)
|
|
{
|
|
int num = offset + 1;
|
|
}
|
|
|
|
// Token: 0x06009473 RID: 38003 RVA: 0x0020D6A0 File Offset: 0x0020B8A0
|
|
[Token(Token = "0x6009473")]
|
|
[Address(RVA = "0x1E136D0", Offset = "0x1E120D0", VA = "0x181E136D0")]
|
|
public static void WriteUint48(long i, Stream output)
|
|
{
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x06009474 RID: 38004 RVA: 0x0020D6BC File Offset: 0x0020B8BC
|
|
[Token(Token = "0x6009474")]
|
|
[Address(RVA = "0x1E135D0", Offset = "0x1E11FD0", VA = "0x181E135D0")]
|
|
public static void WriteUint48(long i, byte[] buf, int offset)
|
|
{
|
|
int num = offset + 1;
|
|
}
|
|
|
|
// Token: 0x06009475 RID: 38005 RVA: 0x0020D6D4 File Offset: 0x0020B8D4
|
|
[Token(Token = "0x6009475")]
|
|
[Address(RVA = "0x1E137A0", Offset = "0x1E121A0", VA = "0x181E137A0")]
|
|
public static void WriteUint64(long i, Stream output)
|
|
{
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x06009476 RID: 38006 RVA: 0x0020D6F0 File Offset: 0x0020B8F0
|
|
[Token(Token = "0x6009476")]
|
|
[Address(RVA = "0x1E138A0", Offset = "0x1E122A0", VA = "0x181E138A0")]
|
|
public static void WriteUint64(long i, byte[] buf, int offset)
|
|
{
|
|
int num = offset + 1;
|
|
}
|
|
|
|
// Token: 0x06009477 RID: 38007 RVA: 0x0020D708 File Offset: 0x0020B908
|
|
[Token(Token = "0x6009477")]
|
|
[Address(RVA = "0x1E12E90", Offset = "0x1E11890", VA = "0x181E12E90")]
|
|
public static void WriteOpaque8(byte[] buf, Stream output)
|
|
{
|
|
int num = output.ReadByte();
|
|
}
|
|
|
|
// Token: 0x06009478 RID: 38008 RVA: 0x0020D724 File Offset: 0x0020B924
|
|
[Token(Token = "0x6009478")]
|
|
[Address(RVA = "0x1E12CD0", Offset = "0x1E116D0", VA = "0x181E12CD0")]
|
|
public static void WriteOpaque16(byte[] buf, Stream output)
|
|
{
|
|
int num = output.ReadByte();
|
|
}
|
|
|
|
// Token: 0x06009479 RID: 38009 RVA: 0x0020D740 File Offset: 0x0020B940
|
|
[Token(Token = "0x6009479")]
|
|
[Address(RVA = "0x1E12DA0", Offset = "0x1E117A0", VA = "0x181E12DA0")]
|
|
public static void WriteOpaque24(byte[] buf, Stream output)
|
|
{
|
|
int num = output.ReadByte();
|
|
}
|
|
|
|
// Token: 0x0600947A RID: 38010 RVA: 0x0020D75C File Offset: 0x0020B95C
|
|
[Token(Token = "0x600947A")]
|
|
[Address(RVA = "0x1E13C00", Offset = "0x1E12600", VA = "0x181E13C00")]
|
|
public static void WriteUint8Array(byte[] uints, Stream output)
|
|
{
|
|
int num = output.ReadByte();
|
|
}
|
|
|
|
// Token: 0x0600947B RID: 38011 RVA: 0x0020D778 File Offset: 0x0020B978
|
|
[Token(Token = "0x600947B")]
|
|
[Address(RVA = "0x1E13C40", Offset = "0x1E12640", VA = "0x181E13C40")]
|
|
public static void WriteUint8Array(byte[] uints, byte[] buf, int offset)
|
|
{
|
|
int num = 0;
|
|
int length = uints.Length;
|
|
if (num < length)
|
|
{
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600947C RID: 38012 RVA: 0x0020D79C File Offset: 0x0020B99C
|
|
[Token(Token = "0x600947C")]
|
|
[Address(RVA = "0x1E13B50", Offset = "0x1E12550", VA = "0x181E13B50")]
|
|
public static void WriteUint8ArrayWithUint8Length(byte[] uints, Stream output)
|
|
{
|
|
TlsUtilities.CheckUint8(uints.Length);
|
|
int num = output.ReadByte();
|
|
}
|
|
|
|
// Token: 0x0600947D RID: 38013 RVA: 0x0020D7C4 File Offset: 0x0020B9C4
|
|
[Token(Token = "0x600947D")]
|
|
[Address(RVA = "0x1E13A00", Offset = "0x1E12400", VA = "0x181E13A00")]
|
|
public static void WriteUint8ArrayWithUint8Length(byte[] uints, byte[] buf, int offset)
|
|
{
|
|
TlsUtilities.CheckUint8(uints.Length);
|
|
int length = uints.Length;
|
|
int num = 0;
|
|
int length2 = uints.Length;
|
|
if (num < length2)
|
|
{
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600947E RID: 38014 RVA: 0x0020D7FC File Offset: 0x0020B9FC
|
|
[Token(Token = "0x600947E")]
|
|
[Address(RVA = "0x1E131C0", Offset = "0x1E11BC0", VA = "0x181E131C0")]
|
|
public static void WriteUint16Array(int[] uints, Stream output)
|
|
{
|
|
int num = 0;
|
|
int length = uints.Length;
|
|
if (num < length)
|
|
{
|
|
TlsUtilities.WriteUint16(uints[num], output);
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600947F RID: 38015 RVA: 0x0020D830 File Offset: 0x0020BA30
|
|
[Token(Token = "0x600947F")]
|
|
[Address(RVA = "0x1E13270", Offset = "0x1E11C70", VA = "0x181E13270")]
|
|
public static void WriteUint16Array(int[] uints, byte[] buf, int offset)
|
|
{
|
|
int num = 0;
|
|
int length = uints.Length;
|
|
if (num < length)
|
|
{
|
|
PngHelperInternal.WriteInt2tobytes(uints[num], buf, offset);
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009480 RID: 38016 RVA: 0x0020D864 File Offset: 0x0020BA64
|
|
[Token(Token = "0x6009480")]
|
|
[Address(RVA = "0x1E13090", Offset = "0x1E11A90", VA = "0x181E13090")]
|
|
public static void WriteUint16ArrayWithUint16Length(int[] uints, Stream output)
|
|
{
|
|
int num = uints.Length;
|
|
num += num;
|
|
TlsUtilities.CheckUint16(num);
|
|
int num2 = 0;
|
|
int length = uints.Length;
|
|
if (num2 < length)
|
|
{
|
|
TlsUtilities.WriteUint16(uints[num2], output);
|
|
num2++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009481 RID: 38017 RVA: 0x0020D8A8 File Offset: 0x0020BAA8
|
|
[Token(Token = "0x6009481")]
|
|
[Address(RVA = "0x1E12F30", Offset = "0x1E11930", VA = "0x181E12F30")]
|
|
public static void WriteUint16ArrayWithUint16Length(int[] uints, byte[] buf, int offset)
|
|
{
|
|
int num = uints.Length;
|
|
num += num;
|
|
TlsUtilities.CheckUint16(num);
|
|
int num2 = offset + 1;
|
|
int num3 = 0;
|
|
int length = uints.Length;
|
|
if (num3 < length)
|
|
{
|
|
PngHelperInternal.WriteInt2tobytes(uints[num3], buf, offset);
|
|
num3++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009482 RID: 38018 RVA: 0x0020D8F0 File Offset: 0x0020BAF0
|
|
[Token(Token = "0x6009482")]
|
|
[Address(RVA = "0x1E0D980", Offset = "0x1E0C380", VA = "0x181E0D980")]
|
|
public static byte DecodeUint8(byte[] buf)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009482)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::DecodeUint8(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1C:
|
|
stloc:ArgumentNullException(var_1_26, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buf")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009483 RID: 38019 RVA: 0x0020D924 File Offset: 0x0020BB24
|
|
[Token(Token = "0x6009483")]
|
|
[Address(RVA = "0x1E0D7F0", Offset = "0x1E0C1F0", VA = "0x181E0D7F0")]
|
|
public static byte[] DecodeUint8ArrayWithUint8Length(byte[] buf)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009483)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::DecodeUint8ArrayWithUint8Length(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_2D:
|
|
stloc:ArgumentNullException(var_6_37, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("buf")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009484 RID: 38020 RVA: 0x0020D96C File Offset: 0x0020BB6C
|
|
[Token(Token = "0x6009484")]
|
|
[Address(RVA = "0x1E0DA50", Offset = "0x1E0C450", VA = "0x181E0DA50")]
|
|
public static byte[] EncodeOpaque8(byte[] buf)
|
|
{
|
|
TlsUtilities.CheckUint8(buf.Length);
|
|
int length = buf.Length;
|
|
return Arrays.Prepend(buf, (byte)length);
|
|
}
|
|
|
|
// Token: 0x06009485 RID: 38021 RVA: 0x0020D998 File Offset: 0x0020BB98
|
|
[Token(Token = "0x6009485")]
|
|
[Address(RVA = "0x1E0E0F0", Offset = "0x1E0CAF0", VA = "0x181E0E0F0")]
|
|
public static byte[] EncodeUint8(byte val)
|
|
{
|
|
TlsUtilities.CheckUint8((int)val);
|
|
return new byte[] { val };
|
|
}
|
|
|
|
// Token: 0x06009486 RID: 38022 RVA: 0x0020D9C4 File Offset: 0x0020BBC4
|
|
[Token(Token = "0x6009486")]
|
|
[Address(RVA = "0x1E0DF60", Offset = "0x1E0C960", VA = "0x181E0DF60")]
|
|
public static byte[] EncodeUint8ArrayWithUint8Length(byte[] uints)
|
|
{
|
|
int num = uints.Length;
|
|
num++;
|
|
byte[] array = new byte[num];
|
|
TlsUtilities.CheckUint8(uints.Length);
|
|
int length = uints.Length;
|
|
array[0] = (byte)length;
|
|
int num2 = 0;
|
|
int length2 = uints.Length;
|
|
if (num2 < length2)
|
|
{
|
|
num2++;
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009487 RID: 38023 RVA: 0x0020DA18 File Offset: 0x0020BC18
|
|
[Token(Token = "0x6009487")]
|
|
[Address(RVA = "0x1E0DDB0", Offset = "0x1E0C7B0", VA = "0x181E0DDB0")]
|
|
public static byte[] EncodeUint16ArrayWithUint16Length(int[] uints)
|
|
{
|
|
int num = uints.Length;
|
|
num += num;
|
|
num += 2;
|
|
byte[] array = new byte[num];
|
|
int num2 = uints.Length;
|
|
num2 += num2;
|
|
TlsUtilities.CheckUint16(num2);
|
|
array[0] = (byte)num2;
|
|
array[0] = (byte)num2;
|
|
int num3 = 0;
|
|
int length = uints.Length;
|
|
if (num3 < length)
|
|
{
|
|
uint num4;
|
|
PngHelperInternal.WriteInt2tobytes(uints[num3], array, (int)num4);
|
|
num4 += (uint)2;
|
|
num3++;
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009488 RID: 38024 RVA: 0x0020DA90 File Offset: 0x0020BC90
|
|
[Token(Token = "0x6009488")]
|
|
[Address(RVA = "0x1E12200", Offset = "0x1E10C00", VA = "0x181E12200")]
|
|
public static byte ReadUint8(Stream input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009488)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadUint8(System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:EndOfStreamException(var_1_05, newobj:EndOfStreamException(EndOfStreamException::.ctor))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009489 RID: 38025 RVA: 0x0020DAA4 File Offset: 0x0020BCA4
|
|
[Token(Token = "0x6009489")]
|
|
[Address(RVA = "0xE450F0", Offset = "0xE43AF0", VA = "0x180E450F0")]
|
|
public static byte ReadUint8(byte[] buf, int offset)
|
|
{
|
|
byte b;
|
|
return b;
|
|
}
|
|
|
|
// Token: 0x0600948A RID: 38026 RVA: 0x0020DAB8 File Offset: 0x0020BCB8
|
|
[Token(Token = "0x600948A")]
|
|
[Address(RVA = "0x1E11BD0", Offset = "0x1E105D0", VA = "0x181E11BD0")]
|
|
public static int ReadUint16(Stream input)
|
|
{
|
|
int num;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x0600948B RID: 38027 RVA: 0x0020DACC File Offset: 0x0020BCCC
|
|
[Token(Token = "0x600948B")]
|
|
[Address(RVA = "0x1E11C70", Offset = "0x1E10670", VA = "0x181E11C70")]
|
|
public static int ReadUint16(byte[] buf, int offset)
|
|
{
|
|
int length = buf.Length;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600948C RID: 38028 RVA: 0x0020DAE8 File Offset: 0x0020BCE8
|
|
[Token(Token = "0x600948C")]
|
|
[Address(RVA = "0x1E11CD0", Offset = "0x1E106D0", VA = "0x181E11CD0")]
|
|
public static int ReadUint24(Stream input)
|
|
{
|
|
int num;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x0600948D RID: 38029 RVA: 0x0020DAFC File Offset: 0x0020BCFC
|
|
[Token(Token = "0x600948D")]
|
|
[Address(RVA = "0x1E11D90", Offset = "0x1E10790", VA = "0x181E11D90")]
|
|
public static int ReadUint24(byte[] buf, int offset)
|
|
{
|
|
int length = buf.Length;
|
|
int num = offset + 1;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600948E RID: 38030 RVA: 0x0020DB1C File Offset: 0x0020BD1C
|
|
[Token(Token = "0x600948E")]
|
|
[Address(RVA = "0x1E11E20", Offset = "0x1E10820", VA = "0x181E11E20")]
|
|
public static long ReadUint32(Stream input)
|
|
{
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600948F RID: 38031 RVA: 0x0020DB30 File Offset: 0x0020BD30
|
|
[Token(Token = "0x600948F")]
|
|
[Address(RVA = "0x1E11F10", Offset = "0x1E10910", VA = "0x181E11F10")]
|
|
public static long ReadUint32(byte[] buf, int offset)
|
|
{
|
|
int length = buf.Length;
|
|
int num = offset + 1;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009490 RID: 38032 RVA: 0x0020DB50 File Offset: 0x0020BD50
|
|
[Token(Token = "0x6009490")]
|
|
[Address(RVA = "0x1E120C0", Offset = "0x1E10AC0", VA = "0x181E120C0")]
|
|
public static long ReadUint48(Stream input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009490)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadUint48(System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:int32(var_0_06, call:int32(TlsUtilities::ReadUint24, ldloc:Stream(input)))
|
|
stloc:int32(var_1_0D, call:int32(TlsUtilities::ReadUint24, ldloc:Stream(input)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009491 RID: 38033 RVA: 0x0020DB6C File Offset: 0x0020BD6C
|
|
[Token(Token = "0x6009491")]
|
|
[Address(RVA = "0x1E11FD0", Offset = "0x1E109D0", VA = "0x181E11FD0")]
|
|
public static long ReadUint48(byte[] buf, int offset)
|
|
{
|
|
int num = TlsUtilities.ReadUint24(buf, offset);
|
|
int length = buf.Length;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009492 RID: 38034 RVA: 0x0020DB90 File Offset: 0x0020BD90
|
|
[Token(Token = "0x6009492")]
|
|
[Address(RVA = "0x1E111F0", Offset = "0x1E0FBF0", VA = "0x181E111F0")]
|
|
public static byte[] ReadAllOrNothing(int length, Stream input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009492)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadAllOrNothing(System.Int32,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_21:
|
|
stloc:EndOfStreamException(var_3_26, newobj:EndOfStreamException(EndOfStreamException::.ctor))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009493 RID: 38035 RVA: 0x0020DBC4 File Offset: 0x0020BDC4
|
|
[Token(Token = "0x6009493")]
|
|
[Address(RVA = "0x1E11620", Offset = "0x1E10020", VA = "0x181E11620")]
|
|
public static byte[] ReadFully(int length, Stream input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009493)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadFully(System.Int32,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1B:
|
|
stloc:EndOfStreamException(var_2_20, newobj:EndOfStreamException(EndOfStreamException::.ctor))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06009494 RID: 38036 RVA: 0x0020DBF4 File Offset: 0x0020BDF4
|
|
[Token(Token = "0x6009494")]
|
|
[Address(RVA = "0x1E116F0", Offset = "0x1E100F0", VA = "0x181E116F0")]
|
|
public static void ReadFully(byte[] buf, Stream input)
|
|
{
|
|
int length = buf.Length;
|
|
int num = 0;
|
|
int num2 = Streams.ReadFully(input, buf, num, length);
|
|
}
|
|
|
|
// Token: 0x06009495 RID: 38037 RVA: 0x0020DC1C File Offset: 0x0020BE1C
|
|
[Token(Token = "0x6009495")]
|
|
[Address(RVA = "0x1E11860", Offset = "0x1E10260", VA = "0x181E11860")]
|
|
public static byte[] ReadOpaque8(Stream input)
|
|
{
|
|
byte[] array = new byte[(int)TlsUtilities.ReadUint8(input)];
|
|
TlsUtilities.ReadFully(array, input);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009496 RID: 38038 RVA: 0x0020DC40 File Offset: 0x0020BE40
|
|
[Token(Token = "0x6009496")]
|
|
[Address(RVA = "0x1E11780", Offset = "0x1E10180", VA = "0x181E11780")]
|
|
public static byte[] ReadOpaque16(Stream input)
|
|
{
|
|
byte[] array = new byte[TlsUtilities.ReadUint16(input)];
|
|
TlsUtilities.ReadFully(array, input);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009497 RID: 38039 RVA: 0x0020DC64 File Offset: 0x0020BE64
|
|
[Token(Token = "0x6009497")]
|
|
[Address(RVA = "0x1E11800", Offset = "0x1E10200", VA = "0x181E11800")]
|
|
public static byte[] ReadOpaque24(Stream input)
|
|
{
|
|
return TlsUtilities.ReadFully(TlsUtilities.ReadUint24(input), input);
|
|
}
|
|
|
|
// Token: 0x06009498 RID: 38040 RVA: 0x0020DC80 File Offset: 0x0020BE80
|
|
[Token(Token = "0x6009498")]
|
|
[Address(RVA = "0x1E12140", Offset = "0x1E10B40", VA = "0x181E12140")]
|
|
public static byte[] ReadUint8Array(int count, Stream input)
|
|
{
|
|
byte[] array = new byte[count];
|
|
int num = 0;
|
|
if (count > 0)
|
|
{
|
|
byte b = TlsUtilities.ReadUint8(input);
|
|
num++;
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x06009499 RID: 38041 RVA: 0x0020DCAC File Offset: 0x0020BEAC
|
|
[Token(Token = "0x6009499")]
|
|
[Address(RVA = "0x1E11B10", Offset = "0x1E10510", VA = "0x181E11B10")]
|
|
public static int[] ReadUint16Array(int count, Stream input)
|
|
{
|
|
int[] array = new int[count];
|
|
int num = 0;
|
|
if (count > 0)
|
|
{
|
|
int num2 = TlsUtilities.ReadUint16(input);
|
|
num++;
|
|
array[0] = num2;
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600949A RID: 38042 RVA: 0x0020DCE0 File Offset: 0x0020BEE0
|
|
[Token(Token = "0x600949A")]
|
|
[Address(RVA = "0x1E12320", Offset = "0x1E10D20", VA = "0x181E12320")]
|
|
public static ProtocolVersion ReadVersion(byte[] buf, int offset)
|
|
{
|
|
int length = buf.Length;
|
|
int num = offset + 1;
|
|
byte b;
|
|
byte b2;
|
|
return ProtocolVersion.Get((int)b, (int)b2);
|
|
}
|
|
|
|
// Token: 0x0600949B RID: 38043 RVA: 0x0020DD08 File Offset: 0x0020BF08
|
|
[Token(Token = "0x600949B")]
|
|
[Address(RVA = "0x1E123D0", Offset = "0x1E10DD0", VA = "0x181E123D0")]
|
|
public static ProtocolVersion ReadVersion(Stream input)
|
|
{
|
|
int num;
|
|
int num2;
|
|
return ProtocolVersion.Get(num, num2);
|
|
}
|
|
|
|
// Token: 0x0600949C RID: 38044 RVA: 0x0020DD24 File Offset: 0x0020BF24
|
|
[Token(Token = "0x600949C")]
|
|
[Address(RVA = "0x1E11C70", Offset = "0x1E10670", VA = "0x181E11C70")]
|
|
public static int ReadVersionRaw(byte[] buf, int offset)
|
|
{
|
|
int length = buf.Length;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600949D RID: 38045 RVA: 0x0020DD40 File Offset: 0x0020BF40
|
|
[Token(Token = "0x600949D")]
|
|
[Address(RVA = "0x1E12280", Offset = "0x1E10C80", VA = "0x181E12280")]
|
|
public static int ReadVersionRaw(Stream input)
|
|
{
|
|
int num;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x0600949E RID: 38046 RVA: 0x0020DD54 File Offset: 0x0020BF54
|
|
[Token(Token = "0x600949E")]
|
|
[Address(RVA = "0x1E112E0", Offset = "0x1E0FCE0", VA = "0x181E112E0")]
|
|
public static Asn1Object ReadAsn1Object(byte[] encoding)
|
|
{
|
|
Asn1Object asn1Object;
|
|
for (;;)
|
|
{
|
|
int num;
|
|
MemoryStream memoryStream = new MemoryStream(encoding, num != 0);
|
|
num = 0;
|
|
int length;
|
|
Asn1InputStream asn1InputStream = new Asn1InputStream(memoryStream, length);
|
|
length = encoding.Length;
|
|
asn1Object = asn1InputStream.ReadObject();
|
|
if (asn1Object != 0)
|
|
{
|
|
long length2 = memoryStream.Length;
|
|
bool canWrite = memoryStream.CanWrite;
|
|
if (length2 == (canWrite ? 1L : 0L))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return asn1Object;
|
|
}
|
|
|
|
// Token: 0x0600949F RID: 38047 RVA: 0x0020DDA8 File Offset: 0x0020BFA8
|
|
[Token(Token = "0x600949F")]
|
|
[Address(RVA = "0x1E11420", Offset = "0x1E0FE20", VA = "0x181E11420")]
|
|
public static Asn1Object ReadDerObject(byte[] encoding)
|
|
{
|
|
Asn1Object asn1Object;
|
|
for (;;)
|
|
{
|
|
int num;
|
|
MemoryStream memoryStream = new MemoryStream(encoding, num != 0);
|
|
num = 0;
|
|
int length;
|
|
Asn1InputStream asn1InputStream = new Asn1InputStream(memoryStream, length);
|
|
length = encoding.Length;
|
|
asn1Object = asn1InputStream.ReadObject();
|
|
if (asn1Object != 0)
|
|
{
|
|
long length2 = memoryStream.Length;
|
|
bool canWrite = memoryStream.CanWrite;
|
|
if (length2 == (canWrite ? 1L : 0L) && Arrays.AreEqual(asn1Object.GetEncoded("DER"), encoding))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return asn1Object;
|
|
}
|
|
|
|
// Token: 0x060094A0 RID: 38048 RVA: 0x0020DE10 File Offset: 0x0020C010
|
|
[Token(Token = "0x60094A0")]
|
|
[Address(RVA = "0x1E12BC0", Offset = "0x1E115C0", VA = "0x181E12BC0")]
|
|
public static void WriteGmtUnixTime(byte[] buf, int offset)
|
|
{
|
|
long num = DateTimeUtilities.CurrentUnixMs();
|
|
ulong num2;
|
|
num2 += num2;
|
|
int num3 = offset + 1;
|
|
}
|
|
|
|
// Token: 0x060094A1 RID: 38049 RVA: 0x0020DE34 File Offset: 0x0020C034
|
|
[Token(Token = "0x60094A1")]
|
|
[Address(RVA = "0x1E13E10", Offset = "0x1E12810", VA = "0x181E13E10")]
|
|
public static void WriteVersion(ProtocolVersion version, Stream output)
|
|
{
|
|
int majorVersion = version.MajorVersion;
|
|
int minorVersion = version.MinorVersion;
|
|
bool canRead = output.CanRead;
|
|
}
|
|
|
|
// Token: 0x060094A2 RID: 38050 RVA: 0x0020DE5C File Offset: 0x0020C05C
|
|
[Token(Token = "0x60094A2")]
|
|
[Address(RVA = "0x1E13D90", Offset = "0x1E12790", VA = "0x181E13D90")]
|
|
public static void WriteVersion(ProtocolVersion version, byte[] buf, int offset)
|
|
{
|
|
int majorVersion = version.MajorVersion;
|
|
int minorVersion = version.MinorVersion;
|
|
}
|
|
|
|
// Token: 0x060094A3 RID: 38051 RVA: 0x0020DE80 File Offset: 0x0020C080
|
|
[Token(Token = "0x60094A3")]
|
|
[Address(RVA = "0x1E0E270", Offset = "0x1E0CC70", VA = "0x181E0E270")]
|
|
public static IList GetAllSignatureAlgorithms()
|
|
{
|
|
return Platform.CreateArrayList(4);
|
|
}
|
|
|
|
// Token: 0x060094A4 RID: 38052 RVA: 0x0020DE9C File Offset: 0x0020C09C
|
|
[Token(Token = "0x60094A4")]
|
|
[Address(RVA = "0x1E0E740", Offset = "0x1E0D140", VA = "0x181E0E740")]
|
|
public static IList GetDefaultDssSignatureAlgorithms()
|
|
{
|
|
SignatureAndHashAlgorithm signatureAndHashAlgorithm;
|
|
return TlsUtilities.VectorOfOne(signatureAndHashAlgorithm);
|
|
}
|
|
|
|
// Token: 0x060094A5 RID: 38053 RVA: 0x0020DEB0 File Offset: 0x0020C0B0
|
|
[Token(Token = "0x60094A5")]
|
|
[Address(RVA = "0x1E0E7B0", Offset = "0x1E0D1B0", VA = "0x181E0E7B0")]
|
|
public static IList GetDefaultECDsaSignatureAlgorithms()
|
|
{
|
|
SignatureAndHashAlgorithm signatureAndHashAlgorithm;
|
|
return TlsUtilities.VectorOfOne(signatureAndHashAlgorithm);
|
|
}
|
|
|
|
// Token: 0x060094A6 RID: 38054 RVA: 0x0020DEC4 File Offset: 0x0020C0C4
|
|
[Token(Token = "0x60094A6")]
|
|
[Address(RVA = "0x1E0E820", Offset = "0x1E0D220", VA = "0x181E0E820")]
|
|
public static IList GetDefaultRsaSignatureAlgorithms()
|
|
{
|
|
SignatureAndHashAlgorithm signatureAndHashAlgorithm;
|
|
return TlsUtilities.VectorOfOne(signatureAndHashAlgorithm);
|
|
}
|
|
|
|
// Token: 0x060094A7 RID: 38055 RVA: 0x0020DED8 File Offset: 0x0020C0D8
|
|
[Token(Token = "0x60094A7")]
|
|
[Address(RVA = "0x1E0EDE0", Offset = "0x1E0D7E0", VA = "0x181E0EDE0")]
|
|
public static byte[] GetExtensionData(IDictionary extensions, int extensionType)
|
|
{
|
|
while (extensions != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x060094A8 RID: 38056 RVA: 0x0020DEEC File Offset: 0x0020C0EC
|
|
[Token(Token = "0x60094A8")]
|
|
[Address(RVA = "0x1E0E890", Offset = "0x1E0D290", VA = "0x181E0E890")]
|
|
public static IList GetDefaultSupportedSignatureAlgorithms()
|
|
{
|
|
byte[] array = new byte[5];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.79D1A3D3B708EBFF6FA27AAF280AC9B637B4FF31).FieldHandle);
|
|
byte[] array2 = new byte[3];
|
|
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.7037807198C22A7D2B0807371D763779A84FDFCF).FieldHandle);
|
|
IList list = Platform.CreateArrayList();
|
|
int num = 0;
|
|
int num2 = 0;
|
|
if (num2 < array2.Length)
|
|
{
|
|
int num3 = 0;
|
|
if (num3 < array.Length)
|
|
{
|
|
byte b;
|
|
byte b2;
|
|
SignatureAndHashAlgorithm signatureAndHashAlgorithm = new SignatureAndHashAlgorithm(b, b2);
|
|
num3++;
|
|
}
|
|
num++;
|
|
}
|
|
return list;
|
|
}
|
|
|
|
// Token: 0x060094A9 RID: 38057 RVA: 0x0020DF64 File Offset: 0x0020C164
|
|
[Token(Token = "0x60094A9")]
|
|
[Address(RVA = "0x1E0F980", Offset = "0x1E0E380", VA = "0x181E0F980")]
|
|
public static SignatureAndHashAlgorithm GetSignatureAndHashAlgorithm(TlsContext context, TlsSignerCredentials signerCredentials)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094A9)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetSignatureAndHashAlgorithm(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSignerCredentials)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1F:
|
|
stloc:TlsFatalAlert(var_3_26, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_4)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094AA RID: 38058 RVA: 0x0020DF98 File Offset: 0x0020C198
|
|
[Token(Token = "0x60094AA")]
|
|
[Address(RVA = "0x1E101E0", Offset = "0x1E0EBE0", VA = "0x181E101E0")]
|
|
public static bool HasExpectedEmptyExtensionData(IDictionary extensions, int extensionType, byte alertDescription)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094AA)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::HasExpectedEmptyExtensionData(System.Collections.IDictionary,System.Int32,System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_17:
|
|
stloc:TlsFatalAlert(var_1_1D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094AB RID: 38059 RVA: 0x0020DFC4 File Offset: 0x0020C1C4
|
|
[Token(Token = "0x60094AB")]
|
|
[Address(RVA = "0x1E102C0", Offset = "0x1E0ECC0", VA = "0x181E102C0")]
|
|
public static TlsSession ImportSession(byte[] sessionID, SessionParameters sessionParameters)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094AB)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSession BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ImportSession(System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SessionParameters)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:TlsSessionImpl(var_0_07, newobj:TlsSessionImpl(TlsSessionImpl::.ctor, ldloc:uint8[](sessionID), ldloc:SessionParameters(sessionParameters)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094AC RID: 38060 RVA: 0x0020DFD8 File Offset: 0x0020C1D8
|
|
[Token(Token = "0x60094AC")]
|
|
[Address(RVA = "0x1E103F0", Offset = "0x1E0EDF0", VA = "0x181E103F0")]
|
|
public static bool IsSignatureAlgorithmsExtensionAllowed(ProtocolVersion clientVersion)
|
|
{
|
|
ProtocolVersion tlsv = ProtocolVersion.TLSv12;
|
|
ProtocolVersion equivalentTLSVersion = clientVersion.GetEquivalentTLSVersion();
|
|
return tlsv.IsEqualOrEarlierVersionOf(equivalentTLSVersion);
|
|
}
|
|
|
|
// Token: 0x060094AD RID: 38061 RVA: 0x0020E000 File Offset: 0x0020C200
|
|
[Token(Token = "0x60094AD")]
|
|
[Address(RVA = "0x1E0BE20", Offset = "0x1E0A820", VA = "0x181E0BE20")]
|
|
public static void AddSignatureAlgorithmsExtension(IDictionary extensions, IList supportedSignatureAlgorithms)
|
|
{
|
|
MemoryStream memoryStream = new MemoryStream();
|
|
int num = 0;
|
|
TlsUtilities.EncodeSupportedSignatureAlgorithms(supportedSignatureAlgorithms, num != 0, memoryStream);
|
|
}
|
|
|
|
// Token: 0x060094AE RID: 38062 RVA: 0x0020E024 File Offset: 0x0020C224
|
|
[Token(Token = "0x60094AE")]
|
|
[Address(RVA = "0x1E0F8F0", Offset = "0x1E0E2F0", VA = "0x181E0F8F0")]
|
|
public static IList GetSignatureAlgorithmsExtension(IDictionary extensions)
|
|
{
|
|
byte[] extensionData = TlsUtilities.GetExtensionData(extensions, 13);
|
|
if (extensionData == 0)
|
|
{
|
|
}
|
|
return TlsUtilities.ReadSignatureAlgorithmsExtension(extensionData);
|
|
}
|
|
|
|
// Token: 0x060094AF RID: 38063 RVA: 0x0020E044 File Offset: 0x0020C244
|
|
[Token(Token = "0x60094AF")]
|
|
[Address(RVA = "0x1E0D670", Offset = "0x1E0C070", VA = "0x181E0D670")]
|
|
public static byte[] CreateSignatureAlgorithmsExtension(IList supportedSignatureAlgorithms)
|
|
{
|
|
MemoryStream memoryStream = new MemoryStream();
|
|
int num = 0;
|
|
TlsUtilities.EncodeSupportedSignatureAlgorithms(supportedSignatureAlgorithms, num != 0, memoryStream);
|
|
((IDisposable)memoryStream).Dispose();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094B0 RID: 38064 RVA: 0x0020E06C File Offset: 0x0020C26C
|
|
[Token(Token = "0x60094B0")]
|
|
[Address(RVA = "0x1E118E0", Offset = "0x1E102E0", VA = "0x181E118E0")]
|
|
public static IList ReadSignatureAlgorithmsExtension(byte[] extensionData)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094B0)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ReadSignatureAlgorithmsExtension(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_4A:
|
|
stloc:ArgumentNullException(var_7_54, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("extensionData")))
|
|
stloc:TlsFatalAlert(var_8_5D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_9)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094B1 RID: 38065 RVA: 0x0020E0D8 File Offset: 0x0020C2D8
|
|
[Token(Token = "0x60094B1")]
|
|
[Address(RVA = "0x1E0DAE0", Offset = "0x1E0C4E0", VA = "0x181E0DAE0")]
|
|
public static void EncodeSupportedSignatureAlgorithms(IList supportedSignatureAlgorithms, bool allowAnonymous, Stream output)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094B1)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::EncodeSupportedSignatureAlgorithms(System.Collections.IList,System.Boolean,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_30:
|
|
stloc:ArgumentException(var_2_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length from 1 to (2^15 - 1)"), ldstr:string("supportedSignatureAlgorithms")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094B2 RID: 38066 RVA: 0x0020E124 File Offset: 0x0020C324
|
|
[Token(Token = "0x60094B2")]
|
|
[Address(RVA = "0x1E11060", Offset = "0x1E0FA60", VA = "0x181E11060")]
|
|
public static IList ParseSupportedSignatureAlgorithms(bool allowAnonymous, Stream input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094B2)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ParseSupportedSignatureAlgorithms(System.Boolean,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_39:
|
|
stloc:TlsFatalAlert(var_6_40, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_7)))
|
|
stloc:TlsFatalAlert(var_8_49, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_9)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094B3 RID: 38067 RVA: 0x0020E17C File Offset: 0x0020C37C
|
|
[Token(Token = "0x60094B3")]
|
|
[Address(RVA = "0x1E128C0", Offset = "0x1E112C0", VA = "0x181E128C0")]
|
|
public static void VerifySupportedSignatureAlgorithm(IList supportedSignatureAlgorithms, SignatureAndHashAlgorithm signatureAlgorithm)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094B3)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::VerifySupportedSignatureAlgorithm(System.Collections.IList,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_5F:
|
|
stloc:ArgumentNullException(var_5_69, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("signatureAlgorithm")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094B4 RID: 38068 RVA: 0x0020E1F4 File Offset: 0x0020C3F4
|
|
[Token(Token = "0x60094B4")]
|
|
[Address(RVA = "0x1E10E50", Offset = "0x1E0F850", VA = "0x181E10E50")]
|
|
public static byte[] PRF(TlsContext context, byte[] secret, string asciiLabel, byte[] seed, int size)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094B4)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::PRF(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.Byte[],System.String,System.Byte[],System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_3C:
|
|
stloc:InvalidOperationException(var_8_46, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("No PRF available for SSLv3 session")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094B5 RID: 38069 RVA: 0x0020E248 File Offset: 0x0020C448
|
|
[Token(Token = "0x60094B5")]
|
|
[Address(RVA = "0x1E10BF0", Offset = "0x1E0F5F0", VA = "0x181E10BF0")]
|
|
public static byte[] PRF_legacy(byte[] secret, string asciiLabel, byte[] seed, int size)
|
|
{
|
|
byte[] array = Strings.ToByteArray(asciiLabel);
|
|
byte[] array2 = TlsUtilities.Concat(array, seed);
|
|
return TlsUtilities.PRF_legacy(secret, array, array2, size);
|
|
}
|
|
|
|
// Token: 0x060094B6 RID: 38070 RVA: 0x0020E270 File Offset: 0x0020C470
|
|
[Token(Token = "0x60094B6")]
|
|
[Address(RVA = "0x1E10CA0", Offset = "0x1E0F6A0", VA = "0x181E10CA0")]
|
|
internal static byte[] PRF_legacy(byte[] secret, byte[] label, byte[] labelSeed, int size)
|
|
{
|
|
int num = secret.Length;
|
|
num++;
|
|
num -= label;
|
|
byte[] array = new byte[num];
|
|
byte[] array2 = new byte[num];
|
|
int num2 = 0;
|
|
int num3 = 0;
|
|
int num4 = 0;
|
|
Array.Copy(secret, num4, array, num3, num);
|
|
int num5 = secret.Length;
|
|
int num6 = 0;
|
|
num5 -= num;
|
|
Array.Copy(secret, num5, array2, num6, num);
|
|
byte[] array3 = new byte[size];
|
|
byte[] array4 = new byte[size];
|
|
ulong num7;
|
|
TlsUtilities.HMacHash(TlsUtilities.CreateHash((byte)num7), array, labelSeed, array3);
|
|
ulong num8;
|
|
TlsUtilities.HMacHash(TlsUtilities.CreateHash((byte)num8), array2, labelSeed, array4);
|
|
if (size > 0)
|
|
{
|
|
num2++;
|
|
}
|
|
return array3;
|
|
}
|
|
|
|
// Token: 0x060094B7 RID: 38071 RVA: 0x0020E314 File Offset: 0x0020C514
|
|
[Token(Token = "0x60094B7")]
|
|
[Address(RVA = "0x1E0D340", Offset = "0x1E0BD40", VA = "0x181E0D340")]
|
|
internal static byte[] Concat(byte[] a, byte[] b)
|
|
{
|
|
byte[] array = new byte[a.Length];
|
|
int length = a.Length;
|
|
int num = 0;
|
|
int num2 = 0;
|
|
Array.Copy(a, num2, array, num, length);
|
|
int length2 = b.Length;
|
|
int length3 = a.Length;
|
|
int num3 = 0;
|
|
Array.Copy(b, num3, array, length3, length2);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x060094B8 RID: 38072 RVA: 0x0020E36C File Offset: 0x0020C56C
|
|
[Token(Token = "0x60094B8")]
|
|
[Address(RVA = "0x1E0FF70", Offset = "0x1E0E970", VA = "0x181E0FF70")]
|
|
internal static void HMacHash(IDigest digest, byte[] secret, byte[] seed, byte[] output)
|
|
{
|
|
HMac hmac = new HMac(digest);
|
|
KeyParameter keyParameter = new KeyParameter(secret);
|
|
IDigest underlyingDigest = hmac.GetUnderlyingDigest();
|
|
int num = output.Length;
|
|
num += underlyingDigest;
|
|
byte[] array = new byte[num];
|
|
byte[] array2 = new byte[array];
|
|
int num2 = 0;
|
|
if (num > 0)
|
|
{
|
|
int num3 = 0;
|
|
hmac.Update(seed);
|
|
hmac.Update(array);
|
|
hmac.Update(seed);
|
|
int num4 = output.Length;
|
|
num4 -= num3;
|
|
int num5 = 0;
|
|
int num6;
|
|
Array.Copy(array2, num5, output, num3, num6);
|
|
num2++;
|
|
num3 += underlyingDigest;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060094B9 RID: 38073 RVA: 0x0020E3FC File Offset: 0x0020C5FC
|
|
[Token(Token = "0x60094B9")]
|
|
[Address(RVA = "0x1E12710", Offset = "0x1E11110", VA = "0x181E12710")]
|
|
internal static void ValidateKeyUsage(X509CertificateStructure c, int keyUsageBits)
|
|
{
|
|
X509Extension extension;
|
|
do
|
|
{
|
|
X509Extensions extensions = c.tbsCert.extensions;
|
|
if (extensions == 0)
|
|
{
|
|
break;
|
|
}
|
|
DerObjectIdentifier keyUsage = X509Extensions.KeyUsage;
|
|
extension = extensions.GetExtension(keyUsage);
|
|
}
|
|
while (extension != 0 && (int)KeyUsage.GetInstance(extension).GetOctets()[0] != keyUsageBits);
|
|
}
|
|
|
|
// Token: 0x060094BA RID: 38074 RVA: 0x0020E448 File Offset: 0x0020C648
|
|
[Token(Token = "0x60094BA")]
|
|
[Address(RVA = "0x1E0C220", Offset = "0x1E0AC20", VA = "0x181E0C220")]
|
|
internal static byte[] CalculateKeyBlock(TlsContext context, int size)
|
|
{
|
|
bool flag;
|
|
if (!flag)
|
|
{
|
|
byte[] array;
|
|
return array;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094BB RID: 38075 RVA: 0x0020E460 File Offset: 0x0020C660
|
|
[Token(Token = "0x60094BB")]
|
|
[Address(RVA = "0x1E0BF50", Offset = "0x1E0A950", VA = "0x181E0BF50")]
|
|
internal static byte[] CalculateKeyBlock_Ssl(byte[] master_secret, byte[] random, int size)
|
|
{
|
|
ulong num;
|
|
IDigest digest = TlsUtilities.CreateHash((byte)num);
|
|
ulong num2;
|
|
IDigest digest2 = TlsUtilities.CreateHash((byte)num2);
|
|
byte[] array = new byte[digest2];
|
|
byte[] array2 = new byte[digest2];
|
|
int num3 = 0;
|
|
if (size > 0)
|
|
{
|
|
int length = TlsUtilities.SSL3_CONST[num3].Length;
|
|
int length2 = master_secret.Length;
|
|
int length3 = random.Length;
|
|
int length4 = master_secret.Length;
|
|
int length5 = array.Length;
|
|
num3++;
|
|
}
|
|
int num4 = 0;
|
|
return Arrays.CopyOfRange(array2, num4, size);
|
|
}
|
|
|
|
// Token: 0x060094BC RID: 38076 RVA: 0x0020E4E4 File Offset: 0x0020C6E4
|
|
[Token(Token = "0x60094BC")]
|
|
[Address(RVA = "0x1E0C660", Offset = "0x1E0B060", VA = "0x181E0C660")]
|
|
internal static byte[] CalculateMasterSecret(TlsContext context, byte[] pre_master_secret)
|
|
{
|
|
bool flag;
|
|
if (!flag)
|
|
{
|
|
if (flag)
|
|
{
|
|
}
|
|
byte[] array;
|
|
ulong num;
|
|
return TlsUtilities.PRF(context, pre_master_secret, "master secret", array, (int)num);
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094BD RID: 38077 RVA: 0x0020E510 File Offset: 0x0020C710
|
|
[Token(Token = "0x60094BD")]
|
|
[Address(RVA = "0x1E0C3D0", Offset = "0x1E0ADD0", VA = "0x181E0C3D0")]
|
|
internal static byte[] CalculateMasterSecret_Ssl(byte[] pre_master_secret, byte[] random)
|
|
{
|
|
ulong num;
|
|
IDigest digest = TlsUtilities.CreateHash((byte)num);
|
|
ulong num2;
|
|
IDigest digest2 = TlsUtilities.CreateHash((byte)num2);
|
|
byte[] array = new byte[digest2];
|
|
byte[] array2 = new byte[digest2];
|
|
int num3 = 0;
|
|
int length = TlsUtilities.SSL3_CONST[num3].Length;
|
|
int length2 = pre_master_secret.Length;
|
|
int length3 = random.Length;
|
|
int length4 = pre_master_secret.Length;
|
|
int length5 = array.Length;
|
|
num3++;
|
|
return array2;
|
|
}
|
|
|
|
// Token: 0x060094BE RID: 38078 RVA: 0x0020E584 File Offset: 0x0020C784
|
|
[Token(Token = "0x60094BE")]
|
|
[Address(RVA = "0x1E0C890", Offset = "0x1E0B290", VA = "0x181E0C890")]
|
|
internal static byte[] CalculateVerifyData(TlsContext context, string asciiLabel, byte[] handshakeHash)
|
|
{
|
|
bool flag;
|
|
if (!flag)
|
|
{
|
|
byte[] array;
|
|
return array;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094BF RID: 38079 RVA: 0x0020E5A0 File Offset: 0x0020C7A0
|
|
[Token(Token = "0x60094BF")]
|
|
[Address(RVA = "0x1E0D3F0", Offset = "0x1E0BDF0", VA = "0x181E0D3F0")]
|
|
public static IDigest CreateHash(byte hashAlgorithm)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094BF)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CreateHash(System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:MD5Digest(var_0_05, newobj:MD5Digest(MD5Digest::.ctor))
|
|
stloc:Sha1Digest(var_1_0B, newobj:Sha1Digest(Sha1Digest::.ctor))
|
|
stloc:Sha224Digest(var_2_11, newobj:Sha224Digest(Sha224Digest::.ctor))
|
|
stloc:Sha256Digest(var_3_17, newobj:Sha256Digest(Sha256Digest::.ctor))
|
|
stloc:Sha384Digest(var_4_1D, newobj:Sha384Digest(Sha384Digest::.ctor))
|
|
stloc:Sha512Digest(var_5_24, newobj:Sha512Digest(Sha512Digest::.ctor))
|
|
stloc:ArgumentException(var_6_35, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown HashAlgorithm"), ldstr:string("hashAlgorithm")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094C0 RID: 38080 RVA: 0x0020E5E4 File Offset: 0x0020C7E4
|
|
[Token(Token = "0x60094C0")]
|
|
[Address(RVA = "0x1E0D560", Offset = "0x1E0BF60", VA = "0x181E0D560")]
|
|
public static IDigest CreateHash(SignatureAndHashAlgorithm signatureAndHashAlgorithm)
|
|
{
|
|
if (signatureAndHashAlgorithm == 0)
|
|
{
|
|
CombinedHash combinedHash = new CombinedHash();
|
|
}
|
|
string text = signatureAndHashAlgorithm.ToString();
|
|
IDigest digest;
|
|
return digest;
|
|
}
|
|
|
|
// Token: 0x060094C1 RID: 38081 RVA: 0x0020E604 File Offset: 0x0020C804
|
|
[Token(Token = "0x60094C1")]
|
|
[Address(RVA = "0x1E0CE60", Offset = "0x1E0B860", VA = "0x181E0CE60")]
|
|
public static IDigest CloneHash(byte hashAlgorithm, IDigest hash)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094C1)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CloneHash(System.Byte,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:MD5Digest(var_0, newobj:MD5Digest(MD5Digest::.ctor, ldloc:MD5Digest(var_0)))
|
|
stloc:Sha1Digest(var_1, newobj:Sha1Digest(Sha1Digest::.ctor, ldloc:Sha1Digest(var_1)))
|
|
stloc:Sha224Digest(var_2, newobj:Sha224Digest(Sha224Digest::.ctor, ldloc:Sha224Digest(var_2)))
|
|
stloc:Sha256Digest(var_3, newobj:Sha256Digest(Sha256Digest::.ctor, ldloc:Sha256Digest(var_3)))
|
|
stloc:Sha384Digest(var_4, newobj:Sha384Digest(Sha384Digest::.ctor, ldloc:Sha384Digest(var_4)))
|
|
stloc:Sha512Digest(var_5, newobj:Sha512Digest(Sha512Digest::.ctor, ldloc:Sha512Digest(var_5)))
|
|
stloc:ArgumentException(var_6_3D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown HashAlgorithm"), ldstr:string("hashAlgorithm")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094C2 RID: 38082 RVA: 0x0020E650 File Offset: 0x0020C850
|
|
[Token(Token = "0x60094C2")]
|
|
[Address(RVA = "0x1E0D5F0", Offset = "0x1E0BFF0", VA = "0x181E0D5F0")]
|
|
public static IDigest CreatePrfHash(int prfAlgorithm)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094C2)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CreatePrfHash(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_10:
|
|
stloc:CombinedHash(var_0_15, newobj:CombinedHash(CombinedHash::.ctor))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094C3 RID: 38083 RVA: 0x0020E674 File Offset: 0x0020C874
|
|
[Token(Token = "0x60094C3")]
|
|
[Address(RVA = "0x1E0D060", Offset = "0x1E0BA60", VA = "0x181E0D060")]
|
|
public static IDigest ClonePrfHash(int prfAlgorithm, IDigest hash)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094C3)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::ClonePrfHash(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_4E:
|
|
stloc:ArgumentException(var_11_60, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown HashAlgorithm"), ldstr:string("hashAlgorithm")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094C4 RID: 38084 RVA: 0x0020E6E4 File Offset: 0x0020C8E4
|
|
[Token(Token = "0x60094C4")]
|
|
[Address(RVA = "0x1E0EE70", Offset = "0x1E0D870", VA = "0x181E0EE70")]
|
|
public static byte GetHashAlgorithmForPrfAlgorithm(int prfAlgorithm)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094C4)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetHashAlgorithmForPrfAlgorithm(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1C:
|
|
stloc:ArgumentException(var_3_2B, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("unknown PrfAlgorithm"), ldstr:string("prfAlgorithm")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094C5 RID: 38085 RVA: 0x0020E71C File Offset: 0x0020C91C
|
|
[Token(Token = "0x60094C5")]
|
|
[Address(RVA = "0x1E0F700", Offset = "0x1E0E100", VA = "0x181E0F700")]
|
|
public static DerObjectIdentifier GetOidForHashAlgorithm(byte hashAlgorithm)
|
|
{
|
|
return PkcsObjectIdentifiers.MD5;
|
|
}
|
|
|
|
// Token: 0x060094C6 RID: 38086 RVA: 0x0020E75C File Offset: 0x0020C95C
|
|
[Token(Token = "0x60094C6")]
|
|
[Address(RVA = "0x1E0E480", Offset = "0x1E0CE80", VA = "0x181E0E480")]
|
|
internal static short GetClientCertificateType(Certificate clientCertificate, Certificate serverCertificate)
|
|
{
|
|
if (clientCertificate.Length == 0)
|
|
{
|
|
X509CertificateStructure[] certificateList = clientCertificate.GetCertificateList();
|
|
AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(certificateList.SubjectPublicKeyInfo);
|
|
if (!asymmetricKeyParameter.privateKey)
|
|
{
|
|
if (asymmetricKeyParameter == 0)
|
|
{
|
|
if (asymmetricKeyParameter == 0)
|
|
{
|
|
if (asymmetricKeyParameter == 0)
|
|
{
|
|
goto IL_65;
|
|
}
|
|
TlsUtilities.ValidateKeyUsage(certificateList, 128);
|
|
}
|
|
TlsUtilities.ValidateKeyUsage(certificateList, 128);
|
|
}
|
|
TlsUtilities.ValidateKeyUsage(certificateList, 128);
|
|
goto IL_5F;
|
|
}
|
|
IL_65:
|
|
throw new NullReferenceException();
|
|
}
|
|
IL_5F:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094C7 RID: 38087 RVA: 0x0020E7D8 File Offset: 0x0020C9D8
|
|
[Token(Token = "0x60094C7")]
|
|
[Address(RVA = "0x1E12490", Offset = "0x1E10E90", VA = "0x181E12490")]
|
|
internal static void TrackHashAlgorithms(TlsHandshakeHash handshakeHash, IList supportedSignatureAlgorithms)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (supportedSignatureAlgorithms == 0)
|
|
{
|
|
break;
|
|
}
|
|
num += num;
|
|
num++;
|
|
num++;
|
|
num += 19;
|
|
ulong num2;
|
|
num = (int)((ulong)num + num2);
|
|
if (num == 0 || num == 0)
|
|
{
|
|
goto IL_48;
|
|
}
|
|
string text = num.ToString();
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
if (flag)
|
|
{
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_48:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094C8 RID: 38088 RVA: 0x0020E838 File Offset: 0x0020CA38
|
|
[Token(Token = "0x60094C8")]
|
|
[Address(RVA = "0x1E102A0", Offset = "0x1E0ECA0", VA = "0x181E102A0")]
|
|
public static bool HasSigningCapability(byte clientCertificateType)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060094C9 RID: 38089 RVA: 0x0020E848 File Offset: 0x0020CA48
|
|
[Token(Token = "0x60094C9")]
|
|
[Address(RVA = "0x1E0D710", Offset = "0x1E0C110", VA = "0x181E0D710")]
|
|
public static TlsSigner CreateTlsSigner(byte clientCertificateType)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094C9)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSigner BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::CreateTlsSigner(System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_17:
|
|
stloc:ArgumentException(var_2_26, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not a type with signing capability"), ldstr:string("clientCertificateType")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094CA RID: 38090 RVA: 0x0020E87C File Offset: 0x0020CA7C
|
|
[Token(Token = "0x60094CA")]
|
|
[Address(RVA = "0x1E0E180", Offset = "0x1E0CB80", VA = "0x181E0E180")]
|
|
private static byte[][] GenSsl3Const()
|
|
{
|
|
byte[][] array = new byte[10][];
|
|
byte[] array2 = new byte[0];
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
|
|
// Token: 0x060094CB RID: 38091 RVA: 0x0020E8B0 File Offset: 0x0020CAB0
|
|
[Token(Token = "0x60094CB")]
|
|
[Address(RVA = "0x1E12830", Offset = "0x1E11230", VA = "0x181E12830")]
|
|
private static IList VectorOfOne(object obj)
|
|
{
|
|
return Platform.CreateArrayList(1);
|
|
}
|
|
|
|
// Token: 0x060094CC RID: 38092 RVA: 0x0020E8CC File Offset: 0x0020CACC
|
|
[Token(Token = "0x60094CC")]
|
|
[Address(RVA = "0x1E0E390", Offset = "0x1E0CD90", VA = "0x181E0E390")]
|
|
public static int GetCipherType(int ciphersuite)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094CC)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetCipherType(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_19:
|
|
stloc:TlsFatalAlert(var_4_20, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094CD RID: 38093 RVA: 0x0020E8FC File Offset: 0x0020CAFC
|
|
[Token(Token = "0x60094CD")]
|
|
[Address(RVA = "0x1E0EA20", Offset = "0x1E0D420", VA = "0x181E0EA20")]
|
|
public static int GetEncryptionAlgorithm(int ciphersuite)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094CD)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetEncryptionAlgorithm(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_21:
|
|
stloc:TlsFatalAlert(var_18_28, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_19)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094CE RID: 38094 RVA: 0x0020E934 File Offset: 0x0020CB34
|
|
[Token(Token = "0x60094CE")]
|
|
[Address(RVA = "0x1E0EF30", Offset = "0x1E0D930", VA = "0x181E0EF30")]
|
|
public static int GetKeyExchangeAlgorithm(int ciphersuite)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094CE)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetKeyExchangeAlgorithm(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_23:
|
|
stloc:TlsFatalAlert(var_19_2A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_20)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094CF RID: 38095 RVA: 0x0020E96C File Offset: 0x0020CB6C
|
|
[Token(Token = "0x60094CF")]
|
|
[Address(RVA = "0x1E0F340", Offset = "0x1E0DD40", VA = "0x181E0F340")]
|
|
public static int GetMacAlgorithm(int ciphersuite)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060094CF)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsUtilities::GetMacAlgorithm(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1C:
|
|
stloc:TlsFatalAlert(var_4_23, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060094D0 RID: 38096 RVA: 0x0020E9A0 File Offset: 0x0020CBA0
|
|
[Token(Token = "0x60094D0")]
|
|
[Address(RVA = "0x1E0F5E0", Offset = "0x1E0DFE0", VA = "0x181E0F5E0")]
|
|
public static ProtocolVersion GetMinimumVersion(int ciphersuite)
|
|
{
|
|
if (ciphersuite > 49202 && ciphersuite > 49327)
|
|
{
|
|
return ProtocolVersion.TLSv12;
|
|
}
|
|
if (ciphersuite > 109)
|
|
{
|
|
}
|
|
return ProtocolVersion.SSLv3;
|
|
}
|
|
|
|
// Token: 0x060094D1 RID: 38097 RVA: 0x0020E9D0 File Offset: 0x0020CBD0
|
|
[Token(Token = "0x60094D1")]
|
|
[Address(RVA = "0x1E10330", Offset = "0x1E0ED30", VA = "0x181E10330")]
|
|
public static bool IsAeadCipherSuite(int ciphersuite)
|
|
{
|
|
return TlsUtilities.GetCipherType(ciphersuite) == 2;
|
|
}
|
|
|
|
// Token: 0x060094D2 RID: 38098 RVA: 0x0020E9E8 File Offset: 0x0020CBE8
|
|
[Token(Token = "0x60094D2")]
|
|
[Address(RVA = "0x1E10390", Offset = "0x1E0ED90", VA = "0x181E10390")]
|
|
public static bool IsBlockCipherSuite(int ciphersuite)
|
|
{
|
|
return TlsUtilities.GetCipherType(ciphersuite) == 1;
|
|
}
|
|
|
|
// Token: 0x060094D3 RID: 38099 RVA: 0x0020EA00 File Offset: 0x0020CC00
|
|
[Token(Token = "0x60094D3")]
|
|
[Address(RVA = "0x1E104E0", Offset = "0x1E0EEE0", VA = "0x181E104E0")]
|
|
public static bool IsStreamCipherSuite(int ciphersuite)
|
|
{
|
|
return TlsUtilities.GetCipherType(ciphersuite) == 0;
|
|
}
|
|
|
|
// Token: 0x060094D4 RID: 38100 RVA: 0x0020EA18 File Offset: 0x0020CC18
|
|
[Token(Token = "0x60094D4")]
|
|
[Address(RVA = "0x1E10840", Offset = "0x1E0F240", VA = "0x181E10840")]
|
|
public static bool IsValidCipherSuiteForSignatureAlgorithms(int cipherSuite, IList sigAlgs)
|
|
{
|
|
int num = TlsUtilities.GetKeyExchangeAlgorithm(cipherSuite);
|
|
num += -3;
|
|
if (num <= 20)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094D5 RID: 38101 RVA: 0x0020EA3C File Offset: 0x0020CC3C
|
|
[Token(Token = "0x60094D5")]
|
|
[Address(RVA = "0x1E109C0", Offset = "0x1E0F3C0", VA = "0x181E109C0")]
|
|
public static bool IsValidCipherSuiteForVersion(int cipherSuite, ProtocolVersion serverVersion)
|
|
{
|
|
if (cipherSuite > 49202 && cipherSuite > 49327)
|
|
{
|
|
ProtocolVersion sslv = ProtocolVersion.SSLv3;
|
|
ProtocolVersion equivalentTLSVersion = serverVersion.GetEquivalentTLSVersion();
|
|
return sslv.IsEqualOrEarlierVersionOf(equivalentTLSVersion);
|
|
}
|
|
if (cipherSuite > 109)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094D6 RID: 38102 RVA: 0x0020EA78 File Offset: 0x0020CC78
|
|
[Token(Token = "0x60094D6")]
|
|
[Address(RVA = "0x1E0FAB0", Offset = "0x1E0E4B0", VA = "0x181E0FAB0")]
|
|
public static IList GetUsableSignatureAlgorithms(IList sigHashAlgs)
|
|
{
|
|
int num;
|
|
IList list;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (sigHashAlgs == 0)
|
|
{
|
|
goto IL_5B;
|
|
}
|
|
list = Platform.CreateArrayList(4);
|
|
byte b;
|
|
if (num < (int)b)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
num++;
|
|
num += 19;
|
|
ulong num2;
|
|
num = (int)((ulong)num + num2);
|
|
if (num == 0 || num == 0)
|
|
{
|
|
goto IL_68;
|
|
}
|
|
if (num < num)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
while (num != 0)
|
|
{
|
|
}
|
|
num += 3;
|
|
num += 19;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
if (num != -1)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return list;
|
|
IL_5B:
|
|
return Platform.CreateArrayList(4);
|
|
IL_68:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060094D7 RID: 38103 RVA: 0x0020EAF8 File Offset: 0x0020CCF8
|
|
[Token(Token = "0x60094D7")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
protected TlsUtilities()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060094D8 RID: 38104 RVA: 0x0020EB0C File Offset: 0x0020CD0C
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x60094D8")]
|
|
[Address(RVA = "0x1E13E80", Offset = "0x1E12880", VA = "0x181E13E80")]
|
|
static TlsUtilities()
|
|
{
|
|
byte[] array = new byte[4];
|
|
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.31D8729F7377B44017C0A2395A582C9CA4163277).FieldHandle);
|
|
TlsUtilities.SSL_CLIENT = array;
|
|
byte[] array2 = new byte[4];
|
|
RuntimeHelpers.InitializeArray(array2, fieldof(<PrivateImplementationDetails>.1397D288BDA63B8D4B5F30CFFB9FF5A965AA7A1C).FieldHandle);
|
|
TlsUtilities.SSL_SERVER = array2;
|
|
byte[][] array3 = new byte[10][];
|
|
byte[] array4 = new byte[0];
|
|
throw new ArrayTypeMismatchException();
|
|
}
|
|
|
|
// Token: 0x04006249 RID: 25161
|
|
[Token(Token = "0x4006249")]
|
|
public static readonly byte[] EmptyBytes = new byte[0];
|
|
|
|
// Token: 0x0400624A RID: 25162
|
|
[Token(Token = "0x400624A")]
|
|
public static readonly short[] EmptyShorts = new short[0];
|
|
|
|
// Token: 0x0400624B RID: 25163
|
|
[Token(Token = "0x400624B")]
|
|
public static readonly int[] EmptyInts = new int[0];
|
|
|
|
// Token: 0x0400624C RID: 25164
|
|
[Token(Token = "0x400624C")]
|
|
public static readonly long[] EmptyLongs = new long[0];
|
|
|
|
// Token: 0x0400624D RID: 25165
|
|
[Token(Token = "0x400624D")]
|
|
internal static readonly byte[] SSL_CLIENT;
|
|
|
|
// Token: 0x0400624E RID: 25166
|
|
[Token(Token = "0x400624E")]
|
|
internal static readonly byte[] SSL_SERVER;
|
|
|
|
// Token: 0x0400624F RID: 25167
|
|
[Token(Token = "0x400624F")]
|
|
internal static readonly byte[][] SSL3_CONST;
|
|
}
|
|
}
|