128 lines
6.6 KiB
C#
128 lines
6.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
// Token: 0x02001B99 RID: 7065
|
|
[Token(Token = "0x2001B99")]
|
|
public abstract class TlsSrpUtilities
|
|
{
|
|
// Token: 0x0600B00C RID: 45068 RVA: 0x002644A8 File Offset: 0x002626A8
|
|
[Token(Token = "0x600B00C")]
|
|
[Address(RVA = "0x182BD50", Offset = "0x182AB50", VA = "0x18182BD50")]
|
|
public static void AddSrpExtension(IDictionary extensions, byte[] identity)
|
|
{
|
|
while (identity == 0)
|
|
{
|
|
}
|
|
TlsUtilities.CheckUint8(identity.Length);
|
|
int length = identity.Length;
|
|
byte[] array = Arrays.Prepend(identity, (byte)length);
|
|
}
|
|
|
|
// Token: 0x0600B00D RID: 45069 RVA: 0x002644D4 File Offset: 0x002626D4
|
|
[Token(Token = "0x600B00D")]
|
|
[Address(RVA = "0x182BFC0", Offset = "0x182ADC0", VA = "0x18182BFC0")]
|
|
public static byte[] GetSrpExtension(IDictionary extensions)
|
|
{
|
|
byte[] extensionData = TlsUtilities.GetExtensionData(extensions, 12);
|
|
if (extensionData == 0)
|
|
{
|
|
return extensionData;
|
|
}
|
|
int num;
|
|
MemoryStream memoryStream = new MemoryStream(extensionData, num != 0);
|
|
num = 0;
|
|
byte[] array = TlsUtilities.ReadOpaque8(memoryStream);
|
|
TlsProtocol.AssertEmpty(memoryStream);
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600B00E RID: 45070 RVA: 0x00264508 File Offset: 0x00262708
|
|
[Token(Token = "0x600B00E")]
|
|
[Address(RVA = "0x182BEC0", Offset = "0x182ACC0", VA = "0x18182BEC0")]
|
|
public static byte[] CreateSrpExtension(byte[] identity)
|
|
{
|
|
while (identity == 0)
|
|
{
|
|
}
|
|
TlsUtilities.CheckUint8(identity.Length);
|
|
int length = identity.Length;
|
|
return Arrays.Prepend(identity, (byte)length);
|
|
}
|
|
|
|
// Token: 0x0600B00F RID: 45071 RVA: 0x00264534 File Offset: 0x00262734
|
|
[Token(Token = "0x600B00F")]
|
|
[Address(RVA = "0x182C0C0", Offset = "0x182AEC0", VA = "0x18182C0C0")]
|
|
public static byte[] ReadSrpExtension(byte[] extensionData)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B00F)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsSrpUtilities::ReadSrpExtension(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_1D:
|
|
stloc:ArgumentNullException(var_3_27, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("extensionData")))
|
|
}
|
|
|
|
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: 0x0600B010 RID: 45072 RVA: 0x00264568 File Offset: 0x00262768
|
|
[Token(Token = "0x600B010")]
|
|
[Address(RVA = "0x182C190", Offset = "0x182AF90", VA = "0x18182C190")]
|
|
public static BigInteger ReadSrpParameter(Stream input)
|
|
{
|
|
byte[] array = TlsUtilities.ReadOpaque16(input);
|
|
int length = array.Length;
|
|
BigInteger bigInteger;
|
|
bigInteger.nBits = (int)((ulong)(-1L));
|
|
int num = 0;
|
|
int[] array2 = BigInteger.MakeMagnitude(array, num, length);
|
|
bigInteger.magnitude = array2;
|
|
bool flag = array2.Length >= 1;
|
|
bigInteger.sign = (flag ? 1 : 0);
|
|
return bigInteger;
|
|
}
|
|
|
|
// Token: 0x0600B011 RID: 45073 RVA: 0x002645C0 File Offset: 0x002627C0
|
|
[Token(Token = "0x600B011")]
|
|
[Address(RVA = "0x182C290", Offset = "0x182B090", VA = "0x18182C290")]
|
|
public static void WriteSrpParameter(BigInteger x, Stream output)
|
|
{
|
|
TlsUtilities.WriteOpaque16(BigIntegers.AsUnsignedByteArray(x), output);
|
|
}
|
|
|
|
// Token: 0x0600B012 RID: 45074 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600B012")]
|
|
[Address(RVA = "0x182C0B0", Offset = "0x182AEB0", VA = "0x18182C0B0")]
|
|
public static bool IsSrpCipherSuite(int cipherSuite)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600B013 RID: 45075 RVA: 0x002645DC File Offset: 0x002627DC
|
|
[Token(Token = "0x600B013")]
|
|
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
|
protected TlsSrpUtilities()
|
|
{
|
|
}
|
|
}
|
|
}
|