401 lines
27 KiB
C#
401 lines
27 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Generators;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
// Token: 0x02001590 RID: 5520
|
|
[Token(Token = "0x2001590")]
|
|
[StructLayout(3)]
|
|
public abstract class TlsDHUtilities
|
|
{
|
|
// Token: 0x06009293 RID: 37523 RVA: 0x00207EDC File Offset: 0x002060DC
|
|
[Token(Token = "0x6009293")]
|
|
[Address(RVA = "0x1E94030", Offset = "0x1E92A30", VA = "0x181E94030")]
|
|
private static BigInteger FromHex(string hex)
|
|
{
|
|
byte[] array = Hex.Decode(hex);
|
|
return new BigInteger(1, array);
|
|
}
|
|
|
|
// Token: 0x06009294 RID: 37524 RVA: 0x00207EF8 File Offset: 0x002060F8
|
|
[Token(Token = "0x6009294")]
|
|
[Address(RVA = "0x1E940C0", Offset = "0x1E92AC0", VA = "0x181E940C0")]
|
|
private static DHParameters FromSafeP(string hexP)
|
|
{
|
|
byte[] array = Hex.Decode(hexP);
|
|
BigInteger bigInteger = new BigInteger(1, array);
|
|
BigInteger bigInteger2 = bigInteger.ShiftRight(1);
|
|
BigInteger two = TlsDHUtilities.Two;
|
|
return new DHParameters(bigInteger, two, bigInteger2);
|
|
}
|
|
|
|
// Token: 0x06009295 RID: 37525 RVA: 0x00207F30 File Offset: 0x00206130
|
|
[Token(Token = "0x6009295")]
|
|
[Address(RVA = "0x1E93AB0", Offset = "0x1E924B0", VA = "0x181E93AB0")]
|
|
public static void AddNegotiatedDheGroupsClientExtension(IDictionary extensions, byte[] dheGroups)
|
|
{
|
|
do
|
|
{
|
|
int negotiated_ff_dhe_groups = ExtensionType.negotiated_ff_dhe_groups;
|
|
}
|
|
while (dheGroups == 0 || dheGroups.Length > 254);
|
|
byte[] array = TlsUtilities.EncodeUint8ArrayWithUint8Length(dheGroups);
|
|
}
|
|
|
|
// Token: 0x06009296 RID: 37526 RVA: 0x00207F5C File Offset: 0x0020615C
|
|
[Token(Token = "0x6009296")]
|
|
[Address(RVA = "0x1E93C00", Offset = "0x1E92600", VA = "0x181E93C00")]
|
|
public static void AddNegotiatedDheGroupsServerExtension(IDictionary extensions, byte dheGroup)
|
|
{
|
|
int negotiated_ff_dhe_groups = ExtensionType.negotiated_ff_dhe_groups;
|
|
byte[] array = TlsUtilities.EncodeUint8(dheGroup);
|
|
}
|
|
|
|
// Token: 0x06009297 RID: 37527 RVA: 0x00207F7C File Offset: 0x0020617C
|
|
[Token(Token = "0x6009297")]
|
|
[Address(RVA = "0x1E94770", Offset = "0x1E93170", VA = "0x181E94770")]
|
|
public static byte[] GetNegotiatedDheGroupsClientExtension(IDictionary extensions)
|
|
{
|
|
int negotiated_ff_dhe_groups = ExtensionType.negotiated_ff_dhe_groups;
|
|
byte[] extensionData = TlsUtilities.GetExtensionData(extensions, negotiated_ff_dhe_groups);
|
|
if (extensionData == 0)
|
|
{
|
|
return extensionData;
|
|
}
|
|
byte[] array = TlsUtilities.DecodeUint8ArrayWithUint8Length(extensionData);
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009298 RID: 37528 RVA: 0x00207FAC File Offset: 0x002061AC
|
|
[Token(Token = "0x6009298")]
|
|
[Address(RVA = "0x1E948B0", Offset = "0x1E932B0", VA = "0x181E948B0")]
|
|
public static short GetNegotiatedDheGroupsServerExtension(IDictionary extensions)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009298)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int16 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsDHUtilities::GetNegotiatedDheGroupsServerExtension(System.Collections.IDictionary)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_12:
|
|
stloc:uint8(var_2_18, call:uint8(TlsUtilities::DecodeUint8, ldloc:uint8[](var_1_0D)))
|
|
}
|
|
|
|
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: 0x06009299 RID: 37529 RVA: 0x00207FD4 File Offset: 0x002061D4
|
|
[Token(Token = "0x6009299")]
|
|
[Address(RVA = "0x1E93F40", Offset = "0x1E92940", VA = "0x181E93F40")]
|
|
public static byte[] CreateNegotiatedDheGroupsClientExtension(byte[] dheGroups)
|
|
{
|
|
while (dheGroups == 0 || dheGroups.Length > 254)
|
|
{
|
|
}
|
|
return TlsUtilities.EncodeUint8ArrayWithUint8Length(dheGroups);
|
|
}
|
|
|
|
// Token: 0x0600929A RID: 37530 RVA: 0x00207FF8 File Offset: 0x002061F8
|
|
[Token(Token = "0x600929A")]
|
|
[Address(RVA = "0x1E93FD0", Offset = "0x1E929D0", VA = "0x181E93FD0")]
|
|
public static byte[] CreateNegotiatedDheGroupsServerExtension(byte dheGroup)
|
|
{
|
|
return TlsUtilities.EncodeUint8(dheGroup);
|
|
}
|
|
|
|
// Token: 0x0600929B RID: 37531 RVA: 0x0020800C File Offset: 0x0020620C
|
|
[Token(Token = "0x600929B")]
|
|
[Address(RVA = "0x1E94EB0", Offset = "0x1E938B0", VA = "0x181E94EB0")]
|
|
public static byte[] ReadNegotiatedDheGroupsClientExtension(byte[] extensionData)
|
|
{
|
|
return TlsUtilities.DecodeUint8ArrayWithUint8Length(extensionData);
|
|
}
|
|
|
|
// Token: 0x0600929C RID: 37532 RVA: 0x00208020 File Offset: 0x00206220
|
|
[Token(Token = "0x600929C")]
|
|
[Address(RVA = "0x1E94F40", Offset = "0x1E93940", VA = "0x181E94F40")]
|
|
public static byte ReadNegotiatedDheGroupsServerExtension(byte[] extensionData)
|
|
{
|
|
return TlsUtilities.DecodeUint8(extensionData);
|
|
}
|
|
|
|
// Token: 0x0600929D RID: 37533 RVA: 0x00208034 File Offset: 0x00206234
|
|
[Token(Token = "0x600929D")]
|
|
[Address(RVA = "0x1E949C0", Offset = "0x1E933C0", VA = "0x181E949C0")]
|
|
public static DHParameters GetParametersForDHEGroup(short dheGroup)
|
|
{
|
|
return TlsDHUtilities.draft_ffdhe8192;
|
|
}
|
|
|
|
// Token: 0x0600929E RID: 37534 RVA: 0x00208060 File Offset: 0x00206260
|
|
[Token(Token = "0x600929E")]
|
|
[Address(RVA = "0x1E93E80", Offset = "0x1E92880", VA = "0x181E93E80")]
|
|
public static bool ContainsDheCipherSuites(int[] cipherSuites)
|
|
{
|
|
int num = 0;
|
|
int length = cipherSuites.Length;
|
|
if (num < length)
|
|
{
|
|
if (!TlsDHUtilities.IsDheCipherSuite(cipherSuites[num]))
|
|
{
|
|
num++;
|
|
}
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600929F RID: 37535 RVA: 0x00208094 File Offset: 0x00206294
|
|
[Token(Token = "0x600929F")]
|
|
[Address(RVA = "0x1E94B30", Offset = "0x1E93530", VA = "0x181E94B30")]
|
|
public static bool IsDheCipherSuite(int cipherSuite)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600929F)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsDHUtilities::IsDheCipherSuite(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_66:
|
|
brtrue(IL_66, cne:bool(ldloc:int32(cipherSuite), ldc.i4:int32(45)))
|
|
}
|
|
|
|
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: 0x060092A0 RID: 37536 RVA: 0x0020810C File Offset: 0x0020630C
|
|
[Token(Token = "0x60092A0")]
|
|
[Address(RVA = "0x1E93D20", Offset = "0x1E92720", VA = "0x181E93D20")]
|
|
public static bool AreCompatibleParameters(DHParameters a, DHParameters b)
|
|
{
|
|
BigInteger p = a.p;
|
|
BigInteger g = a.g;
|
|
if (a.q == 0 || b.q != 0)
|
|
{
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060092A1 RID: 37537 RVA: 0x00208144 File Offset: 0x00206344
|
|
[Token(Token = "0x60092A1")]
|
|
[Address(RVA = "0x1E93DE0", Offset = "0x1E927E0", VA = "0x181E93DE0")]
|
|
public static byte[] CalculateDHBasicAgreement(DHPublicKeyParameters publicKey, DHPrivateKeyParameters privateKey)
|
|
{
|
|
DHBasicAgreement dhbasicAgreement = new DHBasicAgreement();
|
|
BigInteger bigInteger = dhbasicAgreement.CalculateAgreement(privateKey);
|
|
int fieldSize = dhbasicAgreement.GetFieldSize();
|
|
byte[] array;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x060092A2 RID: 37538 RVA: 0x00208170 File Offset: 0x00206370
|
|
[Token(Token = "0x60092A2")]
|
|
[Address(RVA = "0x1E941F0", Offset = "0x1E92BF0", VA = "0x181E941F0")]
|
|
public static AsymmetricCipherKeyPair GenerateDHKeyPair(SecureRandom random, DHParameters dhParams)
|
|
{
|
|
DHBasicKeyPairGenerator dhbasicKeyPairGenerator = new DHBasicKeyPairGenerator();
|
|
DHKeyGenerationParameters dhkeyGenerationParameters = new DHKeyGenerationParameters(random, dhParams);
|
|
AsymmetricCipherKeyPair asymmetricCipherKeyPair = dhbasicKeyPairGenerator.GenerateKeyPair();
|
|
return ((IAsymmetricCipherKeyPairGenerator)dhbasicKeyPairGenerator).GenerateKeyPair();
|
|
}
|
|
|
|
// Token: 0x060092A3 RID: 37539 RVA: 0x002081A0 File Offset: 0x002063A0
|
|
[Token(Token = "0x60092A3")]
|
|
[Address(RVA = "0x1E942B0", Offset = "0x1E92CB0", VA = "0x181E942B0")]
|
|
public static DHPrivateKeyParameters GenerateEphemeralClientKeyExchange(SecureRandom random, DHParameters dhParams, Stream output)
|
|
{
|
|
for (;;)
|
|
{
|
|
AsymmetricCipherKeyPair asymmetricCipherKeyPair = TlsDHUtilities.GenerateDHKeyPair(random, dhParams);
|
|
AsymmetricKeyParameter publicParameter = asymmetricCipherKeyPair.publicParameter;
|
|
if (publicParameter != 0 && publicParameter != 0)
|
|
{
|
|
string text = publicParameter.ToString();
|
|
byte[] array;
|
|
TlsUtilities.WriteOpaque16(array, output);
|
|
AsymmetricKeyParameter privateParameter = asymmetricCipherKeyPair.privateParameter;
|
|
if (privateParameter == 0 || privateParameter != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060092A4 RID: 37540 RVA: 0x002081F8 File Offset: 0x002063F8
|
|
[Token(Token = "0x60092A4")]
|
|
[Address(RVA = "0x1E94490", Offset = "0x1E92E90", VA = "0x181E94490")]
|
|
public static DHPrivateKeyParameters GenerateEphemeralServerKeyExchange(SecureRandom random, DHParameters dhParams, Stream output)
|
|
{
|
|
for (;;)
|
|
{
|
|
AsymmetricCipherKeyPair asymmetricCipherKeyPair = TlsDHUtilities.GenerateDHKeyPair(random, dhParams);
|
|
AsymmetricKeyParameter publicParameter = asymmetricCipherKeyPair.publicParameter;
|
|
TlsUtilities.WriteOpaque16(BigIntegers.AsUnsignedByteArray(dhParams.p), output);
|
|
TlsUtilities.WriteOpaque16(BigIntegers.AsUnsignedByteArray(dhParams.g), output);
|
|
if ("{il2cpp array field local12->}" == typeof(DHPublicKeyParameters).TypeHandle)
|
|
{
|
|
}
|
|
if (publicParameter != 0 && publicParameter != 0)
|
|
{
|
|
string text = publicParameter.ToString();
|
|
byte[] array;
|
|
TlsUtilities.WriteOpaque16(array, output);
|
|
AsymmetricKeyParameter privateParameter = asymmetricCipherKeyPair.privateParameter;
|
|
if (privateParameter == 0 || privateParameter != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060092A5 RID: 37541 RVA: 0x0020827C File Offset: 0x0020647C
|
|
[Token(Token = "0x60092A5")]
|
|
[Address(RVA = "0x1E94D80", Offset = "0x1E93780", VA = "0x181E94D80")]
|
|
public static BigInteger ReadDHParameter(Stream input)
|
|
{
|
|
byte[] array = TlsUtilities.ReadOpaque16(input);
|
|
return new BigInteger(1, array);
|
|
}
|
|
|
|
// Token: 0x060092A6 RID: 37542 RVA: 0x00208298 File Offset: 0x00206498
|
|
[Token(Token = "0x60092A6")]
|
|
[Address(RVA = "0x1E94E10", Offset = "0x1E93810", VA = "0x181E94E10")]
|
|
public static DHParameters ReadDHParameters(Stream input)
|
|
{
|
|
BigInteger bigInteger = TlsDHUtilities.ReadDHParameter(input);
|
|
BigInteger bigInteger2 = TlsDHUtilities.ReadDHParameter(input);
|
|
return new DHParameters(bigInteger, bigInteger2);
|
|
}
|
|
|
|
// Token: 0x060092A7 RID: 37543 RVA: 0x002082BC File Offset: 0x002064BC
|
|
[Token(Token = "0x60092A7")]
|
|
[Address(RVA = "0x1E94FA0", Offset = "0x1E939A0", VA = "0x181E94FA0")]
|
|
public static DHParameters ReceiveDHParameters(TlsDHVerifier dhVerifier, Stream input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060092A7)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.DHParameters BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsDHUtilities::ReceiveDHParameters(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsDHVerifier,System.IO.Stream)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_34:
|
|
stloc:TlsFatalAlert(var_4_3B, 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: 0x060092A8 RID: 37544 RVA: 0x00208308 File Offset: 0x00206508
|
|
[Token(Token = "0x60092A8")]
|
|
[Address(RVA = "0x1E95140", Offset = "0x1E93B40", VA = "0x181E95140")]
|
|
public static void WriteDHParameter(BigInteger x, Stream output)
|
|
{
|
|
TlsUtilities.WriteOpaque16(BigIntegers.AsUnsignedByteArray(x), output);
|
|
}
|
|
|
|
// Token: 0x060092A9 RID: 37545 RVA: 0x00208324 File Offset: 0x00206524
|
|
[Token(Token = "0x60092A9")]
|
|
[Address(RVA = "0x1E951B0", Offset = "0x1E93BB0", VA = "0x181E951B0")]
|
|
public static void WriteDHParameters(DHParameters dhParameters, Stream output)
|
|
{
|
|
TlsUtilities.WriteOpaque16(BigIntegers.AsUnsignedByteArray(dhParameters.p), output);
|
|
TlsUtilities.WriteOpaque16(BigIntegers.AsUnsignedByteArray(dhParameters.g), output);
|
|
}
|
|
|
|
// Token: 0x060092AA RID: 37546 RVA: 0x0020835C File Offset: 0x0020655C
|
|
[Token(Token = "0x60092AA")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
protected TlsDHUtilities()
|
|
{
|
|
}
|
|
|
|
// Token: 0x040061BC RID: 25020
|
|
[Token(Token = "0x40061BC")]
|
|
internal static readonly BigInteger Two = BigInteger.Two;
|
|
|
|
// Token: 0x040061BD RID: 25021
|
|
[Token(Token = "0x40061BD")]
|
|
private static readonly string draft_ffdhe2432_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE13098533C8B3FFFFFFFFFFFFFFFF";
|
|
|
|
// Token: 0x040061BE RID: 25022
|
|
[Token(Token = "0x40061BE")]
|
|
internal static readonly DHParameters draft_ffdhe2432 = TlsDHUtilities.FromSafeP(TlsDHUtilities.draft_ffdhe2432_p);
|
|
|
|
// Token: 0x040061BF RID: 25023
|
|
[Token(Token = "0x40061BF")]
|
|
private static readonly string draft_ffdhe3072_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B66C62E37FFFFFFFFFFFFFFFF";
|
|
|
|
// Token: 0x040061C0 RID: 25024
|
|
[Token(Token = "0x40061C0")]
|
|
internal static readonly DHParameters draft_ffdhe3072 = TlsDHUtilities.FromSafeP(TlsDHUtilities.draft_ffdhe3072_p);
|
|
|
|
// Token: 0x040061C1 RID: 25025
|
|
[Token(Token = "0x40061C1")]
|
|
private static readonly string draft_ffdhe4096_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB7930E9E4E58857B6AC7D5F42D69F6D187763CF1D5503400487F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832A907600A918130C46DC778F971AD0038092999A333CB8B7A1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E655F6AFFFFFFFFFFFFFFFF";
|
|
|
|
// Token: 0x040061C2 RID: 25026
|
|
[Token(Token = "0x40061C2")]
|
|
internal static readonly DHParameters draft_ffdhe4096 = TlsDHUtilities.FromSafeP(TlsDHUtilities.draft_ffdhe4096_p);
|
|
|
|
// Token: 0x040061C3 RID: 25027
|
|
[Token(Token = "0x40061C3")]
|
|
private static readonly string draft_ffdhe6144_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB7930E9E4E58857B6AC7D5F42D69F6D187763CF1D5503400487F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832A907600A918130C46DC778F971AD0038092999A333CB8B7A1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E0DD9020BFD64B645036C7A4E677D2C38532A3A23BA4442CAF53EA63BB454329B7624C8917BDD64B1C0FD4CB38E8C334C701C3ACDAD0657FCCFEC719B1F5C3E4E46041F388147FB4CFDB477A52471F7A9A96910B855322EDB6340D8A00EF092350511E30ABEC1FFF9E3A26E7FB29F8C183023C3587E38DA0077D9B4763E4E4B94B2BBC194C6651E77CAF992EEAAC0232A281BF6B3A739C1226116820AE8DB5847A67CBEF9C9091B462D538CD72B03746AE77F5E62292C311562A846505DC82DB854338AE49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B045B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1A41D570D7938DAD4A40E329CD0E40E65FFFFFFFFFFFFFFFF";
|
|
|
|
// Token: 0x040061C4 RID: 25028
|
|
[Token(Token = "0x40061C4")]
|
|
internal static readonly DHParameters draft_ffdhe6144 = TlsDHUtilities.FromSafeP(TlsDHUtilities.draft_ffdhe6144_p);
|
|
|
|
// Token: 0x040061C5 RID: 25029
|
|
[Token(Token = "0x40061C5")]
|
|
private static readonly string draft_ffdhe8192_p = "FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B4238611FCFDCDE355B3B6519035BBC34F4DEF99C023861B46FC9D6E6C9077AD91D2691F7F7EE598CB0FAC186D91CAEFE130985139270B4130C93BC437944F4FD4452E2D74DD364F2E21E71F54BFF5CAE82AB9C9DF69EE86D2BC522363A0DABC521979B0DEADA1DBF9A42D5C4484E0ABCD06BFA53DDEF3C1B20EE3FD59D7C25E41D2B669E1EF16E6F52C3164DF4FB7930E9E4E58857B6AC7D5F42D69F6D187763CF1D5503400487F55BA57E31CC7A7135C886EFB4318AED6A1E012D9E6832A907600A918130C46DC778F971AD0038092999A333CB8B7A1A1DB93D7140003C2A4ECEA9F98D0ACC0A8291CDCEC97DCF8EC9B55A7F88A46B4DB5A851F44182E1C68A007E5E0DD9020BFD64B645036C7A4E677D2C38532A3A23BA4442CAF53EA63BB454329B7624C8917BDD64B1C0FD4CB38E8C334C701C3ACDAD0657FCCFEC719B1F5C3E4E46041F388147FB4CFDB477A52471F7A9A96910B855322EDB6340D8A00EF092350511E30ABEC1FFF9E3A26E7FB29F8C183023C3587E38DA0077D9B4763E4E4B94B2BBC194C6651E77CAF992EEAAC0232A281BF6B3A739C1226116820AE8DB5847A67CBEF9C9091B462D538CD72B03746AE77F5E62292C311562A846505DC82DB854338AE49F5235C95B91178CCF2DD5CACEF403EC9D1810C6272B045B3B71F9DC6B80D63FDD4A8E9ADB1E6962A69526D43161C1A41D570D7938DAD4A40E329CCFF46AAA36AD004CF600C8381E425A31D951AE64FDB23FCEC9509D43687FEB69EDD1CC5E0B8CC3BDF64B10EF86B63142A3AB8829555B2F747C932665CB2C0F1CC01BD70229388839D2AF05E454504AC78B7582822846C0BA35C35F5C59160CC046FD8251541FC68C9C86B022BB7099876A460E7451A8A93109703FEE1C217E6C3826E52C51AA691E0E423CFC99E9E31650C1217B624816CDAD9A95F9D5B8019488D9C0A0A1FE3075A577E23183F81D4A3F2FA4571EFC8CE0BA8A4FE8B6855DFE72B0A66EDED2FBABFBE58A30FAFABE1C5D71A87E2F741EF8C1FE86FEA6BBFDE530677F0D97D11D49F7A8443D0822E506A9F4614E011E2A94838FF88CD68C8BB7C5C6424CFFFFFFFFFFFFFFFF";
|
|
|
|
// Token: 0x040061C6 RID: 25030
|
|
[Token(Token = "0x40061C6")]
|
|
internal static readonly DHParameters draft_ffdhe8192 = TlsDHUtilities.FromSafeP(TlsDHUtilities.draft_ffdhe8192_p);
|
|
}
|
|
}
|