using System; using System.Collections; using System.Runtime.InteropServices; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x0200153B RID: 5435 [Token(Token = "0x200153B")] [StructLayout(3)] public class DefaultTlsDHVerifier : TlsDHVerifier { // Token: 0x060090A2 RID: 37026 RVA: 0x00200C34 File Offset: 0x001FEE34 [Token(Token = "0x60090A2")] [Address(RVA = "0x1E7ABE0", Offset = "0x1E795E0", VA = "0x181E7ABE0")] private static void AddDefaultGroup(DHParameters dhParameters) { IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups; throw new NullReferenceException(); } // Token: 0x060090A3 RID: 37027 RVA: 0x00200C4C File Offset: 0x001FEE4C [Token(Token = "0x60090A3")] [Address(RVA = "0x1E7AF80", Offset = "0x1E79980", VA = "0x181E7AF80")] static DefaultTlsDHVerifier() { DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe2048); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe3072); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe4096); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe6144); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe8192); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_1536); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_2048); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_3072); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_4096); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_6144); DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_8192); } // Token: 0x060090A4 RID: 37028 RVA: 0x00200CD4 File Offset: 0x001FEED4 [Token(Token = "0x60090A4")] [Address(RVA = "0x1E7B1D0", Offset = "0x1E79BD0", VA = "0x181E7B1D0")] public DefaultTlsDHVerifier() { int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits; IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups; base..ctor(); this.mGroups = defaultGroups; this.mMinimumPrimeBits = defaultMinimumPrimeBits; } // Token: 0x060090A5 RID: 37029 RVA: 0x00200D04 File Offset: 0x001FEF04 [Token(Token = "0x60090A5")] [Address(RVA = "0x1E7B140", Offset = "0x1E79B40", VA = "0x181E7B140")] public DefaultTlsDHVerifier(int minimumPrimeBits) { IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups; base..ctor(); this.mGroups = defaultGroups; this.mMinimumPrimeBits = minimumPrimeBits; } // Token: 0x060090A6 RID: 37030 RVA: 0x00200D2C File Offset: 0x001FEF2C [Token(Token = "0x60090A6")] [Address(RVA = "0x67E170", Offset = "0x67CB70", VA = "0x18067E170")] public DefaultTlsDHVerifier(IList groups, int minimumPrimeBits) { this.mGroups = groups; this.mMinimumPrimeBits = minimumPrimeBits; } // Token: 0x060090A7 RID: 37031 RVA: 0x00200D50 File Offset: 0x001FEF50 [Token(Token = "0x60090A7")] [Address(RVA = "0x1E7AB90", Offset = "0x1E79590", VA = "0x181E7AB90", Slot = "5")] public virtual bool Accept(DHParameters dhParameters) { bool flag = this.CheckGroup(dhParameters); if (!flag) { return flag; } return ((TlsDHVerifier)this).Accept(dhParameters); } // Token: 0x17001758 RID: 5976 // (get) Token: 0x060090A8 RID: 37032 RVA: 0x00200D74 File Offset: 0x001FEF74 [Token(Token = "0x17001758")] public virtual int MinimumPrimeBits { [Token(Token = "0x60090A8")] [Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0", Slot = "6")] get { return this.mMinimumPrimeBits; } } // Token: 0x060090A9 RID: 37033 RVA: 0x00200D88 File Offset: 0x001FEF88 [Token(Token = "0x60090A9")] [Address(RVA = "0x1E7AC60", Offset = "0x1E79660", VA = "0x181E7AC60", Slot = "7")] protected virtual bool AreGroupsEqual(DHParameters a, DHParameters b) { if (a == b) { return true; } bool flag; if (!flag) { return flag; } return flag; } // Token: 0x060090AA RID: 37034 RVA: 0x00200DA8 File Offset: 0x001FEFA8 [Token(Token = "0x60090AA")] [Address(RVA = "0x1E7AD00", Offset = "0x1E79700", VA = "0x181E7AD00", Slot = "8")] protected virtual bool AreParametersEqual(BigInteger a, BigInteger b) { if (a == b) { return true; } throw new NullReferenceException(); } // Token: 0x060090AB RID: 37035 RVA: 0x00200DC0 File Offset: 0x001FEFC0 [Token(Token = "0x60090AB")] [Address(RVA = "0x1E7AD40", Offset = "0x1E79740", VA = "0x181E7AD40", Slot = "9")] protected virtual bool CheckGroup(DHParameters dhParameters) { for (;;) { int num = 0; IList list = this.mGroups; int minimumPrimeBits = this.MinimumPrimeBits; while (minimumPrimeBits == 0) { } if (minimumPrimeBits != 0) { } if (num != -1) { if (typeof(IDisposable).TypeHandle == (ulong)69L) { break; } if (typeof(IDisposable).TypeHandle == (ulong)67L) { goto IL_3A; } } if (num == 0) { goto IL_3A; } } return true; IL_3A: throw new NullReferenceException(); } // Token: 0x060090AC RID: 37036 RVA: 0x00200E14 File Offset: 0x001FF014 [Token(Token = "0x60090AC")] [Address(RVA = "0x1E7AF30", Offset = "0x1E79930", VA = "0x181E7AF30", Slot = "10")] protected virtual bool CheckMinimumPrimeBits(DHParameters dhParameters) { bool flag; return dhParameters.p.BitLength >= (flag ? 1 : 0); } // Token: 0x0400600A RID: 24586 [Token(Token = "0x400600A")] public static readonly int DefaultMinimumPrimeBits; // Token: 0x0400600B RID: 24587 [Token(Token = "0x400600B")] protected static readonly IList DefaultGroups = Platform.CreateArrayList(); // Token: 0x0400600C RID: 24588 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400600C")] protected readonly IList mGroups; // Token: 0x0400600D RID: 24589 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400600D")] protected readonly int mMinimumPrimeBits; } }