183 lines
5.9 KiB
C#
183 lines
5.9 KiB
C#
using System;
|
|
using System.Collections;
|
|
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: 0x02001B18 RID: 6936
|
|
[Token(Token = "0x2001B18")]
|
|
public class DefaultTlsDHVerifier : TlsDHVerifier
|
|
{
|
|
// Token: 0x0600AC7C RID: 44156 RVA: 0x002582AC File Offset: 0x002564AC
|
|
[Token(Token = "0x600AC7C")]
|
|
[Address(RVA = "0x18AE1A0", Offset = "0x18ACFA0", VA = "0x1818AE1A0")]
|
|
private static void AddDefaultGroup(DHParameters dhParameters)
|
|
{
|
|
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AC7D RID: 44157 RVA: 0x002582C4 File Offset: 0x002564C4
|
|
[Token(Token = "0x600AC7D")]
|
|
[Address(RVA = "0x18AE530", Offset = "0x18AD330", VA = "0x1818AE530")]
|
|
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: 0x0600AC7E RID: 44158 RVA: 0x0025834C File Offset: 0x0025654C
|
|
[Token(Token = "0x600AC7E")]
|
|
[Address(RVA = "0x18AE780", Offset = "0x18AD580", VA = "0x1818AE780")]
|
|
public DefaultTlsDHVerifier()
|
|
{
|
|
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
|
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
|
base..ctor();
|
|
this.mGroups = defaultGroups;
|
|
this.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
|
}
|
|
|
|
// Token: 0x0600AC7F RID: 44159 RVA: 0x0025837C File Offset: 0x0025657C
|
|
[Token(Token = "0x600AC7F")]
|
|
[Address(RVA = "0x18AE6F0", Offset = "0x18AD4F0", VA = "0x1818AE6F0")]
|
|
public DefaultTlsDHVerifier(int minimumPrimeBits)
|
|
{
|
|
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
|
base..ctor();
|
|
this.mGroups = defaultGroups;
|
|
this.mMinimumPrimeBits = minimumPrimeBits;
|
|
}
|
|
|
|
// Token: 0x0600AC80 RID: 44160 RVA: 0x002583A4 File Offset: 0x002565A4
|
|
[Token(Token = "0x600AC80")]
|
|
[Address(RVA = "0x4F34F0", Offset = "0x4F22F0", VA = "0x1804F34F0")]
|
|
public DefaultTlsDHVerifier(IList groups, int minimumPrimeBits)
|
|
{
|
|
this.mGroups = groups;
|
|
this.mMinimumPrimeBits = minimumPrimeBits;
|
|
}
|
|
|
|
// Token: 0x0600AC81 RID: 44161 RVA: 0x002583C8 File Offset: 0x002565C8
|
|
[Token(Token = "0x600AC81")]
|
|
[Address(RVA = "0x18AE150", Offset = "0x18ACF50", VA = "0x1818AE150", Slot = "5")]
|
|
public virtual bool Accept(DHParameters dhParameters)
|
|
{
|
|
bool flag = this.CheckGroup(dhParameters);
|
|
if (!flag)
|
|
{
|
|
return flag;
|
|
}
|
|
return ((TlsDHVerifier)this).Accept(dhParameters);
|
|
}
|
|
|
|
// Token: 0x17001B59 RID: 7001
|
|
// (get) Token: 0x0600AC82 RID: 44162 RVA: 0x002583EC File Offset: 0x002565EC
|
|
[Token(Token = "0x17001B59")]
|
|
public virtual int MinimumPrimeBits
|
|
{
|
|
[Token(Token = "0x600AC82")]
|
|
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720", Slot = "6")]
|
|
get
|
|
{
|
|
return this.mMinimumPrimeBits;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600AC83 RID: 44163 RVA: 0x00258400 File Offset: 0x00256600
|
|
[Token(Token = "0x600AC83")]
|
|
[Address(RVA = "0x18AE220", Offset = "0x18AD020", VA = "0x1818AE220", Slot = "7")]
|
|
protected virtual bool AreGroupsEqual(DHParameters a, DHParameters b)
|
|
{
|
|
if (a == b)
|
|
{
|
|
return true;
|
|
}
|
|
bool flag;
|
|
if (!flag)
|
|
{
|
|
return flag;
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
// Token: 0x0600AC84 RID: 44164 RVA: 0x00258420 File Offset: 0x00256620
|
|
[Token(Token = "0x600AC84")]
|
|
[Address(RVA = "0x18AE2C0", Offset = "0x18AD0C0", VA = "0x1818AE2C0", Slot = "8")]
|
|
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
|
|
{
|
|
if (a == b)
|
|
{
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AC85 RID: 44165 RVA: 0x00258438 File Offset: 0x00256638
|
|
[Token(Token = "0x600AC85")]
|
|
[Address(RVA = "0x18AE300", Offset = "0x18AD100", VA = "0x1818AE300", Slot = "9")]
|
|
protected virtual bool CheckGroup(DHParameters dhParameters)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
IList list = this.mGroups;
|
|
int minimumPrimeBits = this.MinimumPrimeBits;
|
|
while (minimumPrimeBits == 0)
|
|
{
|
|
}
|
|
if (minimumPrimeBits != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
if (num != -1)
|
|
{
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AC86 RID: 44166 RVA: 0x00258474 File Offset: 0x00256674
|
|
[Token(Token = "0x600AC86")]
|
|
[Address(RVA = "0x18AE4E0", Offset = "0x18AD2E0", VA = "0x1818AE4E0", Slot = "10")]
|
|
protected virtual bool CheckMinimumPrimeBits(DHParameters dhParameters)
|
|
{
|
|
bool flag;
|
|
return dhParameters.p.BitLength >= (flag ? 1 : 0);
|
|
}
|
|
|
|
// Token: 0x04006E4D RID: 28237
|
|
[Token(Token = "0x4006E4D")]
|
|
public static readonly int DefaultMinimumPrimeBits;
|
|
|
|
// Token: 0x04006E4E RID: 28238
|
|
[Token(Token = "0x4006E4E")]
|
|
protected static readonly IList DefaultGroups = Platform.CreateArrayList();
|
|
|
|
// Token: 0x04006E4F RID: 28239
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006E4F")]
|
|
protected readonly IList mGroups;
|
|
|
|
// Token: 0x04006E50 RID: 28240
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006E50")]
|
|
protected readonly int mMinimumPrimeBits;
|
|
}
|
|
}
|