a
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF0 RID: 6896
|
||||
[Token(Token = "0x2001AF0")]
|
||||
public abstract class AbstractTlsAgreementCredentials : AbstractTlsCredentials, TlsAgreementCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x0600AB5D RID: 43869
|
||||
[Token(Token = "0x600AB5D")]
|
||||
[Address(Slot = "7")]
|
||||
public abstract byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey);
|
||||
|
||||
// Token: 0x0600AB5E RID: 43870 RVA: 0x00255A60 File Offset: 0x00253C60
|
||||
[Token(Token = "0x600AB5E")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AbstractTlsAgreementCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF1 RID: 6897
|
||||
[Token(Token = "0x2001AF1")]
|
||||
public class AbstractTlsCipherFactory : TlsCipherFactory
|
||||
{
|
||||
// Token: 0x0600AB5F RID: 43871 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB5F")]
|
||||
[Address(RVA = "0x188E340", Offset = "0x188D140", VA = "0x18188E340", Slot = "5")]
|
||||
public virtual TlsCipher CreateCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB60 RID: 43872 RVA: 0x00255A74 File Offset: 0x00253C74
|
||||
[Token(Token = "0x600AB60")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public AbstractTlsCipherFactory()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+350
@@ -0,0 +1,350 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF2 RID: 6898
|
||||
[Token(Token = "0x2001AF2")]
|
||||
public abstract class AbstractTlsClient : AbstractTlsPeer, TlsClient, TlsPeer
|
||||
{
|
||||
// Token: 0x17001B31 RID: 6961
|
||||
// (get) Token: 0x0600AB61 RID: 43873 RVA: 0x00255A88 File Offset: 0x00253C88
|
||||
// (set) Token: 0x0600AB62 RID: 43874 RVA: 0x00255A9C File Offset: 0x00253C9C
|
||||
[Token(Token = "0x17001B31")]
|
||||
public List<string> HostNames
|
||||
{
|
||||
[Token(Token = "0x600AB61")]
|
||||
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170", Slot = "20")]
|
||||
get;
|
||||
[Token(Token = "0x600AB62")]
|
||||
[Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50", Slot = "21")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB63 RID: 43875 RVA: 0x00255AB0 File Offset: 0x00253CB0
|
||||
[Token(Token = "0x600AB63")]
|
||||
[Address(RVA = "0x188EBF0", Offset = "0x188D9F0", VA = "0x18188EBF0")]
|
||||
public AbstractTlsClient()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
int num = 0;
|
||||
this.NotifyNewSessionTicket(num);
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB64 RID: 43876 RVA: 0x00255AD4 File Offset: 0x00253CD4
|
||||
[Token(Token = "0x600AB64")]
|
||||
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
||||
public AbstractTlsClient(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
int num = 0;
|
||||
this.NotifyNewSessionTicket(num);
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB65 RID: 43877 RVA: 0x00255AF4 File Offset: 0x00253CF4
|
||||
[Token(Token = "0x600AB65")]
|
||||
[Address(RVA = "0x188E390", Offset = "0x188D190", VA = "0x18188E390", Slot = "40")]
|
||||
protected virtual bool AllowUnexpectedServerExtension(int extensionType, byte[] extensionData)
|
||||
{
|
||||
if (extensionType == 10)
|
||||
{
|
||||
int[] array = TlsEccUtilities.ReadSupportedEllipticCurvesExtension(extensionData);
|
||||
return true;
|
||||
}
|
||||
if (extensionType == 11)
|
||||
{
|
||||
byte[] array2 = TlsEccUtilities.ReadSupportedPointFormatsExtension(extensionData);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB66 RID: 43878 RVA: 0x00255B20 File Offset: 0x00253D20
|
||||
[Token(Token = "0x600AB66")]
|
||||
[Address(RVA = "0x188E440", Offset = "0x188D240", VA = "0x18188E440", Slot = "41")]
|
||||
protected virtual void CheckForUnexpectedServerExtension(IDictionary serverExtensions, int extensionType)
|
||||
{
|
||||
byte[] extensionData;
|
||||
do
|
||||
{
|
||||
extensionData = TlsUtilities.GetExtensionData(serverExtensions, extensionType);
|
||||
}
|
||||
while (extensionData != 0 && extensionData == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB67 RID: 43879 RVA: 0x00255B40 File Offset: 0x00253D40
|
||||
[Token(Token = "0x600AB67")]
|
||||
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210", Slot = "42")]
|
||||
public virtual void Init(TlsClientContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB68 RID: 43880 RVA: 0x00255B54 File Offset: 0x00253D54
|
||||
[Token(Token = "0x600AB68")]
|
||||
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "43")]
|
||||
public virtual TlsSession GetSessionToResume()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001B32 RID: 6962
|
||||
// (get) Token: 0x0600AB69 RID: 43881 RVA: 0x00255B64 File Offset: 0x00253D64
|
||||
[Token(Token = "0x17001B32")]
|
||||
public virtual ProtocolVersion ClientHelloRecordLayerVersion
|
||||
{
|
||||
[Token(Token = "0x600AB69")]
|
||||
[Address(RVA = "0xEE6310", Offset = "0xEE5110", VA = "0x180EE6310", Slot = "44")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB69)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsClient::get_ClientHelloRecordLayerVersion()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_0_06, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:AbstractTlsClient(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B33 RID: 6963
|
||||
// (get) Token: 0x0600AB6A RID: 43882 RVA: 0x00255B78 File Offset: 0x00253D78
|
||||
[Token(Token = "0x17001B33")]
|
||||
public virtual ProtocolVersion ClientVersion
|
||||
{
|
||||
[Token(Token = "0x600AB6A")]
|
||||
[Address(RVA = "0x188EC50", Offset = "0x188DA50", VA = "0x18188EC50", Slot = "45")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv12;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B34 RID: 6964
|
||||
// (get) Token: 0x0600AB6B RID: 43883 RVA: 0x00255B8C File Offset: 0x00253D8C
|
||||
[Token(Token = "0x17001B34")]
|
||||
public virtual bool IsFallback
|
||||
{
|
||||
[Token(Token = "0x600AB6B")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "46")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB6C RID: 43884 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB6C")]
|
||||
[Address(RVA = "0x188E5A0", Offset = "0x188D3A0", VA = "0x18188E5A0", Slot = "47")]
|
||||
public virtual IDictionary GetClientExtensions()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001B35 RID: 6965
|
||||
// (get) Token: 0x0600AB6D RID: 43885 RVA: 0x00255B9C File Offset: 0x00253D9C
|
||||
[Token(Token = "0x17001B35")]
|
||||
public virtual ProtocolVersion MinimumVersion
|
||||
{
|
||||
[Token(Token = "0x600AB6D")]
|
||||
[Address(RVA = "0x188ECB0", Offset = "0x188DAB0", VA = "0x18188ECB0", Slot = "48")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv10;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB6E RID: 43886 RVA: 0x00255BB0 File Offset: 0x00253DB0
|
||||
[Token(Token = "0x600AB6E")]
|
||||
[Address(RVA = "0x188E9D0", Offset = "0x188D7D0", VA = "0x18188E9D0", Slot = "49")]
|
||||
public virtual void NotifyServerVersion(ProtocolVersion serverVersion)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
IDictionary clientExtensions = this.GetClientExtensions();
|
||||
}
|
||||
while (!flag);
|
||||
}
|
||||
|
||||
// Token: 0x0600AB6F RID: 43887
|
||||
[Token(Token = "0x600AB6F")]
|
||||
[Address(Slot = "50")]
|
||||
public abstract int[] GetCipherSuites();
|
||||
|
||||
// Token: 0x0600AB70 RID: 43888 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB70")]
|
||||
[Address(RVA = "0x188E8D0", Offset = "0x188D6D0", VA = "0x18188E8D0", Slot = "51")]
|
||||
public virtual byte[] GetCompressionMethods()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB71 RID: 43889 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB71")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "52")]
|
||||
public virtual void NotifySessionID(byte[] sessionID)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB72 RID: 43890 RVA: 0x00255BC8 File Offset: 0x00253DC8
|
||||
[Token(Token = "0x600AB72")]
|
||||
[Address(RVA = "0x445D00", Offset = "0x444B00", VA = "0x180445D00", Slot = "53")]
|
||||
public virtual void NotifySelectedCipherSuite(int selectedCipherSuite)
|
||||
{
|
||||
this.mSelectedCipherSuite = selectedCipherSuite;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB73 RID: 43891 RVA: 0x00255BDC File Offset: 0x00253DDC
|
||||
[Token(Token = "0x600AB73")]
|
||||
[Address(RVA = "0x188E9C0", Offset = "0x188D7C0", VA = "0x18188E9C0", Slot = "54")]
|
||||
public virtual void NotifySelectedCompressionMethod(byte selectedCompressionMethod)
|
||||
{
|
||||
this.mSelectedCompressionMethod = (short)selectedCompressionMethod;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB74 RID: 43892 RVA: 0x00255BF0 File Offset: 0x00253DF0
|
||||
[Token(Token = "0x600AB74")]
|
||||
[Address(RVA = "0x188EA70", Offset = "0x188D870", VA = "0x18188EA70", Slot = "55")]
|
||||
public virtual void ProcessServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
if (serverExtensions != 0)
|
||||
{
|
||||
if (!TlsEccUtilities.IsEccCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
}
|
||||
byte[] supportedPointFormatsExtension = TlsEccUtilities.GetSupportedPointFormatsExtension(serverExtensions);
|
||||
this.mServerECPointFormats = supportedPointFormatsExtension;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB75 RID: 43893 RVA: 0x00255C20 File Offset: 0x00253E20
|
||||
[Token(Token = "0x600AB75")]
|
||||
[Address(RVA = "0x188EB90", Offset = "0x188D990", VA = "0x18188EB90", Slot = "56")]
|
||||
public virtual void ProcessServerSupplementalData(IList serverSupplementalData)
|
||||
{
|
||||
while (serverSupplementalData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB76 RID: 43894
|
||||
[Token(Token = "0x600AB76")]
|
||||
[Address(Slot = "57")]
|
||||
public abstract TlsKeyExchange GetKeyExchange();
|
||||
|
||||
// Token: 0x0600AB77 RID: 43895
|
||||
[Token(Token = "0x600AB77")]
|
||||
[Address(Slot = "58")]
|
||||
public abstract TlsAuthentication GetAuthentication();
|
||||
|
||||
// Token: 0x0600AB78 RID: 43896 RVA: 0x00255C34 File Offset: 0x00253E34
|
||||
[Token(Token = "0x600AB78")]
|
||||
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "59")]
|
||||
public virtual IList GetClientSupplementalData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB79 RID: 43897 RVA: 0x00255C44 File Offset: 0x00253E44
|
||||
[Token(Token = "0x600AB79")]
|
||||
[Address(RVA = "0x188E910", Offset = "0x188D710", VA = "0x18188E910", Slot = "15")]
|
||||
public override TlsCompression GetCompression()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB79)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCompression BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsClient::GetCompression()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int16(var_0_06, ldfld:int16(AbstractTlsClient::mSelectedCompressionMethod, ldloc:AbstractTlsClient(this)))
|
||||
stloc:TlsNullCompression(var_1_0C, newobj:TlsNullCompression(TlsNullCompression::.ctor))
|
||||
stloc:TlsDeflateCompression(var_2_12, newobj:TlsDeflateCompression(TlsDeflateCompression::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB7A RID: 43898 RVA: 0x00255C64 File Offset: 0x00253E64
|
||||
[Token(Token = "0x600AB7A")]
|
||||
[Address(RVA = "0x188E500", Offset = "0x188D300", VA = "0x18188E500", Slot = "16")]
|
||||
public override TlsCipher GetCipher()
|
||||
{
|
||||
int num = this.mSelectedCipherSuite;
|
||||
int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(num);
|
||||
int num2 = this.mSelectedCipherSuite;
|
||||
int macAlgorithm = TlsUtilities.GetMacAlgorithm(num2);
|
||||
TlsCipherFactory tlsCipherFactory = this.mCipherFactory;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AB7B RID: 43899 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB7B")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "60")]
|
||||
public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x04006CAE RID: 27822
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CAE")]
|
||||
protected TlsCipherFactory mCipherFactory;
|
||||
|
||||
// Token: 0x04006CAF RID: 27823
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CAF")]
|
||||
protected TlsClientContext mContext;
|
||||
|
||||
// Token: 0x04006CB0 RID: 27824
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CB0")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006CB1 RID: 27825
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006CB1")]
|
||||
protected int[] mNamedCurves;
|
||||
|
||||
// Token: 0x04006CB2 RID: 27826
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006CB2")]
|
||||
protected byte[] mClientECPointFormats;
|
||||
|
||||
// Token: 0x04006CB3 RID: 27827
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006CB3")]
|
||||
protected byte[] mServerECPointFormats;
|
||||
|
||||
// Token: 0x04006CB4 RID: 27828
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006CB4")]
|
||||
protected int mSelectedCipherSuite;
|
||||
|
||||
// Token: 0x04006CB5 RID: 27829
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4006CB5")]
|
||||
protected short mSelectedCompressionMethod;
|
||||
}
|
||||
}
|
||||
+236
@@ -0,0 +1,236 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF3 RID: 6899
|
||||
[Token(Token = "0x2001AF3")]
|
||||
internal abstract class AbstractTlsContext : TlsContext
|
||||
{
|
||||
// Token: 0x0600AB7C RID: 43900 RVA: 0x00255C9C File Offset: 0x00253E9C
|
||||
[Token(Token = "0x600AB7C")]
|
||||
[Address(RVA = "0x188EFF0", Offset = "0x188DDF0", VA = "0x18188EFF0")]
|
||||
private static long NextCounterValue()
|
||||
{
|
||||
long num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB7D RID: 43901 RVA: 0x00255CAC File Offset: 0x00253EAC
|
||||
[Token(Token = "0x600AB7D")]
|
||||
[Address(RVA = "0x188F0B0", Offset = "0x188DEB0", VA = "0x18188F0B0")]
|
||||
internal AbstractTlsContext(SecureRandom secureRandom, SecurityParameters securityParameters)
|
||||
{
|
||||
IDigest digest;
|
||||
byte[] array = new byte[digest];
|
||||
double num = secureRandom.NextDouble();
|
||||
DigestRandomGenerator digestRandomGenerator = new DigestRandomGenerator(digest);
|
||||
this.mNonceRandom = digestRandomGenerator;
|
||||
IRandomGenerator randomGenerator = this.mNonceRandom;
|
||||
long num2 = Times.NanoTime();
|
||||
IRandomGenerator randomGenerator2 = this.mNonceRandom;
|
||||
this.mSecureRandom = secureRandom;
|
||||
this.mSecurityParameters = securityParameters;
|
||||
}
|
||||
|
||||
// Token: 0x17001B36 RID: 6966
|
||||
// (get) Token: 0x0600AB7E RID: 43902 RVA: 0x00255D0C File Offset: 0x00253F0C
|
||||
[Token(Token = "0x17001B36")]
|
||||
public virtual IRandomGenerator NonceRandomGenerator
|
||||
{
|
||||
[Token(Token = "0x600AB7E")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return this.mNonceRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B37 RID: 6967
|
||||
// (get) Token: 0x0600AB7F RID: 43903 RVA: 0x00255D20 File Offset: 0x00253F20
|
||||
[Token(Token = "0x17001B37")]
|
||||
public virtual SecureRandom SecureRandom
|
||||
{
|
||||
[Token(Token = "0x600AB7F")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return this.mSecureRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B38 RID: 6968
|
||||
// (get) Token: 0x0600AB80 RID: 43904 RVA: 0x00255D34 File Offset: 0x00253F34
|
||||
[Token(Token = "0x17001B38")]
|
||||
public virtual SecurityParameters SecurityParameters
|
||||
{
|
||||
[Token(Token = "0x600AB80")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "16")]
|
||||
get
|
||||
{
|
||||
return this.mSecurityParameters;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B39 RID: 6969
|
||||
// (get) Token: 0x0600AB81 RID: 43905
|
||||
[Token(Token = "0x17001B39")]
|
||||
public abstract bool IsServer
|
||||
{
|
||||
[Token(Token = "0x600AB81")]
|
||||
[Address(Slot = "17")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x17001B3A RID: 6970
|
||||
// (get) Token: 0x0600AB82 RID: 43906 RVA: 0x00255D48 File Offset: 0x00253F48
|
||||
[Token(Token = "0x17001B3A")]
|
||||
public virtual ProtocolVersion ClientVersion
|
||||
{
|
||||
[Token(Token = "0x600AB82")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0", Slot = "18")]
|
||||
get
|
||||
{
|
||||
return this.mClientVersion;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB83 RID: 43907 RVA: 0x00255D5C File Offset: 0x00253F5C
|
||||
[Token(Token = "0x600AB83")]
|
||||
[Address(RVA = "0x409C60", Offset = "0x408A60", VA = "0x180409C60", Slot = "19")]
|
||||
internal virtual void SetClientVersion(ProtocolVersion clientVersion)
|
||||
{
|
||||
this.mClientVersion = clientVersion;
|
||||
}
|
||||
|
||||
// Token: 0x17001B3B RID: 6971
|
||||
// (get) Token: 0x0600AB84 RID: 43908 RVA: 0x00255D70 File Offset: 0x00253F70
|
||||
[Token(Token = "0x17001B3B")]
|
||||
public virtual ProtocolVersion ServerVersion
|
||||
{
|
||||
[Token(Token = "0x600AB84")]
|
||||
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180", Slot = "20")]
|
||||
get
|
||||
{
|
||||
return this.mServerVersion;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB85 RID: 43909 RVA: 0x00255D84 File Offset: 0x00253F84
|
||||
[Token(Token = "0x600AB85")]
|
||||
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0", Slot = "21")]
|
||||
internal virtual void SetServerVersion(ProtocolVersion serverVersion)
|
||||
{
|
||||
this.mServerVersion = serverVersion;
|
||||
}
|
||||
|
||||
// Token: 0x17001B3C RID: 6972
|
||||
// (get) Token: 0x0600AB86 RID: 43910 RVA: 0x00255D98 File Offset: 0x00253F98
|
||||
[Token(Token = "0x17001B3C")]
|
||||
public virtual TlsSession ResumableSession
|
||||
{
|
||||
[Token(Token = "0x600AB86")]
|
||||
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0", Slot = "22")]
|
||||
get
|
||||
{
|
||||
return this.mSession;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB87 RID: 43911 RVA: 0x00255DAC File Offset: 0x00253FAC
|
||||
[Token(Token = "0x600AB87")]
|
||||
[Address(RVA = "0x5329E0", Offset = "0x5317E0", VA = "0x1805329E0", Slot = "23")]
|
||||
internal virtual void SetResumableSession(TlsSession session)
|
||||
{
|
||||
this.mSession = session;
|
||||
}
|
||||
|
||||
// Token: 0x17001B3D RID: 6973
|
||||
// (get) Token: 0x0600AB88 RID: 43912 RVA: 0x00255DC0 File Offset: 0x00253FC0
|
||||
// (set) Token: 0x0600AB89 RID: 43913 RVA: 0x00255DD4 File Offset: 0x00253FD4
|
||||
[Token(Token = "0x17001B3D")]
|
||||
public virtual object UserObject
|
||||
{
|
||||
[Token(Token = "0x600AB88")]
|
||||
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890", Slot = "24")]
|
||||
get
|
||||
{
|
||||
return this.mUserObject;
|
||||
}
|
||||
[Token(Token = "0x600AB89")]
|
||||
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30", Slot = "25")]
|
||||
set
|
||||
{
|
||||
this.mUserObject = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB8A RID: 43914 RVA: 0x00255DE8 File Offset: 0x00253FE8
|
||||
[Token(Token = "0x600AB8A")]
|
||||
[Address(RVA = "0x188ED10", Offset = "0x188DB10", VA = "0x18188ED10", Slot = "26")]
|
||||
public virtual byte[] ExportKeyingMaterial(string asciiLabel, byte[] context_value, int length)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB8A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsContext::ExportKeyingMaterial(System.String,System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D1:
|
||||
stloc:InvalidOperationException(var_19_DB, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("cannot export keying material without extended_master_secret")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006CB7 RID: 27831
|
||||
[Token(Token = "0x4006CB7")]
|
||||
private static long counter = Times.NanoTime();
|
||||
|
||||
// Token: 0x04006CB8 RID: 27832
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CB8")]
|
||||
private readonly IRandomGenerator mNonceRandom;
|
||||
|
||||
// Token: 0x04006CB9 RID: 27833
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CB9")]
|
||||
private readonly SecureRandom mSecureRandom;
|
||||
|
||||
// Token: 0x04006CBA RID: 27834
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CBA")]
|
||||
private readonly SecurityParameters mSecurityParameters;
|
||||
|
||||
// Token: 0x04006CBB RID: 27835
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006CBB")]
|
||||
private ProtocolVersion mClientVersion;
|
||||
|
||||
// Token: 0x04006CBC RID: 27836
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006CBC")]
|
||||
private ProtocolVersion mServerVersion;
|
||||
|
||||
// Token: 0x04006CBD RID: 27837
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006CBD")]
|
||||
private TlsSession mSession;
|
||||
|
||||
// Token: 0x04006CBE RID: 27838
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006CBE")]
|
||||
private object mUserObject;
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF4 RID: 6900
|
||||
[Token(Token = "0x2001AF4")]
|
||||
public abstract class AbstractTlsCredentials : TlsCredentials
|
||||
{
|
||||
// Token: 0x17001B3E RID: 6974
|
||||
// (get) Token: 0x0600AB8C RID: 43916
|
||||
[Token(Token = "0x17001B3E")]
|
||||
public abstract Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600AB8C")]
|
||||
[Address(Slot = "5")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB8D RID: 43917 RVA: 0x00255EF0 File Offset: 0x002540F0
|
||||
[Token(Token = "0x600AB8D")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AbstractTlsCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF5 RID: 6901
|
||||
[Token(Token = "0x2001AF5")]
|
||||
public abstract class AbstractTlsEncryptionCredentials : AbstractTlsCredentials, TlsEncryptionCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x0600AB8E RID: 43918
|
||||
[Token(Token = "0x600AB8E")]
|
||||
[Address(Slot = "7")]
|
||||
public abstract byte[] DecryptPreMasterSecret(byte[] encryptedPreMasterSecret);
|
||||
|
||||
// Token: 0x0600AB8F RID: 43919 RVA: 0x00255F04 File Offset: 0x00254104
|
||||
[Token(Token = "0x600AB8F")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AbstractTlsEncryptionCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF6 RID: 6902
|
||||
[Token(Token = "0x2001AF6")]
|
||||
public abstract class AbstractTlsKeyExchange : TlsKeyExchange
|
||||
{
|
||||
// Token: 0x0600AB90 RID: 43920 RVA: 0x00255F18 File Offset: 0x00254118
|
||||
[Token(Token = "0x600AB90")]
|
||||
[Address(RVA = "0x4E6E10", Offset = "0x4E5C10", VA = "0x1804E6E10")]
|
||||
protected AbstractTlsKeyExchange(int keyExchange, IList supportedSignatureAlgorithms)
|
||||
{
|
||||
int num = 0;
|
||||
this.ProcessServerCertificate(num);
|
||||
this.mKeyExchange = keyExchange;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB91 RID: 43921 RVA: 0x00255F3C File Offset: 0x0025413C
|
||||
[Token(Token = "0x600AB91")]
|
||||
[Address(RVA = "0x188F520", Offset = "0x188E320", VA = "0x18188F520", Slot = "19")]
|
||||
protected virtual DigitallySigned ParseSignature(Stream input)
|
||||
{
|
||||
DigitallySigned digitallySigned = DigitallySigned.Parse(this.mContext, input);
|
||||
if (digitallySigned.ToString() != 0)
|
||||
{
|
||||
IList list = this.mSupportedSignatureAlgorithms;
|
||||
}
|
||||
return digitallySigned;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB92 RID: 43922 RVA: 0x00255F70 File Offset: 0x00254170
|
||||
[Token(Token = "0x600AB92")]
|
||||
[Address(RVA = "0x188F320", Offset = "0x188E120", VA = "0x18188F320", Slot = "20")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AB92)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsKeyExchange::Init(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_59:
|
||||
stloc:InvalidOperationException(var_10_63, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("unsupported key exchange algorithm")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AB93 RID: 43923
|
||||
[Token(Token = "0x600AB93")]
|
||||
[Address(Slot = "21")]
|
||||
public abstract void SkipServerCredentials();
|
||||
|
||||
// Token: 0x0600AB94 RID: 43924 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB94")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "22")]
|
||||
public virtual void ProcessServerCertificate(Certificate serverCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB95 RID: 43925 RVA: 0x00255FE4 File Offset: 0x002541E4
|
||||
[Token(Token = "0x600AB95")]
|
||||
[Address(RVA = "0x188F620", Offset = "0x188E420", VA = "0x18188F620", Slot = "23")]
|
||||
public virtual void ProcessServerCredentials(TlsCredentials serverCredentials)
|
||||
{
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
this.SkipServerCredentials();
|
||||
}
|
||||
|
||||
// Token: 0x17001B3F RID: 6975
|
||||
// (get) Token: 0x0600AB96 RID: 43926 RVA: 0x00256008 File Offset: 0x00254208
|
||||
[Token(Token = "0x17001B3F")]
|
||||
public virtual bool RequiresServerKeyExchange
|
||||
{
|
||||
[Token(Token = "0x600AB96")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "24")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AB97 RID: 43927 RVA: 0x00256018 File Offset: 0x00254218
|
||||
[Token(Token = "0x600AB97")]
|
||||
[Address(RVA = "0x188F2B0", Offset = "0x188E0B0", VA = "0x18188F2B0", Slot = "25")]
|
||||
public virtual byte[] GenerateServerKeyExchange()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB98 RID: 43928 RVA: 0x00256028 File Offset: 0x00254228
|
||||
[Token(Token = "0x600AB98")]
|
||||
[Address(RVA = "0x188F760", Offset = "0x188E560", VA = "0x18188F760", Slot = "26")]
|
||||
public virtual void SkipServerKeyExchange()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB99 RID: 43929 RVA: 0x00256038 File Offset: 0x00254238
|
||||
[Token(Token = "0x600AB99")]
|
||||
[Address(RVA = "0x188F6F0", Offset = "0x188E4F0", VA = "0x18188F6F0", Slot = "27")]
|
||||
public virtual void ProcessServerKeyExchange(Stream input)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AB9A RID: 43930
|
||||
[Token(Token = "0x600AB9A")]
|
||||
[Address(Slot = "28")]
|
||||
public abstract void ValidateCertificateRequest(CertificateRequest certificateRequest);
|
||||
|
||||
// Token: 0x0600AB9B RID: 43931 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB9B")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "29")]
|
||||
public virtual void SkipClientCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB9C RID: 43932
|
||||
[Token(Token = "0x600AB9C")]
|
||||
[Address(Slot = "30")]
|
||||
public abstract void ProcessClientCredentials(TlsCredentials clientCredentials);
|
||||
|
||||
// Token: 0x0600AB9D RID: 43933 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB9D")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "31")]
|
||||
public virtual void ProcessClientCertificate(Certificate clientCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AB9E RID: 43934
|
||||
[Token(Token = "0x600AB9E")]
|
||||
[Address(Slot = "32")]
|
||||
public abstract void GenerateClientKeyExchange(Stream output);
|
||||
|
||||
// Token: 0x0600AB9F RID: 43935 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AB9F")]
|
||||
[Address(RVA = "0x188F5D0", Offset = "0x188E3D0", VA = "0x18188F5D0", Slot = "33")]
|
||||
public virtual void ProcessClientKeyExchange(Stream input)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA0 RID: 43936
|
||||
[Token(Token = "0x600ABA0")]
|
||||
[Address(Slot = "34")]
|
||||
public abstract byte[] GeneratePremasterSecret();
|
||||
|
||||
// Token: 0x04006CBF RID: 27839
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CBF")]
|
||||
protected readonly int mKeyExchange;
|
||||
|
||||
// Token: 0x04006CC0 RID: 27840
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CC0")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006CC1 RID: 27841
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CC1")]
|
||||
protected TlsContext mContext;
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF7 RID: 6903
|
||||
[Token(Token = "0x2001AF7")]
|
||||
public abstract class AbstractTlsPeer : TlsPeer
|
||||
{
|
||||
// Token: 0x0600ABA1 RID: 43937 RVA: 0x00256048 File Offset: 0x00254248
|
||||
[Token(Token = "0x600ABA1")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "12")]
|
||||
public virtual bool RequiresExtendedMasterSecret()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA2 RID: 43938 RVA: 0x00256058 File Offset: 0x00254258
|
||||
[Token(Token = "0x600ABA2")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "13")]
|
||||
public virtual bool ShouldUseGmtUnixTime()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA3 RID: 43939 RVA: 0x00256068 File Offset: 0x00254268
|
||||
[Token(Token = "0x600ABA3")]
|
||||
[Address(RVA = "0x188F7D0", Offset = "0x188E5D0", VA = "0x18188F7D0", Slot = "14")]
|
||||
public virtual void NotifySecureRenegotiation(bool secureRenegotiation)
|
||||
{
|
||||
while (!secureRenegotiation)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA4 RID: 43940
|
||||
[Token(Token = "0x600ABA4")]
|
||||
[Address(Slot = "15")]
|
||||
public abstract TlsCompression GetCompression();
|
||||
|
||||
// Token: 0x0600ABA5 RID: 43941
|
||||
[Token(Token = "0x600ABA5")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract TlsCipher GetCipher();
|
||||
|
||||
// Token: 0x0600ABA6 RID: 43942 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABA6")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "17")]
|
||||
public virtual void NotifyAlertRaised(byte alertLevel, byte alertDescription, string message, Exception cause)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA7 RID: 43943 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABA7")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "18")]
|
||||
public virtual void NotifyAlertReceived(byte alertLevel, byte alertDescription)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA8 RID: 43944 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABA8")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "19")]
|
||||
public virtual void NotifyHandshakeComplete()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABA9 RID: 43945 RVA: 0x0025607C File Offset: 0x0025427C
|
||||
[Token(Token = "0x600ABA9")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AbstractTlsPeer()
|
||||
{
|
||||
this.NotifyHandshakeComplete();
|
||||
}
|
||||
}
|
||||
}
|
||||
+514
@@ -0,0 +1,514 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF8 RID: 6904
|
||||
[Token(Token = "0x2001AF8")]
|
||||
public abstract class AbstractTlsServer : AbstractTlsPeer, TlsServer, TlsPeer
|
||||
{
|
||||
// Token: 0x0600ABAA RID: 43946 RVA: 0x00256090 File Offset: 0x00254290
|
||||
[Token(Token = "0x600ABAA")]
|
||||
[Address(RVA = "0x1890500", Offset = "0x188F300", VA = "0x181890500")]
|
||||
public AbstractTlsServer()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAB RID: 43947 RVA: 0x002560B0 File Offset: 0x002542B0
|
||||
[Token(Token = "0x600ABAB")]
|
||||
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
||||
public AbstractTlsServer(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x17001B40 RID: 6976
|
||||
// (get) Token: 0x0600ABAC RID: 43948 RVA: 0x002560CC File Offset: 0x002542CC
|
||||
[Token(Token = "0x17001B40")]
|
||||
protected virtual bool AllowEncryptThenMac
|
||||
{
|
||||
[Token(Token = "0x600ABAC")]
|
||||
[Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B41 RID: 6977
|
||||
// (get) Token: 0x0600ABAD RID: 43949 RVA: 0x002560DC File Offset: 0x002542DC
|
||||
[Token(Token = "0x17001B41")]
|
||||
protected virtual bool AllowTruncatedHMac
|
||||
{
|
||||
[Token(Token = "0x600ABAD")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAE RID: 43950 RVA: 0x002560EC File Offset: 0x002542EC
|
||||
[Token(Token = "0x600ABAE")]
|
||||
[Address(RVA = "0x188F830", Offset = "0x188E630", VA = "0x18188F830", Slot = "40")]
|
||||
protected virtual IDictionary CheckServerExtensions()
|
||||
{
|
||||
IDictionary dictionary = TlsExtensionsUtilities.EnsureExtensionsInitialised(this.mServerExtensions);
|
||||
this.mServerExtensions = dictionary;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABAF RID: 43951
|
||||
[Token(Token = "0x600ABAF")]
|
||||
[Address(Slot = "41")]
|
||||
protected abstract int[] GetCipherSuites();
|
||||
|
||||
// Token: 0x0600ABB0 RID: 43952 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABB0")]
|
||||
[Address(RVA = "0x188F900", Offset = "0x188E700", VA = "0x18188F900")]
|
||||
protected byte[] GetCompressionMethods()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001B42 RID: 6978
|
||||
// (get) Token: 0x0600ABB1 RID: 43953 RVA: 0x00256110 File Offset: 0x00254310
|
||||
[Token(Token = "0x17001B42")]
|
||||
protected virtual ProtocolVersion MaximumVersion
|
||||
{
|
||||
[Token(Token = "0x600ABB1")]
|
||||
[Address(RVA = "0x1890560", Offset = "0x188F360", VA = "0x181890560", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv11;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B43 RID: 6979
|
||||
// (get) Token: 0x0600ABB2 RID: 43954 RVA: 0x00256124 File Offset: 0x00254324
|
||||
[Token(Token = "0x17001B43")]
|
||||
protected virtual ProtocolVersion MinimumVersion
|
||||
{
|
||||
[Token(Token = "0x600ABB2")]
|
||||
[Address(RVA = "0x18905C0", Offset = "0x188F3C0", VA = "0x1818905C0", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv10;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB3 RID: 43955 RVA: 0x00256138 File Offset: 0x00254338
|
||||
[Token(Token = "0x600ABB3")]
|
||||
[Address(RVA = "0x1890400", Offset = "0x188F200", VA = "0x181890400", Slot = "44")]
|
||||
protected virtual bool SupportsClientEccCapabilities(int[] namedCurves, byte[] ecPointFormats)
|
||||
{
|
||||
if (namedCurves != 0)
|
||||
{
|
||||
int num = 0;
|
||||
int length = namedCurves.Length;
|
||||
if (num < length)
|
||||
{
|
||||
int num2 = namedCurves[num];
|
||||
if (!NamedCurve.IsValid(num2) || (NamedCurve.RefersToASpecificNamedCurve(num2) && !TlsEccUtilities.IsSupportedNamedCurve(num2)))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return TlsEccUtilities.HasAnySupportedNamedCurves();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB4 RID: 43956 RVA: 0x00256190 File Offset: 0x00254390
|
||||
[Token(Token = "0x600ABB4")]
|
||||
[Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210", Slot = "45")]
|
||||
public virtual void Init(TlsServerContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB5 RID: 43957 RVA: 0x002561A4 File Offset: 0x002543A4
|
||||
[Token(Token = "0x600ABB5")]
|
||||
[Address(RVA = "0x460F90", Offset = "0x45FD90", VA = "0x180460F90", Slot = "46")]
|
||||
public virtual void NotifyClientVersion(ProtocolVersion clientVersion)
|
||||
{
|
||||
this.mClientVersion = clientVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB6 RID: 43958 RVA: 0x002561B8 File Offset: 0x002543B8
|
||||
[Token(Token = "0x600ABB6")]
|
||||
[Address(RVA = "0x1890110", Offset = "0x188EF10", VA = "0x181890110", Slot = "47")]
|
||||
public virtual void NotifyFallback(bool isFallback)
|
||||
{
|
||||
while (isFallback)
|
||||
{
|
||||
int[] cipherSuites = this.GetCipherSuites();
|
||||
ProtocolVersion protocolVersion = this.mClientVersion;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB7 RID: 43959 RVA: 0x002561DC File Offset: 0x002543DC
|
||||
[Token(Token = "0x600ABB7")]
|
||||
[Address(RVA = "0x18901B0", Offset = "0x188EFB0", VA = "0x1818901B0", Slot = "48")]
|
||||
public virtual void NotifyOfferedCipherSuites(int[] offeredCipherSuites)
|
||||
{
|
||||
this.mOfferedCipherSuites = offeredCipherSuites;
|
||||
bool flag = TlsEccUtilities.ContainsEccCipherSuites(offeredCipherSuites);
|
||||
this.mEccCipherSuitesOffered = flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB8 RID: 43960 RVA: 0x00256200 File Offset: 0x00254400
|
||||
[Token(Token = "0x600ABB8")]
|
||||
[Address(RVA = "0x4437E0", Offset = "0x4425E0", VA = "0x1804437E0", Slot = "49")]
|
||||
public virtual void NotifyOfferedCompressionMethods(byte[] offeredCompressionMethods)
|
||||
{
|
||||
this.mOfferedCompressionMethods = offeredCompressionMethods;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABB9 RID: 43961 RVA: 0x00256214 File Offset: 0x00254414
|
||||
[Token(Token = "0x600ABB9")]
|
||||
[Address(RVA = "0x1890220", Offset = "0x188F020", VA = "0x181890220", Slot = "50")]
|
||||
public virtual void ProcessClientExtensions(IDictionary clientExtensions)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
this.mClientExtensions = clientExtensions;
|
||||
if (clientExtensions == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
bool flag = TlsExtensionsUtilities.HasEncryptThenMacExtension(clientExtensions);
|
||||
this.mEncryptThenMacOffered = flag;
|
||||
short maxFragmentLengthExtension = TlsExtensionsUtilities.GetMaxFragmentLengthExtension(clientExtensions);
|
||||
this.mMaxFragmentLengthOffered = maxFragmentLengthExtension;
|
||||
if (MaxFragmentLength.IsValid((byte)maxFragmentLengthExtension))
|
||||
{
|
||||
bool flag2 = TlsExtensionsUtilities.HasTruncatedHMacExtension(clientExtensions);
|
||||
this.mTruncatedHMacOffered = flag2;
|
||||
IList signatureAlgorithmsExtension = TlsUtilities.GetSignatureAlgorithmsExtension(clientExtensions);
|
||||
this.mSupportedSignatureAlgorithms = signatureAlgorithmsExtension;
|
||||
if (signatureAlgorithmsExtension == 0 || TlsUtilities.IsSignatureAlgorithmsExtensionAllowed(this.mClientVersion))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int[] supportedEllipticCurvesExtension = TlsEccUtilities.GetSupportedEllipticCurvesExtension(clientExtensions);
|
||||
this.mNamedCurves = supportedEllipticCurvesExtension;
|
||||
byte[] supportedPointFormatsExtension = TlsEccUtilities.GetSupportedPointFormatsExtension(clientExtensions);
|
||||
this.mClientECPointFormats = supportedPointFormatsExtension;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBA RID: 43962 RVA: 0x002562A0 File Offset: 0x002544A0
|
||||
[Token(Token = "0x600ABBA")]
|
||||
[Address(RVA = "0x188FFD0", Offset = "0x188EDD0", VA = "0x18188FFD0", Slot = "51")]
|
||||
public virtual ProtocolVersion GetServerVersion()
|
||||
{
|
||||
int[] cipherSuites;
|
||||
ProtocolVersion protocolVersion3;
|
||||
for (;;)
|
||||
{
|
||||
ProtocolVersion maximumVersion = this.MaximumVersion;
|
||||
ProtocolVersion protocolVersion = this.mClientVersion;
|
||||
if (maximumVersion.IsEqualOrEarlierVersionOf(protocolVersion))
|
||||
{
|
||||
cipherSuites = this.GetCipherSuites();
|
||||
ProtocolVersion protocolVersion2 = this.mClientVersion;
|
||||
protocolVersion3 = this.mClientVersion;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
goto IL_3F;
|
||||
}
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mServerVersion = cipherSuites;
|
||||
IL_3F:
|
||||
this.mServerVersion = protocolVersion3;
|
||||
return protocolVersion3;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBB RID: 43963 RVA: 0x002562FC File Offset: 0x002544FC
|
||||
[Token(Token = "0x600ABBB")]
|
||||
[Address(RVA = "0x188FA50", Offset = "0x188E850", VA = "0x18188FA50", Slot = "52")]
|
||||
public virtual int GetSelectedCipherSuite()
|
||||
{
|
||||
ProtocolVersion minimumVersion;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
IList usableSignatureAlgorithms = TlsUtilities.GetUsableSignatureAlgorithms(this.mSupportedSignatureAlgorithms);
|
||||
minimumVersion = this.MinimumVersion;
|
||||
IDictionary dictionary = this.CheckServerExtensions();
|
||||
num = 0;
|
||||
}
|
||||
while (num >= this);
|
||||
bool flag;
|
||||
bool flag2;
|
||||
bool flag3;
|
||||
if (!Arrays.Contains(this.mOfferedCipherSuites, num) || (minimumVersion == 0 && flag) || !flag2 || !flag3)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBC RID: 43964 RVA: 0x00256354 File Offset: 0x00254554
|
||||
[Token(Token = "0x600ABBC")]
|
||||
[Address(RVA = "0x188FC60", Offset = "0x188EA60", VA = "0x18188FC60", Slot = "53")]
|
||||
public virtual byte GetSelectedCompressionMethod()
|
||||
{
|
||||
int num;
|
||||
int length;
|
||||
do
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
num = 0;
|
||||
length = array.Length;
|
||||
}
|
||||
while (num >= length);
|
||||
byte b;
|
||||
if (!Arrays.Contains(this.mOfferedCompressionMethods, b))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
byte b2;
|
||||
this.mSelectedCompressionMethod = b2;
|
||||
return b2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBD RID: 43965 RVA: 0x00256398 File Offset: 0x00254598
|
||||
[Token(Token = "0x600ABBD")]
|
||||
[Address(RVA = "0x188FDA0", Offset = "0x188EBA0", VA = "0x18188FDA0", Slot = "54")]
|
||||
public virtual IDictionary GetServerExtensions()
|
||||
{
|
||||
if (this.mEncryptThenMacOffered && this.GetNewSessionTicket() != 0 && TlsUtilities.IsBlockCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
bool allowTruncatedHMac = this.AllowTruncatedHMac;
|
||||
}
|
||||
short num = this.mMaxFragmentLengthOffered;
|
||||
bool flag;
|
||||
if (flag && MaxFragmentLength.IsValid((byte)this.mMaxFragmentLengthOffered))
|
||||
{
|
||||
bool allowTruncatedHMac2 = this.AllowTruncatedHMac;
|
||||
}
|
||||
if (this.mTruncatedHMacOffered && this.AllowEncryptThenMac)
|
||||
{
|
||||
bool allowTruncatedHMac3 = this.AllowTruncatedHMac;
|
||||
}
|
||||
if (this.mClientECPointFormats != (ulong)0L && TlsEccUtilities.IsEccCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
byte[] array = new byte[3];
|
||||
array[0] = (byte)((ulong)1L);
|
||||
array[0] = (byte)((ulong)2L);
|
||||
this.mServerECPointFormats = array;
|
||||
bool allowTruncatedHMac4 = this.AllowTruncatedHMac;
|
||||
}
|
||||
return this.mServerExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBE RID: 43966 RVA: 0x0025645C File Offset: 0x0025465C
|
||||
[Token(Token = "0x600ABBE")]
|
||||
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "55")]
|
||||
public virtual IList GetServerSupplementalData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABBF RID: 43967
|
||||
[Token(Token = "0x600ABBF")]
|
||||
[Address(Slot = "56")]
|
||||
public abstract TlsCredentials GetCredentials();
|
||||
|
||||
// Token: 0x0600ABC0 RID: 43968 RVA: 0x0025646C File Offset: 0x0025466C
|
||||
[Token(Token = "0x600ABC0")]
|
||||
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "57")]
|
||||
public virtual CertificateStatus GetCertificateStatus()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC1 RID: 43969
|
||||
[Token(Token = "0x600ABC1")]
|
||||
[Address(Slot = "58")]
|
||||
public abstract TlsKeyExchange GetKeyExchange();
|
||||
|
||||
// Token: 0x0600ABC2 RID: 43970 RVA: 0x0025647C File Offset: 0x0025467C
|
||||
[Token(Token = "0x600ABC2")]
|
||||
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "59")]
|
||||
public virtual CertificateRequest GetCertificateRequest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC3 RID: 43971 RVA: 0x0025648C File Offset: 0x0025468C
|
||||
[Token(Token = "0x600ABC3")]
|
||||
[Address(RVA = "0x18903A0", Offset = "0x188F1A0", VA = "0x1818903A0", Slot = "60")]
|
||||
public virtual void ProcessClientSupplementalData(IList clientSupplementalData)
|
||||
{
|
||||
while (clientSupplementalData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC4 RID: 43972 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABC4")]
|
||||
[Address(RVA = "0x18900C0", Offset = "0x188EEC0", VA = "0x1818900C0", Slot = "61")]
|
||||
public virtual void NotifyClientCertificate(Certificate clientCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC5 RID: 43973 RVA: 0x002564A0 File Offset: 0x002546A0
|
||||
[Token(Token = "0x600ABC5")]
|
||||
[Address(RVA = "0x188F940", Offset = "0x188E740", VA = "0x18188F940", Slot = "15")]
|
||||
public override TlsCompression GetCompression()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABC5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCompression BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsServer::GetCompression()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsNullCompression(var_0_05, newobj:TlsNullCompression(TlsNullCompression::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC6 RID: 43974 RVA: 0x002564B4 File Offset: 0x002546B4
|
||||
[Token(Token = "0x600ABC6")]
|
||||
[Address(RVA = "0x188F860", Offset = "0x188E660", VA = "0x18188F860", Slot = "16")]
|
||||
public override TlsCipher GetCipher()
|
||||
{
|
||||
int num = this.mSelectedCipherSuite;
|
||||
int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(num);
|
||||
int num2 = this.mSelectedCipherSuite;
|
||||
int macAlgorithm = TlsUtilities.GetMacAlgorithm(num2);
|
||||
TlsCipherFactory tlsCipherFactory = this.mCipherFactory;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC7 RID: 43975 RVA: 0x002564EC File Offset: 0x002546EC
|
||||
[Token(Token = "0x600ABC7")]
|
||||
[Address(RVA = "0x188F9C0", Offset = "0x188E7C0", VA = "0x18188F9C0", Slot = "62")]
|
||||
public virtual NewSessionTicket GetNewSessionTicket()
|
||||
{
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
int num;
|
||||
NewSessionTicket newSessionTicket = new NewSessionTicket((long)num, emptyBytes);
|
||||
num = 0;
|
||||
return newSessionTicket;
|
||||
}
|
||||
|
||||
// Token: 0x04006CC2 RID: 27842
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CC2")]
|
||||
protected TlsCipherFactory mCipherFactory;
|
||||
|
||||
// Token: 0x04006CC3 RID: 27843
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CC3")]
|
||||
protected TlsServerContext mContext;
|
||||
|
||||
// Token: 0x04006CC4 RID: 27844
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006CC4")]
|
||||
protected ProtocolVersion mClientVersion;
|
||||
|
||||
// Token: 0x04006CC5 RID: 27845
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006CC5")]
|
||||
protected int[] mOfferedCipherSuites;
|
||||
|
||||
// Token: 0x04006CC6 RID: 27846
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006CC6")]
|
||||
protected byte[] mOfferedCompressionMethods;
|
||||
|
||||
// Token: 0x04006CC7 RID: 27847
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006CC7")]
|
||||
protected IDictionary mClientExtensions;
|
||||
|
||||
// Token: 0x04006CC8 RID: 27848
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006CC8")]
|
||||
protected bool mEncryptThenMacOffered;
|
||||
|
||||
// Token: 0x04006CC9 RID: 27849
|
||||
[FieldOffset(Offset = "0x42")]
|
||||
[Token(Token = "0x4006CC9")]
|
||||
protected short mMaxFragmentLengthOffered;
|
||||
|
||||
// Token: 0x04006CCA RID: 27850
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4006CCA")]
|
||||
protected bool mTruncatedHMacOffered;
|
||||
|
||||
// Token: 0x04006CCB RID: 27851
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006CCB")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006CCC RID: 27852
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006CCC")]
|
||||
protected bool mEccCipherSuitesOffered;
|
||||
|
||||
// Token: 0x04006CCD RID: 27853
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006CCD")]
|
||||
protected int[] mNamedCurves;
|
||||
|
||||
// Token: 0x04006CCE RID: 27854
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006CCE")]
|
||||
protected byte[] mClientECPointFormats;
|
||||
|
||||
// Token: 0x04006CCF RID: 27855
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006CCF")]
|
||||
protected byte[] mServerECPointFormats;
|
||||
|
||||
// Token: 0x04006CD0 RID: 27856
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006CD0")]
|
||||
protected ProtocolVersion mServerVersion;
|
||||
|
||||
// Token: 0x04006CD1 RID: 27857
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006CD1")]
|
||||
protected int mSelectedCipherSuite;
|
||||
|
||||
// Token: 0x04006CD2 RID: 27858
|
||||
[FieldOffset(Offset = "0x7C")]
|
||||
[Token(Token = "0x4006CD2")]
|
||||
protected byte mSelectedCompressionMethod;
|
||||
|
||||
// Token: 0x04006CD3 RID: 27859
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006CD3")]
|
||||
protected IDictionary mServerExtensions;
|
||||
}
|
||||
}
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AF9 RID: 6905
|
||||
[Token(Token = "0x2001AF9")]
|
||||
public abstract class AbstractTlsSigner : TlsSigner
|
||||
{
|
||||
// Token: 0x0600ABC8 RID: 43976 RVA: 0x0025650C File Offset: 0x0025470C
|
||||
[Token(Token = "0x600ABC8")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200", Slot = "14")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABC9 RID: 43977 RVA: 0x00256520 File Offset: 0x00254720
|
||||
[Token(Token = "0x600ABC9")]
|
||||
[Address(RVA = "0x18A6C60", Offset = "0x18A5A60", VA = "0x1818A6C60", Slot = "15")]
|
||||
public virtual byte[] GenerateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5AndSha1)
|
||||
{
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCA RID: 43978
|
||||
[Token(Token = "0x600ABCA")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract byte[] GenerateRawSignature(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey, byte[] hash);
|
||||
|
||||
// Token: 0x0600ABCB RID: 43979 RVA: 0x00256530 File Offset: 0x00254730
|
||||
[Token(Token = "0x600ABCB")]
|
||||
[Address(RVA = "0x18A6C90", Offset = "0x18A5A90", VA = "0x1818A6C90", Slot = "17")]
|
||||
public virtual bool VerifyRawSignature(byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] md5AndSha1)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCC RID: 43980
|
||||
[Token(Token = "0x600ABCC")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract bool VerifyRawSignature(SignatureAndHashAlgorithm algorithm, byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] hash);
|
||||
|
||||
// Token: 0x0600ABCD RID: 43981 RVA: 0x00256540 File Offset: 0x00254740
|
||||
[Token(Token = "0x600ABCD")]
|
||||
[Address(RVA = "0x18A6C20", Offset = "0x18A5A20", VA = "0x1818A6C20", Slot = "19")]
|
||||
public virtual ISigner CreateSigner(AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
int num = 0;
|
||||
return this.CreateSigner(num, privateKey);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABCE RID: 43982
|
||||
[Token(Token = "0x600ABCE")]
|
||||
[Address(Slot = "20")]
|
||||
public abstract ISigner CreateSigner(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey);
|
||||
|
||||
// Token: 0x0600ABCF RID: 43983 RVA: 0x00256558 File Offset: 0x00254758
|
||||
[Token(Token = "0x600ABCF")]
|
||||
[Address(RVA = "0x18A6C40", Offset = "0x18A5A40", VA = "0x1818A6C40", Slot = "21")]
|
||||
public virtual ISigner CreateVerifyer(AsymmetricKeyParameter publicKey)
|
||||
{
|
||||
int num = 0;
|
||||
return this.CreateSigner(num, publicKey);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD0 RID: 43984
|
||||
[Token(Token = "0x600ABD0")]
|
||||
[Address(Slot = "22")]
|
||||
public abstract ISigner CreateVerifyer(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter publicKey);
|
||||
|
||||
// Token: 0x0600ABD1 RID: 43985
|
||||
[Token(Token = "0x600ABD1")]
|
||||
[Address(Slot = "23")]
|
||||
public abstract bool IsValidPublicKey(AsymmetricKeyParameter publicKey);
|
||||
|
||||
// Token: 0x0600ABD2 RID: 43986 RVA: 0x00256570 File Offset: 0x00254770
|
||||
[Token(Token = "0x600ABD2")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AbstractTlsSigner()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006CD4 RID: 27860
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CD4")]
|
||||
protected TlsContext mContext;
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AFA RID: 6906
|
||||
[Token(Token = "0x2001AFA")]
|
||||
public abstract class AbstractTlsSignerCredentials : AbstractTlsCredentials, TlsSignerCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x0600ABD3 RID: 43987
|
||||
[Token(Token = "0x600ABD3")]
|
||||
[Address(Slot = "8")]
|
||||
public abstract byte[] GenerateCertificateSignature(byte[] hash);
|
||||
|
||||
// Token: 0x17001B44 RID: 6980
|
||||
// (get) Token: 0x0600ABD4 RID: 43988 RVA: 0x00256584 File Offset: 0x00254784
|
||||
[Token(Token = "0x17001B44")]
|
||||
public virtual SignatureAndHashAlgorithm SignatureAndHashAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600ABD4")]
|
||||
[Address(RVA = "0x18A6BC0", Offset = "0x18A59C0", VA = "0x1818A6BC0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABD4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsSignerCredentials::get_SignatureAndHashAlgorithm()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("TlsSignerCredentials implementation does not support (D)TLS 1.2+")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD5 RID: 43989 RVA: 0x0025659C File Offset: 0x0025479C
|
||||
[Token(Token = "0x600ABD5")]
|
||||
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
|
||||
protected AbstractTlsSignerCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+174
@@ -0,0 +1,174 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AFB RID: 6907
|
||||
[Token(Token = "0x2001AFB")]
|
||||
public abstract class AlertDescription
|
||||
{
|
||||
// Token: 0x0600ABD6 RID: 43990 RVA: 0x002565B0 File Offset: 0x002547B0
|
||||
[Token(Token = "0x600ABD6")]
|
||||
[Address(RVA = "0x18A6CC0", Offset = "0x18A5AC0", VA = "0x1818A6CC0")]
|
||||
public static string GetName(byte alertDescription)
|
||||
{
|
||||
return "user_canceled";
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD7 RID: 43991 RVA: 0x0025667C File Offset: 0x0025487C
|
||||
[Token(Token = "0x600ABD7")]
|
||||
[Address(RVA = "0x18A6FA0", Offset = "0x18A5DA0", VA = "0x1818A6FA0")]
|
||||
public static string GetText(byte alertDescription)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("bad_record_mac" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "bad_record_mac";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABD8 RID: 43992 RVA: 0x002566EC File Offset: 0x002548EC
|
||||
[Token(Token = "0x600ABD8")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AlertDescription()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006CD5 RID: 27861
|
||||
[Token(Token = "0x4006CD5")]
|
||||
public const byte close_notify = 0;
|
||||
|
||||
// Token: 0x04006CD6 RID: 27862
|
||||
[Token(Token = "0x4006CD6")]
|
||||
public const byte unexpected_message = 10;
|
||||
|
||||
// Token: 0x04006CD7 RID: 27863
|
||||
[Token(Token = "0x4006CD7")]
|
||||
public const byte bad_record_mac = 20;
|
||||
|
||||
// Token: 0x04006CD8 RID: 27864
|
||||
[Token(Token = "0x4006CD8")]
|
||||
public const byte decryption_failed = 21;
|
||||
|
||||
// Token: 0x04006CD9 RID: 27865
|
||||
[Token(Token = "0x4006CD9")]
|
||||
public const byte record_overflow = 22;
|
||||
|
||||
// Token: 0x04006CDA RID: 27866
|
||||
[Token(Token = "0x4006CDA")]
|
||||
public const byte decompression_failure = 30;
|
||||
|
||||
// Token: 0x04006CDB RID: 27867
|
||||
[Token(Token = "0x4006CDB")]
|
||||
public const byte handshake_failure = 40;
|
||||
|
||||
// Token: 0x04006CDC RID: 27868
|
||||
[Token(Token = "0x4006CDC")]
|
||||
public const byte no_certificate = 41;
|
||||
|
||||
// Token: 0x04006CDD RID: 27869
|
||||
[Token(Token = "0x4006CDD")]
|
||||
public const byte bad_certificate = 42;
|
||||
|
||||
// Token: 0x04006CDE RID: 27870
|
||||
[Token(Token = "0x4006CDE")]
|
||||
public const byte unsupported_certificate = 43;
|
||||
|
||||
// Token: 0x04006CDF RID: 27871
|
||||
[Token(Token = "0x4006CDF")]
|
||||
public const byte certificate_revoked = 44;
|
||||
|
||||
// Token: 0x04006CE0 RID: 27872
|
||||
[Token(Token = "0x4006CE0")]
|
||||
public const byte certificate_expired = 45;
|
||||
|
||||
// Token: 0x04006CE1 RID: 27873
|
||||
[Token(Token = "0x4006CE1")]
|
||||
public const byte certificate_unknown = 46;
|
||||
|
||||
// Token: 0x04006CE2 RID: 27874
|
||||
[Token(Token = "0x4006CE2")]
|
||||
public const byte illegal_parameter = 47;
|
||||
|
||||
// Token: 0x04006CE3 RID: 27875
|
||||
[Token(Token = "0x4006CE3")]
|
||||
public const byte unknown_ca = 48;
|
||||
|
||||
// Token: 0x04006CE4 RID: 27876
|
||||
[Token(Token = "0x4006CE4")]
|
||||
public const byte access_denied = 49;
|
||||
|
||||
// Token: 0x04006CE5 RID: 27877
|
||||
[Token(Token = "0x4006CE5")]
|
||||
public const byte decode_error = 50;
|
||||
|
||||
// Token: 0x04006CE6 RID: 27878
|
||||
[Token(Token = "0x4006CE6")]
|
||||
public const byte decrypt_error = 51;
|
||||
|
||||
// Token: 0x04006CE7 RID: 27879
|
||||
[Token(Token = "0x4006CE7")]
|
||||
public const byte export_restriction = 60;
|
||||
|
||||
// Token: 0x04006CE8 RID: 27880
|
||||
[Token(Token = "0x4006CE8")]
|
||||
public const byte protocol_version = 70;
|
||||
|
||||
// Token: 0x04006CE9 RID: 27881
|
||||
[Token(Token = "0x4006CE9")]
|
||||
public const byte insufficient_security = 71;
|
||||
|
||||
// Token: 0x04006CEA RID: 27882
|
||||
[Token(Token = "0x4006CEA")]
|
||||
public const byte internal_error = 80;
|
||||
|
||||
// Token: 0x04006CEB RID: 27883
|
||||
[Token(Token = "0x4006CEB")]
|
||||
public const byte user_canceled = 90;
|
||||
|
||||
// Token: 0x04006CEC RID: 27884
|
||||
[Token(Token = "0x4006CEC")]
|
||||
public const byte no_renegotiation = 100;
|
||||
|
||||
// Token: 0x04006CED RID: 27885
|
||||
[Token(Token = "0x4006CED")]
|
||||
public const byte unsupported_extension = 110;
|
||||
|
||||
// Token: 0x04006CEE RID: 27886
|
||||
[Token(Token = "0x4006CEE")]
|
||||
public const byte certificate_unobtainable = 111;
|
||||
|
||||
// Token: 0x04006CEF RID: 27887
|
||||
[Token(Token = "0x4006CEF")]
|
||||
public const byte unrecognized_name = 112;
|
||||
|
||||
// Token: 0x04006CF0 RID: 27888
|
||||
[Token(Token = "0x4006CF0")]
|
||||
public const byte bad_certificate_status_response = 113;
|
||||
|
||||
// Token: 0x04006CF1 RID: 27889
|
||||
[Token(Token = "0x4006CF1")]
|
||||
public const byte bad_certificate_hash_value = 114;
|
||||
|
||||
// Token: 0x04006CF2 RID: 27890
|
||||
[Token(Token = "0x4006CF2")]
|
||||
public const byte unknown_psk_identity = 115;
|
||||
|
||||
// Token: 0x04006CF3 RID: 27891
|
||||
[Token(Token = "0x4006CF3")]
|
||||
public const byte inappropriate_fallback = 86;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AFC RID: 6908
|
||||
[Token(Token = "0x2001AFC")]
|
||||
public abstract class AlertLevel
|
||||
{
|
||||
// Token: 0x0600ABD9 RID: 43993 RVA: 0x00256700 File Offset: 0x00254900
|
||||
[Token(Token = "0x600ABD9")]
|
||||
[Address(RVA = "0x18A7410", Offset = "0x18A6210", VA = "0x1818A7410")]
|
||||
public static string GetName(byte alertDescription)
|
||||
{
|
||||
return "warning";
|
||||
}
|
||||
|
||||
// Token: 0x0600ABDA RID: 43994 RVA: 0x00256714 File Offset: 0x00254914
|
||||
[Token(Token = "0x600ABDA")]
|
||||
[Address(RVA = "0x18A7460", Offset = "0x18A6260", VA = "0x1818A7460")]
|
||||
public static string GetText(byte alertDescription)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
string text;
|
||||
if (text != 0)
|
||||
{
|
||||
}
|
||||
array[0] = text;
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABDB RID: 43995 RVA: 0x0025677C File Offset: 0x0025497C
|
||||
[Token(Token = "0x600ABDB")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected AlertLevel()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006CF4 RID: 27892
|
||||
[Token(Token = "0x4006CF4")]
|
||||
public const byte warning = 1;
|
||||
|
||||
// Token: 0x04006CF5 RID: 27893
|
||||
[Token(Token = "0x4006CF5")]
|
||||
public const byte fatal = 2;
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AFD RID: 6909
|
||||
[Token(Token = "0x2001AFD")]
|
||||
public class BasicTlsPskIdentity : TlsPskIdentity
|
||||
{
|
||||
// Token: 0x0600ABDC RID: 43996 RVA: 0x00256790 File Offset: 0x00254990
|
||||
[Token(Token = "0x600ABDC")]
|
||||
[Address(RVA = "0x18A7670", Offset = "0x18A6470", VA = "0x1818A7670")]
|
||||
public BasicTlsPskIdentity(byte[] identity, byte[] psk)
|
||||
{
|
||||
this.SkipIdentityHint();
|
||||
byte[] array = Arrays.Clone(identity);
|
||||
this.mIdentity = array;
|
||||
byte[] array2 = Arrays.Clone(psk);
|
||||
this.mPsk = array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABDD RID: 43997 RVA: 0x002567C0 File Offset: 0x002549C0
|
||||
[Token(Token = "0x600ABDD")]
|
||||
[Address(RVA = "0x18A7700", Offset = "0x18A6500", VA = "0x1818A7700")]
|
||||
public BasicTlsPskIdentity(string identity, byte[] psk)
|
||||
{
|
||||
this.SkipIdentityHint();
|
||||
byte[] array = Arrays.Clone(psk);
|
||||
this.mPsk = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABDE RID: 43998 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABDE")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "8")]
|
||||
public virtual void SkipIdentityHint()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABDF RID: 43999 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABDF")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "9")]
|
||||
public virtual void NotifyIdentityHint(byte[] psk_identity_hint)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE0 RID: 44000 RVA: 0x002567E4 File Offset: 0x002549E4
|
||||
[Token(Token = "0x600ABE0")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "10")]
|
||||
public virtual byte[] GetPskIdentity()
|
||||
{
|
||||
return this.mIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE1 RID: 44001 RVA: 0x002567F8 File Offset: 0x002549F8
|
||||
[Token(Token = "0x600ABE1")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "11")]
|
||||
public virtual byte[] GetPsk()
|
||||
{
|
||||
return this.mPsk;
|
||||
}
|
||||
|
||||
// Token: 0x04006CF6 RID: 27894
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006CF6")]
|
||||
protected byte[] mIdentity;
|
||||
|
||||
// Token: 0x04006CF7 RID: 27895
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006CF7")]
|
||||
protected byte[] mPsk;
|
||||
}
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AFE RID: 6910
|
||||
[Token(Token = "0x2001AFE")]
|
||||
public abstract class BulkCipherAlgorithm
|
||||
{
|
||||
// Token: 0x0600ABE2 RID: 44002 RVA: 0x0025680C File Offset: 0x00254A0C
|
||||
[Token(Token = "0x600ABE2")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected BulkCipherAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006CF8 RID: 27896
|
||||
[Token(Token = "0x4006CF8")]
|
||||
public const int cls_null = 0;
|
||||
|
||||
// Token: 0x04006CF9 RID: 27897
|
||||
[Token(Token = "0x4006CF9")]
|
||||
public const int rc4 = 1;
|
||||
|
||||
// Token: 0x04006CFA RID: 27898
|
||||
[Token(Token = "0x4006CFA")]
|
||||
public const int rc2 = 2;
|
||||
|
||||
// Token: 0x04006CFB RID: 27899
|
||||
[Token(Token = "0x4006CFB")]
|
||||
public const int des = 3;
|
||||
|
||||
// Token: 0x04006CFC RID: 27900
|
||||
[Token(Token = "0x4006CFC")]
|
||||
public const int cls_3des = 4;
|
||||
|
||||
// Token: 0x04006CFD RID: 27901
|
||||
[Token(Token = "0x4006CFD")]
|
||||
public const int des40 = 5;
|
||||
|
||||
// Token: 0x04006CFE RID: 27902
|
||||
[Token(Token = "0x4006CFE")]
|
||||
public const int aes = 6;
|
||||
|
||||
// Token: 0x04006CFF RID: 27903
|
||||
[Token(Token = "0x4006CFF")]
|
||||
public const int idea = 7;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,210 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001AFF RID: 6911
|
||||
[Token(Token = "0x2001AFF")]
|
||||
public class ByteQueue
|
||||
{
|
||||
// Token: 0x0600ABE3 RID: 44003 RVA: 0x00256820 File Offset: 0x00254A20
|
||||
[Token(Token = "0x600ABE3")]
|
||||
[Address(RVA = "0x18A8150", Offset = "0x18A6F50", VA = "0x1818A8150")]
|
||||
public static int NextTwoPow(int i)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE4 RID: 44004 RVA: 0x00256830 File Offset: 0x00254A30
|
||||
[Token(Token = "0x600ABE4")]
|
||||
[Address(RVA = "0x18A8950", Offset = "0x18A7750", VA = "0x1818A8950")]
|
||||
public ByteQueue()
|
||||
{
|
||||
byte[] array = new byte[1024];
|
||||
this.databuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE5 RID: 44005 RVA: 0x0025685C File Offset: 0x00254A5C
|
||||
[Token(Token = "0x600ABE5")]
|
||||
[Address(RVA = "0x18A88B0", Offset = "0x18A76B0", VA = "0x1818A88B0")]
|
||||
public ByteQueue(int capacity)
|
||||
{
|
||||
if (capacity == 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[capacity];
|
||||
this.databuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE6 RID: 44006 RVA: 0x00256888 File Offset: 0x00254A88
|
||||
[Token(Token = "0x600ABE6")]
|
||||
[Address(RVA = "0x18A89B0", Offset = "0x18A77B0", VA = "0x1818A89B0")]
|
||||
public ByteQueue(byte[] buf, int off, int len)
|
||||
{
|
||||
this.databuf = buf;
|
||||
this.available = len;
|
||||
this.skipped = off;
|
||||
this.readOnlyBuf = true;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE7 RID: 44007 RVA: 0x002568B8 File Offset: 0x00254AB8
|
||||
[Token(Token = "0x600ABE7")]
|
||||
[Address(RVA = "0x18A7E40", Offset = "0x18A6C40", VA = "0x1818A7E40")]
|
||||
public void AddData(byte[] data, int offset, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABE7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueue::AddData(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_85:
|
||||
stloc:InvalidOperationException(var_11_8F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot add data to read-only buffer")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B45 RID: 6981
|
||||
// (get) Token: 0x0600ABE8 RID: 44008 RVA: 0x00256958 File Offset: 0x00254B58
|
||||
[Token(Token = "0x17001B45")]
|
||||
public int Available
|
||||
{
|
||||
[Token(Token = "0x600ABE8")]
|
||||
[Address(RVA = "0x41F5B0", Offset = "0x41E3B0", VA = "0x18041F5B0")]
|
||||
get
|
||||
{
|
||||
return this.available;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABE9 RID: 44009 RVA: 0x0025696C File Offset: 0x00254B6C
|
||||
[Token(Token = "0x600ABE9")]
|
||||
[Address(RVA = "0x18A7FB0", Offset = "0x18A6DB0", VA = "0x1818A7FB0")]
|
||||
public void CopyTo(Stream output, int length)
|
||||
{
|
||||
int num = output.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABEA RID: 44010 RVA: 0x002569E4 File Offset: 0x00254BE4
|
||||
[Token(Token = "0x600ABEA")]
|
||||
[Address(RVA = "0x18A8340", Offset = "0x18A7140", VA = "0x1818A8340")]
|
||||
public void Read(byte[] buf, int offset, int len, int skip)
|
||||
{
|
||||
int num = buf.Length;
|
||||
num -= offset;
|
||||
int num2 = this.available;
|
||||
int num3 = this.skipped;
|
||||
byte[] array = this.databuf;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABEB RID: 44011 RVA: 0x00256A18 File Offset: 0x00254C18
|
||||
[Token(Token = "0x600ABEB")]
|
||||
[Address(RVA = "0x18A8180", Offset = "0x18A6F80", VA = "0x1818A8180")]
|
||||
public MemoryStream ReadFrom(int length)
|
||||
{
|
||||
int num = this.available;
|
||||
int num2 = this.skipped;
|
||||
num -= length;
|
||||
byte[] array = this.databuf;
|
||||
this.available = num;
|
||||
this.skipped = num;
|
||||
ulong num3;
|
||||
return new MemoryStream(array, num2, length, num3 != 0UL);
|
||||
}
|
||||
|
||||
// Token: 0x0600ABEC RID: 44012 RVA: 0x00256AB4 File Offset: 0x00254CB4
|
||||
[Token(Token = "0x600ABEC")]
|
||||
[Address(RVA = "0x18A85A0", Offset = "0x18A73A0", VA = "0x1818A85A0")]
|
||||
public void RemoveData(int i)
|
||||
{
|
||||
int num = this.available;
|
||||
num -= i;
|
||||
this.available = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABED RID: 44013 RVA: 0x00256B30 File Offset: 0x00254D30
|
||||
[Token(Token = "0x600ABED")]
|
||||
[Address(RVA = "0x18A8550", Offset = "0x18A7350", VA = "0x1818A8550")]
|
||||
public void RemoveData(byte[] buf, int off, int len, int skip)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ABEE RID: 44014 RVA: 0x00256B40 File Offset: 0x00254D40
|
||||
[Token(Token = "0x600ABEE")]
|
||||
[Address(RVA = "0x18A8710", Offset = "0x18A7510", VA = "0x1818A8710")]
|
||||
public byte[] RemoveData(int len, int skip)
|
||||
{
|
||||
byte[] array = new byte[len];
|
||||
int num = 0;
|
||||
this.Read(array, num, len, skip);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABEF RID: 44015 RVA: 0x00256B64 File Offset: 0x00254D64
|
||||
[Token(Token = "0x600ABEF")]
|
||||
[Address(RVA = "0x18A87A0", Offset = "0x18A75A0", VA = "0x1818A87A0")]
|
||||
public void Shrink()
|
||||
{
|
||||
int num = this.available;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.databuf;
|
||||
num++;
|
||||
if (num < array.Length)
|
||||
{
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = this.available;
|
||||
int num3 = 0;
|
||||
int num4 = this.skipped;
|
||||
Array.Copy(this.databuf, num4, array2, num3, num2);
|
||||
this.databuf = array2;
|
||||
this.skipped = (int)((ulong)0L);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
this.databuf = emptyBytes;
|
||||
this.skipped = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006D00 RID: 27904
|
||||
[Token(Token = "0x4006D00")]
|
||||
private const int DefaultCapacity = 1024;
|
||||
|
||||
// Token: 0x04006D01 RID: 27905
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D01")]
|
||||
private byte[] databuf;
|
||||
|
||||
// Token: 0x04006D02 RID: 27906
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D02")]
|
||||
private int skipped;
|
||||
|
||||
// Token: 0x04006D03 RID: 27907
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006D03")]
|
||||
private int available;
|
||||
|
||||
// Token: 0x04006D04 RID: 27908
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D04")]
|
||||
private bool readOnlyBuf;
|
||||
}
|
||||
}
|
||||
+325
@@ -0,0 +1,325 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B00 RID: 6912
|
||||
[Token(Token = "0x2001B00")]
|
||||
public class ByteQueueStream : Stream
|
||||
{
|
||||
// Token: 0x0600ABF0 RID: 44016 RVA: 0x00256BEC File Offset: 0x00254DEC
|
||||
[Token(Token = "0x600ABF0")]
|
||||
[Address(RVA = "0x18A7C70", Offset = "0x18A6A70", VA = "0x1818A7C70")]
|
||||
public ByteQueueStream()
|
||||
{
|
||||
ByteQueue byteQueue = new ByteQueue();
|
||||
byte[] array = new byte[1024];
|
||||
byteQueue.databuf = array;
|
||||
this.buffer = byteQueue;
|
||||
}
|
||||
|
||||
// Token: 0x17001B46 RID: 6982
|
||||
// (get) Token: 0x0600ABF1 RID: 44017 RVA: 0x00256C24 File Offset: 0x00254E24
|
||||
[Token(Token = "0x17001B46")]
|
||||
public virtual int Available
|
||||
{
|
||||
[Token(Token = "0x600ABF1")]
|
||||
[Address(RVA = "0x18A7D30", Offset = "0x18A6B30", VA = "0x1818A7D30", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return this.buffer.available;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B47 RID: 6983
|
||||
// (get) Token: 0x0600ABF2 RID: 44018 RVA: 0x00256C44 File Offset: 0x00254E44
|
||||
[Token(Token = "0x17001B47")]
|
||||
public override bool CanRead
|
||||
{
|
||||
[Token(Token = "0x600ABF2")]
|
||||
[Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B48 RID: 6984
|
||||
// (get) Token: 0x0600ABF3 RID: 44019 RVA: 0x00256C54 File Offset: 0x00254E54
|
||||
[Token(Token = "0x17001B48")]
|
||||
public override bool CanSeek
|
||||
{
|
||||
[Token(Token = "0x600ABF3")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "8")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B49 RID: 6985
|
||||
// (get) Token: 0x0600ABF4 RID: 44020 RVA: 0x00256C64 File Offset: 0x00254E64
|
||||
[Token(Token = "0x17001B49")]
|
||||
public override bool CanWrite
|
||||
{
|
||||
[Token(Token = "0x600ABF4")]
|
||||
[Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABF5 RID: 44021 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ABF5")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "17")]
|
||||
public override void Flush()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001B4A RID: 6986
|
||||
// (get) Token: 0x0600ABF6 RID: 44022 RVA: 0x00256C74 File Offset: 0x00254E74
|
||||
[Token(Token = "0x17001B4A")]
|
||||
public override long Length
|
||||
{
|
||||
[Token(Token = "0x600ABF6")]
|
||||
[Address(RVA = "0x18A7D50", Offset = "0x18A6B50", VA = "0x1818A7D50", Slot = "10")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABF6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Length()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABF7 RID: 44023 RVA: 0x00256C88 File Offset: 0x00254E88
|
||||
[Token(Token = "0x600ABF7")]
|
||||
[Address(RVA = "0x18A7790", Offset = "0x18A6590", VA = "0x1818A7790", Slot = "32")]
|
||||
public virtual int Peek(byte[] buf)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int length = buf.Length;
|
||||
int num2 = Math.Min(num, length);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
byteQueue.Read(buf, num4, num, num3);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x17001B4B RID: 6987
|
||||
// (get) Token: 0x0600ABF8 RID: 44024 RVA: 0x00256CD4 File Offset: 0x00254ED4
|
||||
// (set) Token: 0x0600ABF9 RID: 44025 RVA: 0x00256CE8 File Offset: 0x00254EE8
|
||||
[Token(Token = "0x17001B4B")]
|
||||
public override long Position
|
||||
{
|
||||
[Token(Token = "0x600ABF8")]
|
||||
[Address(RVA = "0x18A7DA0", Offset = "0x18A6BA0", VA = "0x1818A7DA0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABF8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Position()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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 1660
|
||||
*/;
|
||||
}
|
||||
[Token(Token = "0x600ABF9")]
|
||||
[Address(RVA = "0x18A7DF0", Offset = "0x18A6BF0", VA = "0x1818A7DF0", Slot = "12")]
|
||||
set
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABF9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::set_Position(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFA RID: 44026 RVA: 0x00256CFC File Offset: 0x00254EFC
|
||||
[Token(Token = "0x600ABFA")]
|
||||
[Address(RVA = "0x18A79E0", Offset = "0x18A67E0", VA = "0x1818A79E0", Slot = "33")]
|
||||
public virtual int Read(byte[] buf)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFB RID: 44027 RVA: 0x00256D10 File Offset: 0x00254F10
|
||||
[Token(Token = "0x600ABFB")]
|
||||
[Address(RVA = "0x18A7910", Offset = "0x18A6710", VA = "0x1818A7910", Slot = "27")]
|
||||
public override int Read(byte[] buf, int off, int len)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int num2 = Math.Min(num, len);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
int num3 = 0;
|
||||
byteQueue.Read(buf, off, len, num3);
|
||||
byteQueue.RemoveData(num);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFC RID: 44028 RVA: 0x00256D54 File Offset: 0x00254F54
|
||||
[Token(Token = "0x600ABFC")]
|
||||
[Address(RVA = "0x18A7840", Offset = "0x18A6640", VA = "0x1818A7840", Slot = "28")]
|
||||
public override int ReadByte()
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
if (byteQueue.available != 0)
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
byteQueue.Read(array, num, 1, num2);
|
||||
byteQueue.RemoveData(1);
|
||||
byte b = array[0];
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFD RID: 44029 RVA: 0x00256DA0 File Offset: 0x00254FA0
|
||||
[Token(Token = "0x600ABFD")]
|
||||
[Address(RVA = "0x18A7A20", Offset = "0x18A6820", VA = "0x1818A7A20", Slot = "25")]
|
||||
public override long Seek(long offset, SeekOrigin origin)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABFD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::Seek(System.Int64,System.IO.SeekOrigin)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFE RID: 44030 RVA: 0x00256DB4 File Offset: 0x00254FB4
|
||||
[Token(Token = "0x600ABFE")]
|
||||
[Address(RVA = "0x18A7A70", Offset = "0x18A6870", VA = "0x1818A7A70", Slot = "26")]
|
||||
public override void SetLength(long value)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ABFE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::SetLength(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ABFF RID: 44031 RVA: 0x00256DC8 File Offset: 0x00254FC8
|
||||
[Token(Token = "0x600ABFF")]
|
||||
[Address(RVA = "0x18A7AC0", Offset = "0x18A68C0", VA = "0x1818A7AC0", Slot = "34")]
|
||||
public virtual int Skip(int n)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int num2 = Math.Min(num, n);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
byteQueue.RemoveData(n);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC00 RID: 44032 RVA: 0x00256E04 File Offset: 0x00255004
|
||||
[Token(Token = "0x600AC00")]
|
||||
[Address(RVA = "0x18A7C00", Offset = "0x18A6A00", VA = "0x1818A7C00", Slot = "35")]
|
||||
public virtual void Write(byte[] buf)
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
int length = buf.Length;
|
||||
int num = 0;
|
||||
byteQueue.AddData(buf, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC01 RID: 44033 RVA: 0x00256E30 File Offset: 0x00255030
|
||||
[Token(Token = "0x600AC01")]
|
||||
[Address(RVA = "0x18A7C40", Offset = "0x18A6A40", VA = "0x1818A7C40", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
this.buffer.AddData(buf, off, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC02 RID: 44034 RVA: 0x00256E54 File Offset: 0x00255054
|
||||
[Token(Token = "0x600AC02")]
|
||||
[Address(RVA = "0x18A7B60", Offset = "0x18A6960", VA = "0x1818A7B60", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
byte[] array = new byte[] { b };
|
||||
int num = 0;
|
||||
byteQueue.AddData(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x04006D05 RID: 27909
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006D05")]
|
||||
private readonly ByteQueue buffer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B01 RID: 6913
|
||||
[Token(Token = "0x2001B01")]
|
||||
public abstract class CertChainType
|
||||
{
|
||||
// Token: 0x0600AC03 RID: 44035 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC03")]
|
||||
[Address(RVA = "0x18A8A00", Offset = "0x18A7800", VA = "0x1818A8A00")]
|
||||
public static bool IsValid(byte certChainType)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC04 RID: 44036 RVA: 0x00256E88 File Offset: 0x00255088
|
||||
[Token(Token = "0x600AC04")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected CertChainType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006D06 RID: 27910
|
||||
[Token(Token = "0x4006D06")]
|
||||
public const byte individual_certs = 0;
|
||||
|
||||
// Token: 0x04006D07 RID: 27911
|
||||
[Token(Token = "0x4006D07")]
|
||||
public const byte pkipath = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B02 RID: 6914
|
||||
[Token(Token = "0x2001B02")]
|
||||
public class Certificate
|
||||
{
|
||||
// Token: 0x0600AC05 RID: 44037 RVA: 0x00256E9C File Offset: 0x0025509C
|
||||
[Token(Token = "0x600AC05")]
|
||||
[Address(RVA = "0x18AADE0", Offset = "0x18A9BE0", VA = "0x1818AADE0")]
|
||||
public Certificate(X509CertificateStructure[] certificateList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC05)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("certificateList")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC06 RID: 44038 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC06")]
|
||||
[Address(RVA = "0x51A270", Offset = "0x519070", VA = "0x18051A270", Slot = "4")]
|
||||
public virtual X509CertificateStructure[] GetCertificateList()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC07 RID: 44039 RVA: 0x00256EC8 File Offset: 0x002550C8
|
||||
[Token(Token = "0x600AC07")]
|
||||
[Address(RVA = "0x73C670", Offset = "0x73B470", VA = "0x18073C670", Slot = "5")]
|
||||
public virtual X509CertificateStructure GetCertificateAt(int index)
|
||||
{
|
||||
return this.mCertificateList[index];
|
||||
}
|
||||
|
||||
// Token: 0x17001B4C RID: 6988
|
||||
// (get) Token: 0x0600AC08 RID: 44040 RVA: 0x00256EE8 File Offset: 0x002550E8
|
||||
[Token(Token = "0x17001B4C")]
|
||||
public virtual int Length
|
||||
{
|
||||
[Token(Token = "0x600AC08")]
|
||||
[Address(RVA = "0x40DB30", Offset = "0x40C930", VA = "0x18040DB30", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateList.Length;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B4D RID: 6989
|
||||
// (get) Token: 0x0600AC09 RID: 44041 RVA: 0x00256F08 File Offset: 0x00255108
|
||||
[Token(Token = "0x17001B4D")]
|
||||
public virtual bool IsEmpty
|
||||
{
|
||||
[Token(Token = "0x600AC09")]
|
||||
[Address(RVA = "0x40DB10", Offset = "0x40C910", VA = "0x18040DB10", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateList.Length == 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC0A RID: 44042 RVA: 0x00256F2C File Offset: 0x0025512C
|
||||
[Token(Token = "0x600AC0A")]
|
||||
[Address(RVA = "0x18AA540", Offset = "0x18A9340", VA = "0x1818AA540", Slot = "8")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IList list = Platform.CreateArrayList(this.mCertificateList.Length);
|
||||
X509CertificateStructure[] array = this.mCertificateList;
|
||||
int length = array.Length;
|
||||
if (num < length)
|
||||
{
|
||||
X509CertificateStructure x509CertificateStructure = array[num];
|
||||
int num2 = 0;
|
||||
byte[] encoded = x509CertificateStructure.GetEncoded("DER");
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += 3;
|
||||
num++;
|
||||
num += num;
|
||||
}
|
||||
TlsUtilities.CheckUint24(num);
|
||||
TlsUtilities.WriteUint24(num, output);
|
||||
if (num < list)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num3 = 0;
|
||||
if (list != 0)
|
||||
{
|
||||
if (num < num3)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += 19;
|
||||
num++;
|
||||
num += 19;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC0B RID: 44043 RVA: 0x00256FE0 File Offset: 0x002551E0
|
||||
[Token(Token = "0x600AC0B")]
|
||||
[Address(RVA = "0x18AA8F0", Offset = "0x18A96F0", VA = "0x1818AA8F0")]
|
||||
public static Certificate Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC0B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D1:
|
||||
stloc:ArgumentNullException(var_15_DB, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("certificateList")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC0C RID: 44044 RVA: 0x002570CC File Offset: 0x002552CC
|
||||
[Token(Token = "0x600AC0C")]
|
||||
[Address(RVA = "0x18AA4C0", Offset = "0x18A92C0", VA = "0x1818AA4C0", Slot = "9")]
|
||||
protected virtual X509CertificateStructure[] CloneCertificateList()
|
||||
{
|
||||
X509CertificateStructure[] array = this.mCertificateList;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006D08 RID: 27912
|
||||
[Token(Token = "0x4006D08")]
|
||||
public static readonly Certificate EmptyChain = new Certificate(new X509CertificateStructure[0]);
|
||||
|
||||
// Token: 0x04006D09 RID: 27913
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D09")]
|
||||
protected readonly X509CertificateStructure[] mCertificateList;
|
||||
}
|
||||
}
|
||||
+187
@@ -0,0 +1,187 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B03 RID: 6915
|
||||
[Token(Token = "0x2001B03")]
|
||||
public class CertificateRequest
|
||||
{
|
||||
// Token: 0x0600AC0E RID: 44046 RVA: 0x00257108 File Offset: 0x00255308
|
||||
[Token(Token = "0x600AC0E")]
|
||||
[Address(RVA = "0x4A7B10", Offset = "0x4A6910", VA = "0x1804A7B10")]
|
||||
public CertificateRequest(byte[] certificateTypes, IList supportedSignatureAlgorithms, IList certificateAuthorities)
|
||||
{
|
||||
this.mCertificateTypes = certificateTypes;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
this.mCertificateAuthorities = certificateAuthorities;
|
||||
}
|
||||
|
||||
// Token: 0x17001B4E RID: 6990
|
||||
// (get) Token: 0x0600AC0F RID: 44047 RVA: 0x00257130 File Offset: 0x00255330
|
||||
[Token(Token = "0x17001B4E")]
|
||||
public virtual byte[] CertificateTypes
|
||||
{
|
||||
[Token(Token = "0x600AC0F")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateTypes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B4F RID: 6991
|
||||
// (get) Token: 0x0600AC10 RID: 44048 RVA: 0x00257144 File Offset: 0x00255344
|
||||
[Token(Token = "0x17001B4F")]
|
||||
public virtual IList SupportedSignatureAlgorithms
|
||||
{
|
||||
[Token(Token = "0x600AC10")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSupportedSignatureAlgorithms;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B50 RID: 6992
|
||||
// (get) Token: 0x0600AC11 RID: 44049 RVA: 0x00257158 File Offset: 0x00255358
|
||||
[Token(Token = "0x17001B50")]
|
||||
public virtual IList CertificateAuthorities
|
||||
{
|
||||
[Token(Token = "0x600AC11")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC12 RID: 44050 RVA: 0x0025716C File Offset: 0x0025536C
|
||||
[Token(Token = "0x600AC12")]
|
||||
[Address(RVA = "0x18A8A10", Offset = "0x18A7810", VA = "0x1818A8A10", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
byte[] array = this.mCertificateTypes;
|
||||
if (array != 0 && array.Length != num)
|
||||
{
|
||||
TlsUtilities.WriteUint8ArrayWithUint8Length(array, output);
|
||||
}
|
||||
TlsUtilities.WriteUint8(0, output);
|
||||
IList list = this.mSupportedSignatureAlgorithms;
|
||||
if (list != 0)
|
||||
{
|
||||
int num2 = 0;
|
||||
TlsUtilities.EncodeSupportedSignatureAlgorithms(list, num2 != 0, output);
|
||||
}
|
||||
if (this.mCertificateAuthorities == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IList list2 = this.mCertificateAuthorities;
|
||||
IList list3 = this.mCertificateAuthorities;
|
||||
IList list4;
|
||||
if (list4 != 0)
|
||||
{
|
||||
if (num < list4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
ulong num3;
|
||||
list4 += num3;
|
||||
if (list4 == 0 || list4 == 0)
|
||||
{
|
||||
goto IL_F9;
|
||||
}
|
||||
int num4 = 0;
|
||||
if (num < num4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array2;
|
||||
int num5 = array2.Length;
|
||||
num5 += 2;
|
||||
num += num5;
|
||||
array2 += array2;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_105;
|
||||
}
|
||||
if (num == -1 || "{il2cpp array field local25->}" == (ulong)190L)
|
||||
{
|
||||
}
|
||||
TlsUtilities.CheckUint16(num);
|
||||
TlsUtilities.WriteUint16(num, output);
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (1 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
return;
|
||||
IL_F9:
|
||||
throw new NullReferenceException();
|
||||
IL_105:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC13 RID: 44051 RVA: 0x00257284 File Offset: 0x00255484
|
||||
[Token(Token = "0x600AC13")]
|
||||
[Address(RVA = "0x18A8FC0", Offset = "0x18A7DC0", VA = "0x1818A8FC0")]
|
||||
public static CertificateRequest Parse(TlsContext context, Stream input)
|
||||
{
|
||||
byte[] array = new byte[(int)TlsUtilities.ReadUint8(input)];
|
||||
int num = 0;
|
||||
byte b = TlsUtilities.ReadUint8(input);
|
||||
num++;
|
||||
IList list;
|
||||
if (TlsUtilities.IsTlsV12(context))
|
||||
{
|
||||
list = TlsUtilities.ParseSupportedSignatureAlgorithms(false, input);
|
||||
}
|
||||
IList list2 = Platform.CreateArrayList();
|
||||
int num2;
|
||||
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadOpaque16(input), num2 != 0);
|
||||
num2 = 0;
|
||||
long length = memoryStream.Length;
|
||||
bool canWrite = memoryStream.CanWrite;
|
||||
if (length < (canWrite ? 1L : 0L))
|
||||
{
|
||||
X509Name instance = X509Name.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
|
||||
}
|
||||
CertificateRequest certificateRequest;
|
||||
certificateRequest.mCertificateAuthorities = list2;
|
||||
certificateRequest.mCertificateTypes = array;
|
||||
certificateRequest.mSupportedSignatureAlgorithms = list;
|
||||
return certificateRequest;
|
||||
}
|
||||
|
||||
// Token: 0x04006D0A RID: 27914
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D0A")]
|
||||
protected readonly byte[] mCertificateTypes;
|
||||
|
||||
// Token: 0x04006D0B RID: 27915
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D0B")]
|
||||
protected readonly IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006D0C RID: 27916
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D0C")]
|
||||
protected readonly IList mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B04 RID: 6916
|
||||
[Token(Token = "0x2001B04")]
|
||||
public class CertificateStatus
|
||||
{
|
||||
// Token: 0x0600AC14 RID: 44052 RVA: 0x00257324 File Offset: 0x00255524
|
||||
[Token(Token = "0x600AC14")]
|
||||
[Address(RVA = "0x18A9C50", Offset = "0x18A8A50", VA = "0x1818A9C50")]
|
||||
public CertificateStatus(byte statusType, object response)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC14)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B51 RID: 6993
|
||||
// (get) Token: 0x0600AC15 RID: 44053 RVA: 0x00257360 File Offset: 0x00255560
|
||||
[Token(Token = "0x17001B51")]
|
||||
public virtual byte StatusType
|
||||
{
|
||||
[Token(Token = "0x600AC15")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mStatusType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B52 RID: 6994
|
||||
// (get) Token: 0x0600AC16 RID: 44054 RVA: 0x00257374 File Offset: 0x00255574
|
||||
[Token(Token = "0x17001B52")]
|
||||
public virtual object Response
|
||||
{
|
||||
[Token(Token = "0x600AC16")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mResponse;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC17 RID: 44055 RVA: 0x00257388 File Offset: 0x00255588
|
||||
[Token(Token = "0x600AC17")]
|
||||
[Address(RVA = "0x18A9900", Offset = "0x18A8700", VA = "0x1818A9900", Slot = "6")]
|
||||
public virtual OcspResponse GetOcspResponse()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC17)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp.OcspResponse BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::GetOcspResponse()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_5_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'response' is not an OcspResponse")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC18 RID: 44056 RVA: 0x002573C8 File Offset: 0x002555C8
|
||||
[Token(Token = "0x600AC18")]
|
||||
[Address(RVA = "0x18A9780", Offset = "0x18A8580", VA = "0x1818A9780", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
do
|
||||
{
|
||||
byte b = this.mStatusType;
|
||||
TlsUtilities.WriteUint8(b, output);
|
||||
obj = this.mResponse;
|
||||
}
|
||||
while (obj == 0 || obj == 0);
|
||||
byte[] array;
|
||||
TlsUtilities.WriteOpaque24(array, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC19 RID: 44057 RVA: 0x00257408 File Offset: 0x00255608
|
||||
[Token(Token = "0x600AC19")]
|
||||
[Address(RVA = "0x18A9AF0", Offset = "0x18A88F0", VA = "0x1818A9AF0")]
|
||||
public static CertificateStatus Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC19)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2E:
|
||||
stloc:ArgumentException(var_4_3D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC1A RID: 44058 RVA: 0x00257454 File Offset: 0x00255654
|
||||
[Token(Token = "0x600AC1A")]
|
||||
[Address(RVA = "0x18A9A20", Offset = "0x18A8820", VA = "0x1818A9A20")]
|
||||
protected static bool IsCorrectType(byte statusType, object response)
|
||||
{
|
||||
if (response == 0)
|
||||
{
|
||||
return 0 != 0;
|
||||
}
|
||||
return response != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04006D0D RID: 27917
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D0D")]
|
||||
protected readonly byte mStatusType;
|
||||
|
||||
// Token: 0x04006D0E RID: 27918
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D0E")]
|
||||
protected readonly object mResponse;
|
||||
}
|
||||
}
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B05 RID: 6917
|
||||
[Token(Token = "0x2001B05")]
|
||||
public class CertificateStatusRequest
|
||||
{
|
||||
// Token: 0x0600AC1B RID: 44059 RVA: 0x00257488 File Offset: 0x00255688
|
||||
[Token(Token = "0x600AC1B")]
|
||||
[Address(RVA = "0x18A96E0", Offset = "0x18A84E0", VA = "0x1818A96E0")]
|
||||
public CertificateStatusRequest(byte statusType, object request)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC1B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("request")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B53 RID: 6995
|
||||
// (get) Token: 0x0600AC1C RID: 44060 RVA: 0x002574C4 File Offset: 0x002556C4
|
||||
[Token(Token = "0x17001B53")]
|
||||
public virtual byte StatusType
|
||||
{
|
||||
[Token(Token = "0x600AC1C")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mStatusType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B54 RID: 6996
|
||||
// (get) Token: 0x0600AC1D RID: 44061 RVA: 0x002574D8 File Offset: 0x002556D8
|
||||
[Token(Token = "0x17001B54")]
|
||||
public virtual object Request
|
||||
{
|
||||
[Token(Token = "0x600AC1D")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mRequest;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC1E RID: 44062 RVA: 0x002574EC File Offset: 0x002556EC
|
||||
[Token(Token = "0x600AC1E")]
|
||||
[Address(RVA = "0x18A93C0", Offset = "0x18A81C0", VA = "0x1818A93C0", Slot = "6")]
|
||||
public virtual OcspStatusRequest GetOcspStatusRequest()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC1E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.OcspStatusRequest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::GetOcspStatusRequest()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_5_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'request' is not an OCSPStatusRequest")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC1F RID: 44063 RVA: 0x0025752C File Offset: 0x0025572C
|
||||
[Token(Token = "0x600AC1F")]
|
||||
[Address(RVA = "0x18A9270", Offset = "0x18A8070", VA = "0x1818A9270", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
do
|
||||
{
|
||||
byte b = this.mStatusType;
|
||||
TlsUtilities.WriteUint8(b, output);
|
||||
obj = this.mRequest;
|
||||
}
|
||||
while (obj == 0 || obj == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC20 RID: 44064 RVA: 0x00257564 File Offset: 0x00255764
|
||||
[Token(Token = "0x600AC20")]
|
||||
[Address(RVA = "0x18A95B0", Offset = "0x18A83B0", VA = "0x1818A95B0")]
|
||||
public static CertificateStatusRequest Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC20)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:ArgumentException(var_4_33, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("request")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC21 RID: 44065 RVA: 0x002575A8 File Offset: 0x002557A8
|
||||
[Token(Token = "0x600AC21")]
|
||||
[Address(RVA = "0x18A94E0", Offset = "0x18A82E0", VA = "0x1818A94E0")]
|
||||
protected static bool IsCorrectType(byte statusType, object request)
|
||||
{
|
||||
if (request == 0)
|
||||
{
|
||||
return 0 != 0;
|
||||
}
|
||||
return request != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04006D0F RID: 27919
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D0F")]
|
||||
protected readonly byte mStatusType;
|
||||
|
||||
// Token: 0x04006D10 RID: 27920
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D10")]
|
||||
protected readonly object mRequest;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B06 RID: 6918
|
||||
[Token(Token = "0x2001B06")]
|
||||
public abstract class CertificateStatusType
|
||||
{
|
||||
// Token: 0x0600AC22 RID: 44066 RVA: 0x002575DC File Offset: 0x002557DC
|
||||
[Token(Token = "0x600AC22")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected CertificateStatusType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006D11 RID: 27921
|
||||
[Token(Token = "0x4006D11")]
|
||||
public const byte ocsp = 1;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B07 RID: 6919
|
||||
[Token(Token = "0x2001B07")]
|
||||
public class CertificateType
|
||||
{
|
||||
// Token: 0x0600AC23 RID: 44067 RVA: 0x002575F0 File Offset: 0x002557F0
|
||||
[Token(Token = "0x600AC23")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public CertificateType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006D12 RID: 27922
|
||||
[Token(Token = "0x4006D12")]
|
||||
public const byte X509 = 0;
|
||||
|
||||
// Token: 0x04006D13 RID: 27923
|
||||
[Token(Token = "0x4006D13")]
|
||||
public const byte OpenPGP = 1;
|
||||
|
||||
// Token: 0x04006D14 RID: 27924
|
||||
[Token(Token = "0x4006D14")]
|
||||
public const byte RawPublicKey = 2;
|
||||
}
|
||||
}
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B08 RID: 6920
|
||||
[Token(Token = "0x2001B08")]
|
||||
public class CertificateUrl
|
||||
{
|
||||
// Token: 0x0600AC24 RID: 44068 RVA: 0x00257604 File Offset: 0x00255804
|
||||
[Token(Token = "0x600AC24")]
|
||||
[Address(RVA = "0x18AA070", Offset = "0x18A8E70", VA = "0x1818AA070")]
|
||||
public CertificateUrl(byte type, IList urlAndHashList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC24)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl::.ctor(System.Byte,System.Collections.IList)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_29:
|
||||
stloc:ArgumentException(var_1_38, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length > 0"), ldstr:string("urlAndHashList")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B55 RID: 6997
|
||||
// (get) Token: 0x0600AC25 RID: 44069 RVA: 0x0025764C File Offset: 0x0025584C
|
||||
[Token(Token = "0x17001B55")]
|
||||
public virtual byte Type
|
||||
{
|
||||
[Token(Token = "0x600AC25")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B56 RID: 6998
|
||||
// (get) Token: 0x0600AC26 RID: 44070 RVA: 0x00257660 File Offset: 0x00255860
|
||||
[Token(Token = "0x17001B56")]
|
||||
public virtual IList UrlAndHashList
|
||||
{
|
||||
[Token(Token = "0x600AC26")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mUrlAndHashList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC27 RID: 44071 RVA: 0x00257674 File Offset: 0x00255874
|
||||
[Token(Token = "0x600AC27")]
|
||||
[Address(RVA = "0x18A9CF0", Offset = "0x18A8AF0", VA = "0x1818A9CF0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
CertificateUrl.ListBuffer16 listBuffer;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint8(this.mType, output);
|
||||
listBuffer = new CertificateUrl.ListBuffer16();
|
||||
TlsUtilities.WriteUint16(0, listBuffer);
|
||||
IList list = this.mUrlAndHashList;
|
||||
if (listBuffer != 0)
|
||||
{
|
||||
if (num < listBuffer)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
ulong num2;
|
||||
listBuffer += num2;
|
||||
if (listBuffer == 0 || listBuffer == 0)
|
||||
{
|
||||
goto IL_6F;
|
||||
}
|
||||
if (listBuffer.InitializeLifetimeService() != 0)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
bool canWrite = listBuffer.CanWrite;
|
||||
long position = listBuffer.Position;
|
||||
Streams.WriteBufTo(listBuffer, output);
|
||||
return;
|
||||
IL_6F:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC28 RID: 44072 RVA: 0x002576FC File Offset: 0x002558FC
|
||||
[Token(Token = "0x600AC28")]
|
||||
[Address(RVA = "0x18AA160", Offset = "0x18A8F60", VA = "0x1818AA160")]
|
||||
public static CertificateUrl parse(TlsContext context, Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC28)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl::parse(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_86:
|
||||
stloc:ArgumentException(var_13_95, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length > 0"), ldstr:string("urlAndHashList")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006D15 RID: 27925
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D15")]
|
||||
protected readonly byte mType;
|
||||
|
||||
// Token: 0x04006D16 RID: 27926
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D16")]
|
||||
protected readonly IList mUrlAndHashList;
|
||||
|
||||
// Token: 0x02001B09 RID: 6921
|
||||
[Token(Token = "0x2001B09")]
|
||||
internal class ListBuffer16 : MemoryStream
|
||||
{
|
||||
// Token: 0x0600AC29 RID: 44073 RVA: 0x002577A0 File Offset: 0x002559A0
|
||||
[Token(Token = "0x600AC29")]
|
||||
[Address(RVA = "0x18BB7F0", Offset = "0x18BA5F0", VA = "0x1818BB7F0")]
|
||||
internal ListBuffer16()
|
||||
{
|
||||
TlsUtilities.WriteUint16(0, this);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC2A RID: 44074 RVA: 0x002577BC File Offset: 0x002559BC
|
||||
[Token(Token = "0x600AC2A")]
|
||||
[Address(RVA = "0x18BB710", Offset = "0x18BA510", VA = "0x1818BB710")]
|
||||
internal void EncodeTo(Stream output)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
long position = this.Position;
|
||||
Streams.WriteBufTo(this, output);
|
||||
Platform.Dispose(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+206
@@ -0,0 +1,206 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B0A RID: 6922
|
||||
[Token(Token = "0x2001B0A")]
|
||||
public class Chacha20Poly1305 : TlsCipher
|
||||
{
|
||||
// Token: 0x0600AC2B RID: 44075 RVA: 0x002577E4 File Offset: 0x002559E4
|
||||
[Token(Token = "0x600AC2B")]
|
||||
[Address(RVA = "0x18AB980", Offset = "0x18AA780", VA = "0x1818AB980")]
|
||||
public Chacha20Poly1305(TlsContext context)
|
||||
{
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
}
|
||||
while (!TlsUtilities.IsTlsV12(context));
|
||||
this.context = context;
|
||||
byte[] array = TlsUtilities.CalculateKeyBlock(context, 88);
|
||||
int num;
|
||||
KeyParameter keyParameter = new KeyParameter(array, num, 32);
|
||||
num = 0;
|
||||
KeyParameter keyParameter2 = new KeyParameter(array, 32, 32);
|
||||
byte[] array2 = Arrays.CopyOfRange(array, 64, 76);
|
||||
byte[] array3 = Arrays.CopyOfRange(array, 76, 88);
|
||||
ChaCha7539Engine chaCha7539Engine = new ChaCha7539Engine();
|
||||
this.encryptCipher = chaCha7539Engine;
|
||||
ChaCha7539Engine chaCha7539Engine2 = new ChaCha7539Engine();
|
||||
this.decryptCipher = chaCha7539Engine2;
|
||||
if (chaCha7539Engine2 == 0)
|
||||
{
|
||||
}
|
||||
this.encryptIV = array3;
|
||||
this.decryptIV = array2;
|
||||
ChaCha7539Engine chaCha7539Engine3 = this.encryptCipher;
|
||||
byte[] array4 = this.encryptIV;
|
||||
ParametersWithIV parametersWithIV = new ParametersWithIV(keyParameter2, array4);
|
||||
chaCha7539Engine3.Reset();
|
||||
ChaCha7539Engine chaCha7539Engine4 = this.decryptCipher;
|
||||
byte[] array5 = this.decryptIV;
|
||||
ParametersWithIV parametersWithIV2 = new ParametersWithIV(keyParameter, array5);
|
||||
string algorithmName = ((IStreamCipher)chaCha7539Engine4).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC2C RID: 44076 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC2C")]
|
||||
[Address(RVA = "0x18AB670", Offset = "0x18AA470", VA = "0x1818AB670", Slot = "7")]
|
||||
public virtual int GetPlaintextLimit(int ciphertextLimit)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC2D RID: 44077 RVA: 0x002578BC File Offset: 0x00255ABC
|
||||
[Token(Token = "0x600AC2D")]
|
||||
[Address(RVA = "0x18AB2A0", Offset = "0x18AA0A0", VA = "0x1818AB2A0", Slot = "8")]
|
||||
public virtual byte[] EncodePlaintext(long seqNo, byte type, byte[] plaintext, int offset, int len)
|
||||
{
|
||||
byte[] array = this.encryptIV;
|
||||
byte[] array2 = new byte[this.encryptCipher];
|
||||
this.encryptCipher.AdvanceCounter();
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC2E RID: 44078 RVA: 0x002578F0 File Offset: 0x00255AF0
|
||||
[Token(Token = "0x600AC2E")]
|
||||
[Address(RVA = "0x18AB090", Offset = "0x18A9E90", VA = "0x1818AB090", Slot = "9")]
|
||||
public virtual byte[] DecodeCiphertext(long seqNo, byte type, byte[] ciphertext, int offset, int len)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
byte[] array = this.decryptIV;
|
||||
}
|
||||
while (!flag);
|
||||
byte[] array3;
|
||||
byte[] array2 = new byte[array3];
|
||||
this.decryptCipher.AdvanceCounter();
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC2F RID: 44079 RVA: 0x00257920 File Offset: 0x00255B20
|
||||
[Token(Token = "0x600AC2F")]
|
||||
[Address(RVA = "0x18AB680", Offset = "0x18AA480", VA = "0x1818AB680", Slot = "10")]
|
||||
protected virtual KeyParameter InitRecord(IStreamCipher cipher, bool forEncryption, long seqNo, byte[] iv)
|
||||
{
|
||||
int num = 0;
|
||||
KeyParameter keyParameter;
|
||||
if (num < keyParameter)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC30 RID: 44080 RVA: 0x00257940 File Offset: 0x00255B40
|
||||
[Token(Token = "0x600AC30")]
|
||||
[Address(RVA = "0x18AAE60", Offset = "0x18A9C60", VA = "0x1818AAE60", Slot = "11")]
|
||||
protected virtual byte[] CalculateNonce(long seqNo, byte[] iv)
|
||||
{
|
||||
byte[] array = new byte[12];
|
||||
TlsUtilities.WriteUint64(seqNo, array, 4);
|
||||
int num = 0;
|
||||
num++;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC31 RID: 44081 RVA: 0x0025796C File Offset: 0x00255B6C
|
||||
[Token(Token = "0x600AC31")]
|
||||
[Address(RVA = "0x18AB410", Offset = "0x18AA210", VA = "0x1818AB410", Slot = "12")]
|
||||
protected virtual KeyParameter GenerateRecordMacKey(IStreamCipher cipher)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
int num2;
|
||||
uint num3;
|
||||
KeyParameter keyParameter = new KeyParameter(array, num2, (int)num3);
|
||||
num2 = 0;
|
||||
int num4 = 0;
|
||||
Arrays.Fill(array, (byte)num4);
|
||||
return keyParameter;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC32 RID: 44082 RVA: 0x002579B4 File Offset: 0x00255BB4
|
||||
[Token(Token = "0x600AC32")]
|
||||
[Address(RVA = "0x18AAF40", Offset = "0x18A9D40", VA = "0x1818AAF40", Slot = "13")]
|
||||
protected virtual byte[] CalculateRecordMac(KeyParameter macKey, byte[] additionalData, byte[] buf, int off, int len)
|
||||
{
|
||||
Poly1305 poly = new Poly1305();
|
||||
int length = additionalData.Length;
|
||||
return MacUtilities.DoFinal(poly);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC33 RID: 44083 RVA: 0x002579DC File Offset: 0x00255BDC
|
||||
[Token(Token = "0x600AC33")]
|
||||
[Address(RVA = "0x18AB7C0", Offset = "0x18AA5C0", VA = "0x1818AB7C0", Slot = "14")]
|
||||
protected virtual void UpdateRecordMacLength(IMac mac, int len)
|
||||
{
|
||||
int length = Pack.UInt64_To_LE((ulong)len).Length;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC34 RID: 44084 RVA: 0x002579FC File Offset: 0x00255BFC
|
||||
[Token(Token = "0x600AC34")]
|
||||
[Address(RVA = "0x18AB840", Offset = "0x18AA640", VA = "0x1818AB840", Slot = "15")]
|
||||
protected virtual void UpdateRecordMacText(IMac mac, byte[] buf, int off, int len)
|
||||
{
|
||||
if (mac < 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC35 RID: 44085 RVA: 0x00257A14 File Offset: 0x00255C14
|
||||
[Token(Token = "0x600AC35")]
|
||||
[Address(RVA = "0x18AB570", Offset = "0x18AA370", VA = "0x1818AB570", Slot = "16")]
|
||||
protected virtual byte[] GetAdditionalData(long seqNo, byte type, int len)
|
||||
{
|
||||
byte[] array = new byte[13];
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint64(seqNo, array, num);
|
||||
TlsUtilities.WriteUint8(type, array, 8);
|
||||
TlsContext tlsContext = this.context;
|
||||
PngHelperInternal.WriteInt2tobytes(len, array, 11);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04006D17 RID: 27927
|
||||
[Token(Token = "0x4006D17")]
|
||||
private static readonly byte[] Zeroes = new byte[15];
|
||||
|
||||
// Token: 0x04006D18 RID: 27928
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006D18")]
|
||||
protected readonly TlsContext context;
|
||||
|
||||
// Token: 0x04006D19 RID: 27929
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006D19")]
|
||||
protected readonly ChaCha7539Engine encryptCipher;
|
||||
|
||||
// Token: 0x04006D1A RID: 27930
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006D1A")]
|
||||
protected readonly ChaCha7539Engine decryptCipher;
|
||||
|
||||
// Token: 0x04006D1B RID: 27931
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006D1B")]
|
||||
protected readonly byte[] encryptIV;
|
||||
|
||||
// Token: 0x04006D1C RID: 27932
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006D1C")]
|
||||
protected readonly byte[] decryptIV;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B0B RID: 6923
|
||||
[Token(Token = "0x2001B0B")]
|
||||
public abstract class ChangeCipherSpec
|
||||
{
|
||||
// Token: 0x0600AC37 RID: 44087 RVA: 0x00257A70 File Offset: 0x00255C70
|
||||
[Token(Token = "0x600AC37")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ChangeCipherSpec()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006D1D RID: 27933
|
||||
[Token(Token = "0x4006D1D")]
|
||||
public const byte change_cipher_spec = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,1108 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B0C RID: 6924
|
||||
[Token(Token = "0x2001B0C")]
|
||||
public abstract class CipherSuite
|
||||
{
|
||||
// Token: 0x0600AC38 RID: 44088 RVA: 0x00257A84 File Offset: 0x00255C84
|
||||
[Token(Token = "0x600AC38")]
|
||||
[Address(RVA = "0x18ABC30", Offset = "0x18AAA30", VA = "0x1818ABC30")]
|
||||
public static bool IsScsv(int cipherSuite)
|
||||
{
|
||||
if (cipherSuite == 255 || cipherSuite != 22016)
|
||||
{
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC39 RID: 44089 RVA: 0x00257AA4 File Offset: 0x00255CA4
|
||||
[Token(Token = "0x600AC39")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected CipherSuite()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006D1E RID: 27934
|
||||
[Token(Token = "0x4006D1E")]
|
||||
public const int TLS_NULL_WITH_NULL_NULL = 0;
|
||||
|
||||
// Token: 0x04006D1F RID: 27935
|
||||
[Token(Token = "0x4006D1F")]
|
||||
public const int TLS_RSA_WITH_NULL_MD5 = 1;
|
||||
|
||||
// Token: 0x04006D20 RID: 27936
|
||||
[Token(Token = "0x4006D20")]
|
||||
public const int TLS_RSA_WITH_NULL_SHA = 2;
|
||||
|
||||
// Token: 0x04006D21 RID: 27937
|
||||
[Token(Token = "0x4006D21")]
|
||||
public const int TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 3;
|
||||
|
||||
// Token: 0x04006D22 RID: 27938
|
||||
[Token(Token = "0x4006D22")]
|
||||
public const int TLS_RSA_WITH_RC4_128_MD5 = 4;
|
||||
|
||||
// Token: 0x04006D23 RID: 27939
|
||||
[Token(Token = "0x4006D23")]
|
||||
public const int TLS_RSA_WITH_RC4_128_SHA = 5;
|
||||
|
||||
// Token: 0x04006D24 RID: 27940
|
||||
[Token(Token = "0x4006D24")]
|
||||
public const int TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6;
|
||||
|
||||
// Token: 0x04006D25 RID: 27941
|
||||
[Token(Token = "0x4006D25")]
|
||||
public const int TLS_RSA_WITH_IDEA_CBC_SHA = 7;
|
||||
|
||||
// Token: 0x04006D26 RID: 27942
|
||||
[Token(Token = "0x4006D26")]
|
||||
public const int TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 8;
|
||||
|
||||
// Token: 0x04006D27 RID: 27943
|
||||
[Token(Token = "0x4006D27")]
|
||||
public const int TLS_RSA_WITH_DES_CBC_SHA = 9;
|
||||
|
||||
// Token: 0x04006D28 RID: 27944
|
||||
[Token(Token = "0x4006D28")]
|
||||
public const int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10;
|
||||
|
||||
// Token: 0x04006D29 RID: 27945
|
||||
[Token(Token = "0x4006D29")]
|
||||
public const int TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11;
|
||||
|
||||
// Token: 0x04006D2A RID: 27946
|
||||
[Token(Token = "0x4006D2A")]
|
||||
public const int TLS_DH_DSS_WITH_DES_CBC_SHA = 12;
|
||||
|
||||
// Token: 0x04006D2B RID: 27947
|
||||
[Token(Token = "0x4006D2B")]
|
||||
public const int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13;
|
||||
|
||||
// Token: 0x04006D2C RID: 27948
|
||||
[Token(Token = "0x4006D2C")]
|
||||
public const int TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14;
|
||||
|
||||
// Token: 0x04006D2D RID: 27949
|
||||
[Token(Token = "0x4006D2D")]
|
||||
public const int TLS_DH_RSA_WITH_DES_CBC_SHA = 15;
|
||||
|
||||
// Token: 0x04006D2E RID: 27950
|
||||
[Token(Token = "0x4006D2E")]
|
||||
public const int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16;
|
||||
|
||||
// Token: 0x04006D2F RID: 27951
|
||||
[Token(Token = "0x4006D2F")]
|
||||
public const int TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17;
|
||||
|
||||
// Token: 0x04006D30 RID: 27952
|
||||
[Token(Token = "0x4006D30")]
|
||||
public const int TLS_DHE_DSS_WITH_DES_CBC_SHA = 18;
|
||||
|
||||
// Token: 0x04006D31 RID: 27953
|
||||
[Token(Token = "0x4006D31")]
|
||||
public const int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19;
|
||||
|
||||
// Token: 0x04006D32 RID: 27954
|
||||
[Token(Token = "0x4006D32")]
|
||||
public const int TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20;
|
||||
|
||||
// Token: 0x04006D33 RID: 27955
|
||||
[Token(Token = "0x4006D33")]
|
||||
public const int TLS_DHE_RSA_WITH_DES_CBC_SHA = 21;
|
||||
|
||||
// Token: 0x04006D34 RID: 27956
|
||||
[Token(Token = "0x4006D34")]
|
||||
public const int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22;
|
||||
|
||||
// Token: 0x04006D35 RID: 27957
|
||||
[Token(Token = "0x4006D35")]
|
||||
public const int TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23;
|
||||
|
||||
// Token: 0x04006D36 RID: 27958
|
||||
[Token(Token = "0x4006D36")]
|
||||
public const int TLS_DH_anon_WITH_RC4_128_MD5 = 24;
|
||||
|
||||
// Token: 0x04006D37 RID: 27959
|
||||
[Token(Token = "0x4006D37")]
|
||||
public const int TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25;
|
||||
|
||||
// Token: 0x04006D38 RID: 27960
|
||||
[Token(Token = "0x4006D38")]
|
||||
public const int TLS_DH_anon_WITH_DES_CBC_SHA = 26;
|
||||
|
||||
// Token: 0x04006D39 RID: 27961
|
||||
[Token(Token = "0x4006D39")]
|
||||
public const int TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27;
|
||||
|
||||
// Token: 0x04006D3A RID: 27962
|
||||
[Token(Token = "0x4006D3A")]
|
||||
public const int TLS_RSA_WITH_AES_128_CBC_SHA = 47;
|
||||
|
||||
// Token: 0x04006D3B RID: 27963
|
||||
[Token(Token = "0x4006D3B")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48;
|
||||
|
||||
// Token: 0x04006D3C RID: 27964
|
||||
[Token(Token = "0x4006D3C")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49;
|
||||
|
||||
// Token: 0x04006D3D RID: 27965
|
||||
[Token(Token = "0x4006D3D")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50;
|
||||
|
||||
// Token: 0x04006D3E RID: 27966
|
||||
[Token(Token = "0x4006D3E")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51;
|
||||
|
||||
// Token: 0x04006D3F RID: 27967
|
||||
[Token(Token = "0x4006D3F")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_CBC_SHA = 52;
|
||||
|
||||
// Token: 0x04006D40 RID: 27968
|
||||
[Token(Token = "0x4006D40")]
|
||||
public const int TLS_RSA_WITH_AES_256_CBC_SHA = 53;
|
||||
|
||||
// Token: 0x04006D41 RID: 27969
|
||||
[Token(Token = "0x4006D41")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54;
|
||||
|
||||
// Token: 0x04006D42 RID: 27970
|
||||
[Token(Token = "0x4006D42")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55;
|
||||
|
||||
// Token: 0x04006D43 RID: 27971
|
||||
[Token(Token = "0x4006D43")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56;
|
||||
|
||||
// Token: 0x04006D44 RID: 27972
|
||||
[Token(Token = "0x4006D44")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57;
|
||||
|
||||
// Token: 0x04006D45 RID: 27973
|
||||
[Token(Token = "0x4006D45")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_CBC_SHA = 58;
|
||||
|
||||
// Token: 0x04006D46 RID: 27974
|
||||
[Token(Token = "0x4006D46")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 65;
|
||||
|
||||
// Token: 0x04006D47 RID: 27975
|
||||
[Token(Token = "0x4006D47")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 66;
|
||||
|
||||
// Token: 0x04006D48 RID: 27976
|
||||
[Token(Token = "0x4006D48")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 67;
|
||||
|
||||
// Token: 0x04006D49 RID: 27977
|
||||
[Token(Token = "0x4006D49")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 68;
|
||||
|
||||
// Token: 0x04006D4A RID: 27978
|
||||
[Token(Token = "0x4006D4A")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 69;
|
||||
|
||||
// Token: 0x04006D4B RID: 27979
|
||||
[Token(Token = "0x4006D4B")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 70;
|
||||
|
||||
// Token: 0x04006D4C RID: 27980
|
||||
[Token(Token = "0x4006D4C")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 132;
|
||||
|
||||
// Token: 0x04006D4D RID: 27981
|
||||
[Token(Token = "0x4006D4D")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 133;
|
||||
|
||||
// Token: 0x04006D4E RID: 27982
|
||||
[Token(Token = "0x4006D4E")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 134;
|
||||
|
||||
// Token: 0x04006D4F RID: 27983
|
||||
[Token(Token = "0x4006D4F")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 135;
|
||||
|
||||
// Token: 0x04006D50 RID: 27984
|
||||
[Token(Token = "0x4006D50")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 136;
|
||||
|
||||
// Token: 0x04006D51 RID: 27985
|
||||
[Token(Token = "0x4006D51")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 137;
|
||||
|
||||
// Token: 0x04006D52 RID: 27986
|
||||
[Token(Token = "0x4006D52")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 186;
|
||||
|
||||
// Token: 0x04006D53 RID: 27987
|
||||
[Token(Token = "0x4006D53")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 187;
|
||||
|
||||
// Token: 0x04006D54 RID: 27988
|
||||
[Token(Token = "0x4006D54")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 188;
|
||||
|
||||
// Token: 0x04006D55 RID: 27989
|
||||
[Token(Token = "0x4006D55")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 189;
|
||||
|
||||
// Token: 0x04006D56 RID: 27990
|
||||
[Token(Token = "0x4006D56")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 190;
|
||||
|
||||
// Token: 0x04006D57 RID: 27991
|
||||
[Token(Token = "0x4006D57")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = 191;
|
||||
|
||||
// Token: 0x04006D58 RID: 27992
|
||||
[Token(Token = "0x4006D58")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 192;
|
||||
|
||||
// Token: 0x04006D59 RID: 27993
|
||||
[Token(Token = "0x4006D59")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 193;
|
||||
|
||||
// Token: 0x04006D5A RID: 27994
|
||||
[Token(Token = "0x4006D5A")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 194;
|
||||
|
||||
// Token: 0x04006D5B RID: 27995
|
||||
[Token(Token = "0x4006D5B")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 195;
|
||||
|
||||
// Token: 0x04006D5C RID: 27996
|
||||
[Token(Token = "0x4006D5C")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 196;
|
||||
|
||||
// Token: 0x04006D5D RID: 27997
|
||||
[Token(Token = "0x4006D5D")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = 197;
|
||||
|
||||
// Token: 0x04006D5E RID: 27998
|
||||
[Token(Token = "0x4006D5E")]
|
||||
public const int TLS_RSA_WITH_SEED_CBC_SHA = 150;
|
||||
|
||||
// Token: 0x04006D5F RID: 27999
|
||||
[Token(Token = "0x4006D5F")]
|
||||
public const int TLS_DH_DSS_WITH_SEED_CBC_SHA = 151;
|
||||
|
||||
// Token: 0x04006D60 RID: 28000
|
||||
[Token(Token = "0x4006D60")]
|
||||
public const int TLS_DH_RSA_WITH_SEED_CBC_SHA = 152;
|
||||
|
||||
// Token: 0x04006D61 RID: 28001
|
||||
[Token(Token = "0x4006D61")]
|
||||
public const int TLS_DHE_DSS_WITH_SEED_CBC_SHA = 153;
|
||||
|
||||
// Token: 0x04006D62 RID: 28002
|
||||
[Token(Token = "0x4006D62")]
|
||||
public const int TLS_DHE_RSA_WITH_SEED_CBC_SHA = 154;
|
||||
|
||||
// Token: 0x04006D63 RID: 28003
|
||||
[Token(Token = "0x4006D63")]
|
||||
public const int TLS_DH_anon_WITH_SEED_CBC_SHA = 155;
|
||||
|
||||
// Token: 0x04006D64 RID: 28004
|
||||
[Token(Token = "0x4006D64")]
|
||||
public const int TLS_PSK_WITH_RC4_128_SHA = 138;
|
||||
|
||||
// Token: 0x04006D65 RID: 28005
|
||||
[Token(Token = "0x4006D65")]
|
||||
public const int TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139;
|
||||
|
||||
// Token: 0x04006D66 RID: 28006
|
||||
[Token(Token = "0x4006D66")]
|
||||
public const int TLS_PSK_WITH_AES_128_CBC_SHA = 140;
|
||||
|
||||
// Token: 0x04006D67 RID: 28007
|
||||
[Token(Token = "0x4006D67")]
|
||||
public const int TLS_PSK_WITH_AES_256_CBC_SHA = 141;
|
||||
|
||||
// Token: 0x04006D68 RID: 28008
|
||||
[Token(Token = "0x4006D68")]
|
||||
public const int TLS_DHE_PSK_WITH_RC4_128_SHA = 142;
|
||||
|
||||
// Token: 0x04006D69 RID: 28009
|
||||
[Token(Token = "0x4006D69")]
|
||||
public const int TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 143;
|
||||
|
||||
// Token: 0x04006D6A RID: 28010
|
||||
[Token(Token = "0x4006D6A")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 144;
|
||||
|
||||
// Token: 0x04006D6B RID: 28011
|
||||
[Token(Token = "0x4006D6B")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 145;
|
||||
|
||||
// Token: 0x04006D6C RID: 28012
|
||||
[Token(Token = "0x4006D6C")]
|
||||
public const int TLS_RSA_PSK_WITH_RC4_128_SHA = 146;
|
||||
|
||||
// Token: 0x04006D6D RID: 28013
|
||||
[Token(Token = "0x4006D6D")]
|
||||
public const int TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 147;
|
||||
|
||||
// Token: 0x04006D6E RID: 28014
|
||||
[Token(Token = "0x4006D6E")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 148;
|
||||
|
||||
// Token: 0x04006D6F RID: 28015
|
||||
[Token(Token = "0x4006D6F")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 149;
|
||||
|
||||
// Token: 0x04006D70 RID: 28016
|
||||
[Token(Token = "0x4006D70")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_NULL_SHA = 49153;
|
||||
|
||||
// Token: 0x04006D71 RID: 28017
|
||||
[Token(Token = "0x4006D71")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 49154;
|
||||
|
||||
// Token: 0x04006D72 RID: 28018
|
||||
[Token(Token = "0x4006D72")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 49155;
|
||||
|
||||
// Token: 0x04006D73 RID: 28019
|
||||
[Token(Token = "0x4006D73")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 49156;
|
||||
|
||||
// Token: 0x04006D74 RID: 28020
|
||||
[Token(Token = "0x4006D74")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 49157;
|
||||
|
||||
// Token: 0x04006D75 RID: 28021
|
||||
[Token(Token = "0x4006D75")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_NULL_SHA = 49158;
|
||||
|
||||
// Token: 0x04006D76 RID: 28022
|
||||
[Token(Token = "0x4006D76")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 49159;
|
||||
|
||||
// Token: 0x04006D77 RID: 28023
|
||||
[Token(Token = "0x4006D77")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160;
|
||||
|
||||
// Token: 0x04006D78 RID: 28024
|
||||
[Token(Token = "0x4006D78")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161;
|
||||
|
||||
// Token: 0x04006D79 RID: 28025
|
||||
[Token(Token = "0x4006D79")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162;
|
||||
|
||||
// Token: 0x04006D7A RID: 28026
|
||||
[Token(Token = "0x4006D7A")]
|
||||
public const int TLS_ECDH_RSA_WITH_NULL_SHA = 49163;
|
||||
|
||||
// Token: 0x04006D7B RID: 28027
|
||||
[Token(Token = "0x4006D7B")]
|
||||
public const int TLS_ECDH_RSA_WITH_RC4_128_SHA = 49164;
|
||||
|
||||
// Token: 0x04006D7C RID: 28028
|
||||
[Token(Token = "0x4006D7C")]
|
||||
public const int TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 49165;
|
||||
|
||||
// Token: 0x04006D7D RID: 28029
|
||||
[Token(Token = "0x4006D7D")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 49166;
|
||||
|
||||
// Token: 0x04006D7E RID: 28030
|
||||
[Token(Token = "0x4006D7E")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 49167;
|
||||
|
||||
// Token: 0x04006D7F RID: 28031
|
||||
[Token(Token = "0x4006D7F")]
|
||||
public const int TLS_ECDHE_RSA_WITH_NULL_SHA = 49168;
|
||||
|
||||
// Token: 0x04006D80 RID: 28032
|
||||
[Token(Token = "0x4006D80")]
|
||||
public const int TLS_ECDHE_RSA_WITH_RC4_128_SHA = 49169;
|
||||
|
||||
// Token: 0x04006D81 RID: 28033
|
||||
[Token(Token = "0x4006D81")]
|
||||
public const int TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170;
|
||||
|
||||
// Token: 0x04006D82 RID: 28034
|
||||
[Token(Token = "0x4006D82")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171;
|
||||
|
||||
// Token: 0x04006D83 RID: 28035
|
||||
[Token(Token = "0x4006D83")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172;
|
||||
|
||||
// Token: 0x04006D84 RID: 28036
|
||||
[Token(Token = "0x4006D84")]
|
||||
public const int TLS_ECDH_anon_WITH_NULL_SHA = 49173;
|
||||
|
||||
// Token: 0x04006D85 RID: 28037
|
||||
[Token(Token = "0x4006D85")]
|
||||
public const int TLS_ECDH_anon_WITH_RC4_128_SHA = 49174;
|
||||
|
||||
// Token: 0x04006D86 RID: 28038
|
||||
[Token(Token = "0x4006D86")]
|
||||
public const int TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 49175;
|
||||
|
||||
// Token: 0x04006D87 RID: 28039
|
||||
[Token(Token = "0x4006D87")]
|
||||
public const int TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 49176;
|
||||
|
||||
// Token: 0x04006D88 RID: 28040
|
||||
[Token(Token = "0x4006D88")]
|
||||
public const int TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 49177;
|
||||
|
||||
// Token: 0x04006D89 RID: 28041
|
||||
[Token(Token = "0x4006D89")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA = 44;
|
||||
|
||||
// Token: 0x04006D8A RID: 28042
|
||||
[Token(Token = "0x4006D8A")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA = 45;
|
||||
|
||||
// Token: 0x04006D8B RID: 28043
|
||||
[Token(Token = "0x4006D8B")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA = 46;
|
||||
|
||||
// Token: 0x04006D8C RID: 28044
|
||||
[Token(Token = "0x4006D8C")]
|
||||
public const int TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 49178;
|
||||
|
||||
// Token: 0x04006D8D RID: 28045
|
||||
[Token(Token = "0x4006D8D")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 49179;
|
||||
|
||||
// Token: 0x04006D8E RID: 28046
|
||||
[Token(Token = "0x4006D8E")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 49180;
|
||||
|
||||
// Token: 0x04006D8F RID: 28047
|
||||
[Token(Token = "0x4006D8F")]
|
||||
public const int TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 49181;
|
||||
|
||||
// Token: 0x04006D90 RID: 28048
|
||||
[Token(Token = "0x4006D90")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 49182;
|
||||
|
||||
// Token: 0x04006D91 RID: 28049
|
||||
[Token(Token = "0x4006D91")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 49183;
|
||||
|
||||
// Token: 0x04006D92 RID: 28050
|
||||
[Token(Token = "0x4006D92")]
|
||||
public const int TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 49184;
|
||||
|
||||
// Token: 0x04006D93 RID: 28051
|
||||
[Token(Token = "0x4006D93")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 49185;
|
||||
|
||||
// Token: 0x04006D94 RID: 28052
|
||||
[Token(Token = "0x4006D94")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 49186;
|
||||
|
||||
// Token: 0x04006D95 RID: 28053
|
||||
[Token(Token = "0x4006D95")]
|
||||
public const int TLS_RSA_WITH_NULL_SHA256 = 59;
|
||||
|
||||
// Token: 0x04006D96 RID: 28054
|
||||
[Token(Token = "0x4006D96")]
|
||||
public const int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60;
|
||||
|
||||
// Token: 0x04006D97 RID: 28055
|
||||
[Token(Token = "0x4006D97")]
|
||||
public const int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61;
|
||||
|
||||
// Token: 0x04006D98 RID: 28056
|
||||
[Token(Token = "0x4006D98")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62;
|
||||
|
||||
// Token: 0x04006D99 RID: 28057
|
||||
[Token(Token = "0x4006D99")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63;
|
||||
|
||||
// Token: 0x04006D9A RID: 28058
|
||||
[Token(Token = "0x4006D9A")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64;
|
||||
|
||||
// Token: 0x04006D9B RID: 28059
|
||||
[Token(Token = "0x4006D9B")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103;
|
||||
|
||||
// Token: 0x04006D9C RID: 28060
|
||||
[Token(Token = "0x4006D9C")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104;
|
||||
|
||||
// Token: 0x04006D9D RID: 28061
|
||||
[Token(Token = "0x4006D9D")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105;
|
||||
|
||||
// Token: 0x04006D9E RID: 28062
|
||||
[Token(Token = "0x4006D9E")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106;
|
||||
|
||||
// Token: 0x04006D9F RID: 28063
|
||||
[Token(Token = "0x4006D9F")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107;
|
||||
|
||||
// Token: 0x04006DA0 RID: 28064
|
||||
[Token(Token = "0x4006DA0")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108;
|
||||
|
||||
// Token: 0x04006DA1 RID: 28065
|
||||
[Token(Token = "0x4006DA1")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109;
|
||||
|
||||
// Token: 0x04006DA2 RID: 28066
|
||||
[Token(Token = "0x4006DA2")]
|
||||
public const int TLS_RSA_WITH_AES_128_GCM_SHA256 = 156;
|
||||
|
||||
// Token: 0x04006DA3 RID: 28067
|
||||
[Token(Token = "0x4006DA3")]
|
||||
public const int TLS_RSA_WITH_AES_256_GCM_SHA384 = 157;
|
||||
|
||||
// Token: 0x04006DA4 RID: 28068
|
||||
[Token(Token = "0x4006DA4")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158;
|
||||
|
||||
// Token: 0x04006DA5 RID: 28069
|
||||
[Token(Token = "0x4006DA5")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159;
|
||||
|
||||
// Token: 0x04006DA6 RID: 28070
|
||||
[Token(Token = "0x4006DA6")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 160;
|
||||
|
||||
// Token: 0x04006DA7 RID: 28071
|
||||
[Token(Token = "0x4006DA7")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 161;
|
||||
|
||||
// Token: 0x04006DA8 RID: 28072
|
||||
[Token(Token = "0x4006DA8")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 162;
|
||||
|
||||
// Token: 0x04006DA9 RID: 28073
|
||||
[Token(Token = "0x4006DA9")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 163;
|
||||
|
||||
// Token: 0x04006DAA RID: 28074
|
||||
[Token(Token = "0x4006DAA")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 164;
|
||||
|
||||
// Token: 0x04006DAB RID: 28075
|
||||
[Token(Token = "0x4006DAB")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165;
|
||||
|
||||
// Token: 0x04006DAC RID: 28076
|
||||
[Token(Token = "0x4006DAC")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166;
|
||||
|
||||
// Token: 0x04006DAD RID: 28077
|
||||
[Token(Token = "0x4006DAD")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167;
|
||||
|
||||
// Token: 0x04006DAE RID: 28078
|
||||
[Token(Token = "0x4006DAE")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187;
|
||||
|
||||
// Token: 0x04006DAF RID: 28079
|
||||
[Token(Token = "0x4006DAF")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188;
|
||||
|
||||
// Token: 0x04006DB0 RID: 28080
|
||||
[Token(Token = "0x4006DB0")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 49189;
|
||||
|
||||
// Token: 0x04006DB1 RID: 28081
|
||||
[Token(Token = "0x4006DB1")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 49190;
|
||||
|
||||
// Token: 0x04006DB2 RID: 28082
|
||||
[Token(Token = "0x4006DB2")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191;
|
||||
|
||||
// Token: 0x04006DB3 RID: 28083
|
||||
[Token(Token = "0x4006DB3")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192;
|
||||
|
||||
// Token: 0x04006DB4 RID: 28084
|
||||
[Token(Token = "0x4006DB4")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 49193;
|
||||
|
||||
// Token: 0x04006DB5 RID: 28085
|
||||
[Token(Token = "0x4006DB5")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 49194;
|
||||
|
||||
// Token: 0x04006DB6 RID: 28086
|
||||
[Token(Token = "0x4006DB6")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195;
|
||||
|
||||
// Token: 0x04006DB7 RID: 28087
|
||||
[Token(Token = "0x4006DB7")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196;
|
||||
|
||||
// Token: 0x04006DB8 RID: 28088
|
||||
[Token(Token = "0x4006DB8")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 49197;
|
||||
|
||||
// Token: 0x04006DB9 RID: 28089
|
||||
[Token(Token = "0x4006DB9")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 49198;
|
||||
|
||||
// Token: 0x04006DBA RID: 28090
|
||||
[Token(Token = "0x4006DBA")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199;
|
||||
|
||||
// Token: 0x04006DBB RID: 28091
|
||||
[Token(Token = "0x4006DBB")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200;
|
||||
|
||||
// Token: 0x04006DBC RID: 28092
|
||||
[Token(Token = "0x4006DBC")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 49201;
|
||||
|
||||
// Token: 0x04006DBD RID: 28093
|
||||
[Token(Token = "0x4006DBD")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 49202;
|
||||
|
||||
// Token: 0x04006DBE RID: 28094
|
||||
[Token(Token = "0x4006DBE")]
|
||||
public const int TLS_PSK_WITH_AES_128_GCM_SHA256 = 168;
|
||||
|
||||
// Token: 0x04006DBF RID: 28095
|
||||
[Token(Token = "0x4006DBF")]
|
||||
public const int TLS_PSK_WITH_AES_256_GCM_SHA384 = 169;
|
||||
|
||||
// Token: 0x04006DC0 RID: 28096
|
||||
[Token(Token = "0x4006DC0")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170;
|
||||
|
||||
// Token: 0x04006DC1 RID: 28097
|
||||
[Token(Token = "0x4006DC1")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171;
|
||||
|
||||
// Token: 0x04006DC2 RID: 28098
|
||||
[Token(Token = "0x4006DC2")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172;
|
||||
|
||||
// Token: 0x04006DC3 RID: 28099
|
||||
[Token(Token = "0x4006DC3")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173;
|
||||
|
||||
// Token: 0x04006DC4 RID: 28100
|
||||
[Token(Token = "0x4006DC4")]
|
||||
public const int TLS_PSK_WITH_AES_128_CBC_SHA256 = 174;
|
||||
|
||||
// Token: 0x04006DC5 RID: 28101
|
||||
[Token(Token = "0x4006DC5")]
|
||||
public const int TLS_PSK_WITH_AES_256_CBC_SHA384 = 175;
|
||||
|
||||
// Token: 0x04006DC6 RID: 28102
|
||||
[Token(Token = "0x4006DC6")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA256 = 176;
|
||||
|
||||
// Token: 0x04006DC7 RID: 28103
|
||||
[Token(Token = "0x4006DC7")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA384 = 177;
|
||||
|
||||
// Token: 0x04006DC8 RID: 28104
|
||||
[Token(Token = "0x4006DC8")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178;
|
||||
|
||||
// Token: 0x04006DC9 RID: 28105
|
||||
[Token(Token = "0x4006DC9")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179;
|
||||
|
||||
// Token: 0x04006DCA RID: 28106
|
||||
[Token(Token = "0x4006DCA")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA256 = 180;
|
||||
|
||||
// Token: 0x04006DCB RID: 28107
|
||||
[Token(Token = "0x4006DCB")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA384 = 181;
|
||||
|
||||
// Token: 0x04006DCC RID: 28108
|
||||
[Token(Token = "0x4006DCC")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182;
|
||||
|
||||
// Token: 0x04006DCD RID: 28109
|
||||
[Token(Token = "0x4006DCD")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183;
|
||||
|
||||
// Token: 0x04006DCE RID: 28110
|
||||
[Token(Token = "0x4006DCE")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA256 = 184;
|
||||
|
||||
// Token: 0x04006DCF RID: 28111
|
||||
[Token(Token = "0x4006DCF")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA384 = 185;
|
||||
|
||||
// Token: 0x04006DD0 RID: 28112
|
||||
[Token(Token = "0x4006DD0")]
|
||||
public const int TLS_ECDHE_PSK_WITH_RC4_128_SHA = 49203;
|
||||
|
||||
// Token: 0x04006DD1 RID: 28113
|
||||
[Token(Token = "0x4006DD1")]
|
||||
public const int TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 49204;
|
||||
|
||||
// Token: 0x04006DD2 RID: 28114
|
||||
[Token(Token = "0x4006DD2")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 49205;
|
||||
|
||||
// Token: 0x04006DD3 RID: 28115
|
||||
[Token(Token = "0x4006DD3")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 49206;
|
||||
|
||||
// Token: 0x04006DD4 RID: 28116
|
||||
[Token(Token = "0x4006DD4")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 49207;
|
||||
|
||||
// Token: 0x04006DD5 RID: 28117
|
||||
[Token(Token = "0x4006DD5")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 49208;
|
||||
|
||||
// Token: 0x04006DD6 RID: 28118
|
||||
[Token(Token = "0x4006DD6")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA = 49209;
|
||||
|
||||
// Token: 0x04006DD7 RID: 28119
|
||||
[Token(Token = "0x4006DD7")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA256 = 49210;
|
||||
|
||||
// Token: 0x04006DD8 RID: 28120
|
||||
[Token(Token = "0x4006DD8")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA384 = 49211;
|
||||
|
||||
// Token: 0x04006DD9 RID: 28121
|
||||
[Token(Token = "0x4006DD9")]
|
||||
public const int TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255;
|
||||
|
||||
// Token: 0x04006DDA RID: 28122
|
||||
[Token(Token = "0x4006DDA")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49266;
|
||||
|
||||
// Token: 0x04006DDB RID: 28123
|
||||
[Token(Token = "0x4006DDB")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49267;
|
||||
|
||||
// Token: 0x04006DDC RID: 28124
|
||||
[Token(Token = "0x4006DDC")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49268;
|
||||
|
||||
// Token: 0x04006DDD RID: 28125
|
||||
[Token(Token = "0x4006DDD")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49269;
|
||||
|
||||
// Token: 0x04006DDE RID: 28126
|
||||
[Token(Token = "0x4006DDE")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49270;
|
||||
|
||||
// Token: 0x04006DDF RID: 28127
|
||||
[Token(Token = "0x4006DDF")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49271;
|
||||
|
||||
// Token: 0x04006DE0 RID: 28128
|
||||
[Token(Token = "0x4006DE0")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49272;
|
||||
|
||||
// Token: 0x04006DE1 RID: 28129
|
||||
[Token(Token = "0x4006DE1")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49273;
|
||||
|
||||
// Token: 0x04006DE2 RID: 28130
|
||||
[Token(Token = "0x4006DE2")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49274;
|
||||
|
||||
// Token: 0x04006DE3 RID: 28131
|
||||
[Token(Token = "0x4006DE3")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49275;
|
||||
|
||||
// Token: 0x04006DE4 RID: 28132
|
||||
[Token(Token = "0x4006DE4")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49276;
|
||||
|
||||
// Token: 0x04006DE5 RID: 28133
|
||||
[Token(Token = "0x4006DE5")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49277;
|
||||
|
||||
// Token: 0x04006DE6 RID: 28134
|
||||
[Token(Token = "0x4006DE6")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49278;
|
||||
|
||||
// Token: 0x04006DE7 RID: 28135
|
||||
[Token(Token = "0x4006DE7")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49279;
|
||||
|
||||
// Token: 0x04006DE8 RID: 28136
|
||||
[Token(Token = "0x4006DE8")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49280;
|
||||
|
||||
// Token: 0x04006DE9 RID: 28137
|
||||
[Token(Token = "0x4006DE9")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49281;
|
||||
|
||||
// Token: 0x04006DEA RID: 28138
|
||||
[Token(Token = "0x4006DEA")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49282;
|
||||
|
||||
// Token: 0x04006DEB RID: 28139
|
||||
[Token(Token = "0x4006DEB")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49283;
|
||||
|
||||
// Token: 0x04006DEC RID: 28140
|
||||
[Token(Token = "0x4006DEC")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = 49284;
|
||||
|
||||
// Token: 0x04006DED RID: 28141
|
||||
[Token(Token = "0x4006DED")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = 49285;
|
||||
|
||||
// Token: 0x04006DEE RID: 28142
|
||||
[Token(Token = "0x4006DEE")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49286;
|
||||
|
||||
// Token: 0x04006DEF RID: 28143
|
||||
[Token(Token = "0x4006DEF")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49287;
|
||||
|
||||
// Token: 0x04006DF0 RID: 28144
|
||||
[Token(Token = "0x4006DF0")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49288;
|
||||
|
||||
// Token: 0x04006DF1 RID: 28145
|
||||
[Token(Token = "0x4006DF1")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49289;
|
||||
|
||||
// Token: 0x04006DF2 RID: 28146
|
||||
[Token(Token = "0x4006DF2")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49290;
|
||||
|
||||
// Token: 0x04006DF3 RID: 28147
|
||||
[Token(Token = "0x4006DF3")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49291;
|
||||
|
||||
// Token: 0x04006DF4 RID: 28148
|
||||
[Token(Token = "0x4006DF4")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49292;
|
||||
|
||||
// Token: 0x04006DF5 RID: 28149
|
||||
[Token(Token = "0x4006DF5")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49293;
|
||||
|
||||
// Token: 0x04006DF6 RID: 28150
|
||||
[Token(Token = "0x4006DF6")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49294;
|
||||
|
||||
// Token: 0x04006DF7 RID: 28151
|
||||
[Token(Token = "0x4006DF7")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49295;
|
||||
|
||||
// Token: 0x04006DF8 RID: 28152
|
||||
[Token(Token = "0x4006DF8")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49296;
|
||||
|
||||
// Token: 0x04006DF9 RID: 28153
|
||||
[Token(Token = "0x4006DF9")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49297;
|
||||
|
||||
// Token: 0x04006DFA RID: 28154
|
||||
[Token(Token = "0x4006DFA")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49298;
|
||||
|
||||
// Token: 0x04006DFB RID: 28155
|
||||
[Token(Token = "0x4006DFB")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49299;
|
||||
|
||||
// Token: 0x04006DFC RID: 28156
|
||||
[Token(Token = "0x4006DFC")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49300;
|
||||
|
||||
// Token: 0x04006DFD RID: 28157
|
||||
[Token(Token = "0x4006DFD")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49301;
|
||||
|
||||
// Token: 0x04006DFE RID: 28158
|
||||
[Token(Token = "0x4006DFE")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49302;
|
||||
|
||||
// Token: 0x04006DFF RID: 28159
|
||||
[Token(Token = "0x4006DFF")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49303;
|
||||
|
||||
// Token: 0x04006E00 RID: 28160
|
||||
[Token(Token = "0x4006E00")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49304;
|
||||
|
||||
// Token: 0x04006E01 RID: 28161
|
||||
[Token(Token = "0x4006E01")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49305;
|
||||
|
||||
// Token: 0x04006E02 RID: 28162
|
||||
[Token(Token = "0x4006E02")]
|
||||
public const int TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49306;
|
||||
|
||||
// Token: 0x04006E03 RID: 28163
|
||||
[Token(Token = "0x4006E03")]
|
||||
public const int TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49307;
|
||||
|
||||
// Token: 0x04006E04 RID: 28164
|
||||
[Token(Token = "0x4006E04")]
|
||||
public const int TLS_RSA_WITH_AES_128_CCM = 49308;
|
||||
|
||||
// Token: 0x04006E05 RID: 28165
|
||||
[Token(Token = "0x4006E05")]
|
||||
public const int TLS_RSA_WITH_AES_256_CCM = 49309;
|
||||
|
||||
// Token: 0x04006E06 RID: 28166
|
||||
[Token(Token = "0x4006E06")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CCM = 49310;
|
||||
|
||||
// Token: 0x04006E07 RID: 28167
|
||||
[Token(Token = "0x4006E07")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CCM = 49311;
|
||||
|
||||
// Token: 0x04006E08 RID: 28168
|
||||
[Token(Token = "0x4006E08")]
|
||||
public const int TLS_RSA_WITH_AES_128_CCM_8 = 49312;
|
||||
|
||||
// Token: 0x04006E09 RID: 28169
|
||||
[Token(Token = "0x4006E09")]
|
||||
public const int TLS_RSA_WITH_AES_256_CCM_8 = 49313;
|
||||
|
||||
// Token: 0x04006E0A RID: 28170
|
||||
[Token(Token = "0x4006E0A")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CCM_8 = 49314;
|
||||
|
||||
// Token: 0x04006E0B RID: 28171
|
||||
[Token(Token = "0x4006E0B")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CCM_8 = 49315;
|
||||
|
||||
// Token: 0x04006E0C RID: 28172
|
||||
[Token(Token = "0x4006E0C")]
|
||||
public const int TLS_PSK_WITH_AES_128_CCM = 49316;
|
||||
|
||||
// Token: 0x04006E0D RID: 28173
|
||||
[Token(Token = "0x4006E0D")]
|
||||
public const int TLS_PSK_WITH_AES_256_CCM = 49317;
|
||||
|
||||
// Token: 0x04006E0E RID: 28174
|
||||
[Token(Token = "0x4006E0E")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CCM = 49318;
|
||||
|
||||
// Token: 0x04006E0F RID: 28175
|
||||
[Token(Token = "0x4006E0F")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CCM = 49319;
|
||||
|
||||
// Token: 0x04006E10 RID: 28176
|
||||
[Token(Token = "0x4006E10")]
|
||||
public const int TLS_PSK_WITH_AES_128_CCM_8 = 49320;
|
||||
|
||||
// Token: 0x04006E11 RID: 28177
|
||||
[Token(Token = "0x4006E11")]
|
||||
public const int TLS_PSK_WITH_AES_256_CCM_8 = 49321;
|
||||
|
||||
// Token: 0x04006E12 RID: 28178
|
||||
[Token(Token = "0x4006E12")]
|
||||
public const int TLS_PSK_DHE_WITH_AES_128_CCM_8 = 49322;
|
||||
|
||||
// Token: 0x04006E13 RID: 28179
|
||||
[Token(Token = "0x4006E13")]
|
||||
public const int TLS_PSK_DHE_WITH_AES_256_CCM_8 = 49323;
|
||||
|
||||
// Token: 0x04006E14 RID: 28180
|
||||
[Token(Token = "0x4006E14")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 49324;
|
||||
|
||||
// Token: 0x04006E15 RID: 28181
|
||||
[Token(Token = "0x4006E15")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 49325;
|
||||
|
||||
// Token: 0x04006E16 RID: 28182
|
||||
[Token(Token = "0x4006E16")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 49326;
|
||||
|
||||
// Token: 0x04006E17 RID: 28183
|
||||
[Token(Token = "0x4006E17")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 49327;
|
||||
|
||||
// Token: 0x04006E18 RID: 28184
|
||||
[Token(Token = "0x4006E18")]
|
||||
public const int TLS_FALLBACK_SCSV = 22016;
|
||||
|
||||
// Token: 0x04006E19 RID: 28185
|
||||
[Token(Token = "0x4006E19")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392;
|
||||
|
||||
// Token: 0x04006E1A RID: 28186
|
||||
[Token(Token = "0x4006E1A")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393;
|
||||
|
||||
// Token: 0x04006E1B RID: 28187
|
||||
[Token(Token = "0x4006E1B")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394;
|
||||
|
||||
// Token: 0x04006E1C RID: 28188
|
||||
[Token(Token = "0x4006E1C")]
|
||||
public const int DRAFT_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52395;
|
||||
|
||||
// Token: 0x04006E1D RID: 28189
|
||||
[Token(Token = "0x4006E1D")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396;
|
||||
|
||||
// Token: 0x04006E1E RID: 28190
|
||||
[Token(Token = "0x4006E1E")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397;
|
||||
|
||||
// Token: 0x04006E1F RID: 28191
|
||||
[Token(Token = "0x4006E1F")]
|
||||
public const int DRAFT_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52398;
|
||||
|
||||
// Token: 0x04006E20 RID: 28192
|
||||
[Token(Token = "0x4006E20")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_AES_128_OCB = 65280;
|
||||
|
||||
// Token: 0x04006E21 RID: 28193
|
||||
[Token(Token = "0x4006E21")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_AES_256_OCB = 65281;
|
||||
|
||||
// Token: 0x04006E22 RID: 28194
|
||||
[Token(Token = "0x4006E22")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_AES_128_OCB = 65282;
|
||||
|
||||
// Token: 0x04006E23 RID: 28195
|
||||
[Token(Token = "0x4006E23")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_AES_256_OCB = 65283;
|
||||
|
||||
// Token: 0x04006E24 RID: 28196
|
||||
[Token(Token = "0x4006E24")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_AES_128_OCB = 65284;
|
||||
|
||||
// Token: 0x04006E25 RID: 28197
|
||||
[Token(Token = "0x4006E25")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_AES_256_OCB = 65285;
|
||||
|
||||
// Token: 0x04006E26 RID: 28198
|
||||
[Token(Token = "0x4006E26")]
|
||||
public const int DRAFT_TLS_PSK_WITH_AES_128_OCB = 65296;
|
||||
|
||||
// Token: 0x04006E27 RID: 28199
|
||||
[Token(Token = "0x4006E27")]
|
||||
public const int DRAFT_TLS_PSK_WITH_AES_256_OCB = 65297;
|
||||
|
||||
// Token: 0x04006E28 RID: 28200
|
||||
[Token(Token = "0x4006E28")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_AES_128_OCB = 65298;
|
||||
|
||||
// Token: 0x04006E29 RID: 28201
|
||||
[Token(Token = "0x4006E29")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_AES_256_OCB = 65299;
|
||||
|
||||
// Token: 0x04006E2A RID: 28202
|
||||
[Token(Token = "0x4006E2A")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_AES_128_OCB = 65300;
|
||||
|
||||
// Token: 0x04006E2B RID: 28203
|
||||
[Token(Token = "0x4006E2B")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_AES_256_OCB = 65301;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B0D RID: 6925
|
||||
[Token(Token = "0x2001B0D")]
|
||||
public abstract class CipherType
|
||||
{
|
||||
// Token: 0x0600AC3A RID: 44090 RVA: 0x00257AB8 File Offset: 0x00255CB8
|
||||
[Token(Token = "0x600AC3A")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected CipherType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E2C RID: 28204
|
||||
[Token(Token = "0x4006E2C")]
|
||||
public const int stream = 0;
|
||||
|
||||
// Token: 0x04006E2D RID: 28205
|
||||
[Token(Token = "0x4006E2D")]
|
||||
public const int block = 1;
|
||||
|
||||
// Token: 0x04006E2E RID: 28206
|
||||
[Token(Token = "0x4006E2E")]
|
||||
public const int aead = 2;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B0E RID: 6926
|
||||
[Token(Token = "0x2001B0E")]
|
||||
public abstract class ClientAuthenticationType
|
||||
{
|
||||
// Token: 0x0600AC3B RID: 44091 RVA: 0x00257ACC File Offset: 0x00255CCC
|
||||
[Token(Token = "0x600AC3B")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ClientAuthenticationType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E2F RID: 28207
|
||||
[Token(Token = "0x4006E2F")]
|
||||
public const byte anonymous = 0;
|
||||
|
||||
// Token: 0x04006E30 RID: 28208
|
||||
[Token(Token = "0x4006E30")]
|
||||
public const byte certificate_based = 1;
|
||||
|
||||
// Token: 0x04006E31 RID: 28209
|
||||
[Token(Token = "0x4006E31")]
|
||||
public const byte psk = 2;
|
||||
}
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B0F RID: 6927
|
||||
[Token(Token = "0x2001B0F")]
|
||||
public abstract class ClientCertificateType
|
||||
{
|
||||
// Token: 0x0600AC3C RID: 44092 RVA: 0x00257AE0 File Offset: 0x00255CE0
|
||||
[Token(Token = "0x600AC3C")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ClientCertificateType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E32 RID: 28210
|
||||
[Token(Token = "0x4006E32")]
|
||||
public const byte rsa_sign = 1;
|
||||
|
||||
// Token: 0x04006E33 RID: 28211
|
||||
[Token(Token = "0x4006E33")]
|
||||
public const byte dss_sign = 2;
|
||||
|
||||
// Token: 0x04006E34 RID: 28212
|
||||
[Token(Token = "0x4006E34")]
|
||||
public const byte rsa_fixed_dh = 3;
|
||||
|
||||
// Token: 0x04006E35 RID: 28213
|
||||
[Token(Token = "0x4006E35")]
|
||||
public const byte dss_fixed_dh = 4;
|
||||
|
||||
// Token: 0x04006E36 RID: 28214
|
||||
[Token(Token = "0x4006E36")]
|
||||
public const byte rsa_ephemeral_dh_RESERVED = 5;
|
||||
|
||||
// Token: 0x04006E37 RID: 28215
|
||||
[Token(Token = "0x4006E37")]
|
||||
public const byte dss_ephemeral_dh_RESERVED = 6;
|
||||
|
||||
// Token: 0x04006E38 RID: 28216
|
||||
[Token(Token = "0x4006E38")]
|
||||
public const byte fortezza_dms_RESERVED = 20;
|
||||
|
||||
// Token: 0x04006E39 RID: 28217
|
||||
[Token(Token = "0x4006E39")]
|
||||
public const byte ecdsa_sign = 64;
|
||||
|
||||
// Token: 0x04006E3A RID: 28218
|
||||
[Token(Token = "0x4006E3A")]
|
||||
public const byte rsa_fixed_ecdh = 65;
|
||||
|
||||
// Token: 0x04006E3B RID: 28219
|
||||
[Token(Token = "0x4006E3B")]
|
||||
public const byte ecdsa_fixed_ecdh = 66;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,277 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B10 RID: 6928
|
||||
[Token(Token = "0x2001B10")]
|
||||
internal class CombinedHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x0600AC3D RID: 44093 RVA: 0x00257AF4 File Offset: 0x00255CF4
|
||||
[Token(Token = "0x600AC3D")]
|
||||
[Address(RVA = "0x18AC430", Offset = "0x18AB230", VA = "0x1818AC430")]
|
||||
internal CombinedHash()
|
||||
{
|
||||
this.SealHashAlgorithms();
|
||||
IDigest digest;
|
||||
this.mMd5 = digest;
|
||||
IDigest digest2;
|
||||
this.mSha1 = digest2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC3E RID: 44094 RVA: 0x00257B18 File Offset: 0x00255D18
|
||||
[Token(Token = "0x600AC3E")]
|
||||
[Address(RVA = "0x18AC380", Offset = "0x18AB180", VA = "0x1818AC380")]
|
||||
internal CombinedHash(CombinedHash t)
|
||||
{
|
||||
this.SealHashAlgorithms();
|
||||
TlsContext tlsContext = t.mContext;
|
||||
this.mContext = tlsContext;
|
||||
IDigest digest = t.mMd5;
|
||||
IDigest digest2;
|
||||
this.mMd5 = digest2;
|
||||
IDigest digest3 = t.mSha1;
|
||||
IDigest digest4;
|
||||
this.mSha1 = digest4;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC3F RID: 44095 RVA: 0x00257B5C File Offset: 0x00255D5C
|
||||
[Token(Token = "0x600AC3F")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC40 RID: 44096 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC40")]
|
||||
[Address(RVA = "0x434BD0", Offset = "0x4339D0", VA = "0x180434BD0", Slot = "19")]
|
||||
public virtual TlsHandshakeHash NotifyPrfDetermined()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC41 RID: 44097 RVA: 0x00257B70 File Offset: 0x00255D70
|
||||
[Token(Token = "0x600AC41")]
|
||||
[Address(RVA = "0x18AC2A0", Offset = "0x18AB0A0", VA = "0x1818AC2A0", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC41)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::TrackHashAlgorithm(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash only supports calculating the legacy PRF for handshake hash")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC42 RID: 44098 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC42")]
|
||||
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC43 RID: 44099 RVA: 0x00257B88 File Offset: 0x00255D88
|
||||
[Token(Token = "0x600AC43")]
|
||||
[Address(RVA = "0x18AC240", Offset = "0x18AB040", VA = "0x1818AC240", Slot = "22")]
|
||||
public virtual TlsHandshakeHash StopTracking()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC43)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::StopTracking()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC44 RID: 44100 RVA: 0x00257B9C File Offset: 0x00255D9C
|
||||
[Token(Token = "0x600AC44")]
|
||||
[Address(RVA = "0x18ABE70", Offset = "0x18AAC70", VA = "0x1818ABE70", Slot = "23")]
|
||||
public virtual IDigest ForkPrfHash()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC44)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::ForkPrfHash()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC45 RID: 44101 RVA: 0x00257BB0 File Offset: 0x00255DB0
|
||||
[Token(Token = "0x600AC45")]
|
||||
[Address(RVA = "0x18ABFF0", Offset = "0x18AADF0", VA = "0x1818ABFF0", Slot = "24")]
|
||||
public virtual byte[] GetFinalHash(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC45)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::GetFinalHash(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash doesn't support multiple hashes")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B57 RID: 6999
|
||||
// (get) Token: 0x0600AC46 RID: 44102 RVA: 0x00257BC8 File Offset: 0x00255DC8
|
||||
[Token(Token = "0x17001B57")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600AC46")]
|
||||
[Address(RVA = "0x18AC4A0", Offset = "0x18AB2A0", VA = "0x1818AC4A0", Slot = "25")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
string text;
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC47 RID: 44103 RVA: 0x00257BEC File Offset: 0x00255DEC
|
||||
[Token(Token = "0x600AC47")]
|
||||
[Address(RVA = "0x18ABED0", Offset = "0x18AACD0", VA = "0x1818ABED0", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC48 RID: 44104 RVA: 0x00257C10 File Offset: 0x00255E10
|
||||
[Token(Token = "0x600AC48")]
|
||||
[Address(RVA = "0x18ABF70", Offset = "0x18AAD70", VA = "0x1818ABF70", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC49 RID: 44105 RVA: 0x00257C30 File Offset: 0x00255E30
|
||||
[Token(Token = "0x600AC49")]
|
||||
[Address(RVA = "0x18AC300", Offset = "0x18AB100", VA = "0x1818AC300", Slot = "28")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC4A RID: 44106 RVA: 0x00257C50 File Offset: 0x00255E50
|
||||
[Token(Token = "0x600AC4A")]
|
||||
[Address(RVA = "0x18ABC50", Offset = "0x18AAA50", VA = "0x1818ABC50", Slot = "29")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC4B RID: 44107 RVA: 0x00257C74 File Offset: 0x00255E74
|
||||
[Token(Token = "0x600AC4B")]
|
||||
[Address(RVA = "0x18ABCF0", Offset = "0x18AAAF0", VA = "0x1818ABCF0", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
if (tlsContext != 0 && TlsUtilities.IsSsl(tlsContext))
|
||||
{
|
||||
this.Reset();
|
||||
this.Reset();
|
||||
}
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC4C RID: 44108 RVA: 0x00257CB8 File Offset: 0x00255EB8
|
||||
[Token(Token = "0x600AC4C")]
|
||||
[Address(RVA = "0x18AC050", Offset = "0x18AAE50", VA = "0x1818AC050", Slot = "31")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC4D RID: 44109 RVA: 0x00257CD8 File Offset: 0x00255ED8
|
||||
[Token(Token = "0x600AC4D")]
|
||||
[Address(RVA = "0x18AC0C0", Offset = "0x18AAEC0", VA = "0x1818AC0C0", Slot = "32")]
|
||||
protected virtual void Ssl3Complete(IDigest d, byte[] ipad, byte[] opad, int padLength)
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
IDigest digest = this.mMd5;
|
||||
byte[] array = DigestUtilities.DoFinal(d);
|
||||
IDigest digest2 = this.mMd5;
|
||||
int length = array.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E3C RID: 28220
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E3C")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x04006E3D RID: 28221
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E3D")]
|
||||
protected IDigest mMd5;
|
||||
|
||||
// Token: 0x04006E3E RID: 28222
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E3E")]
|
||||
protected IDigest mSha1;
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B11 RID: 6929
|
||||
[Token(Token = "0x2001B11")]
|
||||
public abstract class CompressionMethod
|
||||
{
|
||||
// Token: 0x0600AC4E RID: 44110 RVA: 0x00257D14 File Offset: 0x00255F14
|
||||
[Token(Token = "0x600AC4E")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected CompressionMethod()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E3F RID: 28223
|
||||
[Token(Token = "0x4006E3F")]
|
||||
public const byte cls_null = 0;
|
||||
|
||||
// Token: 0x04006E40 RID: 28224
|
||||
[Token(Token = "0x4006E40")]
|
||||
public const byte DEFLATE = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B12 RID: 6930
|
||||
[Token(Token = "0x2001B12")]
|
||||
public abstract class ConnectionEnd
|
||||
{
|
||||
// Token: 0x0600AC4F RID: 44111 RVA: 0x00257D28 File Offset: 0x00255F28
|
||||
[Token(Token = "0x600AC4F")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ConnectionEnd()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E41 RID: 28225
|
||||
[Token(Token = "0x4006E41")]
|
||||
public const int server = 0;
|
||||
|
||||
// Token: 0x04006E42 RID: 28226
|
||||
[Token(Token = "0x4006E42")]
|
||||
public const int client = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B13 RID: 6931
|
||||
[Token(Token = "0x2001B13")]
|
||||
public abstract class ContentType
|
||||
{
|
||||
// Token: 0x0600AC50 RID: 44112 RVA: 0x00257D3C File Offset: 0x00255F3C
|
||||
[Token(Token = "0x600AC50")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ContentType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E43 RID: 28227
|
||||
[Token(Token = "0x4006E43")]
|
||||
public const byte change_cipher_spec = 20;
|
||||
|
||||
// Token: 0x04006E44 RID: 28228
|
||||
[Token(Token = "0x4006E44")]
|
||||
public const byte alert = 21;
|
||||
|
||||
// Token: 0x04006E45 RID: 28229
|
||||
[Token(Token = "0x4006E45")]
|
||||
public const byte handshake = 22;
|
||||
|
||||
// Token: 0x04006E46 RID: 28230
|
||||
[Token(Token = "0x4006E46")]
|
||||
public const byte application_data = 23;
|
||||
|
||||
// Token: 0x04006E47 RID: 28231
|
||||
[Token(Token = "0x4006E47")]
|
||||
public const byte heartbeat = 24;
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B14 RID: 6932
|
||||
[Token(Token = "0x2001B14")]
|
||||
public interface DatagramTransport
|
||||
{
|
||||
// Token: 0x0600AC51 RID: 44113
|
||||
[Token(Token = "0x600AC51")]
|
||||
[Address(Slot = "0")]
|
||||
int GetReceiveLimit();
|
||||
|
||||
// Token: 0x0600AC52 RID: 44114
|
||||
[Token(Token = "0x600AC52")]
|
||||
[Address(Slot = "1")]
|
||||
int GetSendLimit();
|
||||
|
||||
// Token: 0x0600AC53 RID: 44115
|
||||
[Token(Token = "0x600AC53")]
|
||||
[Address(Slot = "2")]
|
||||
int Receive(byte[] buf, int off, int len, int waitMillis);
|
||||
|
||||
// Token: 0x0600AC54 RID: 44116
|
||||
[Token(Token = "0x600AC54")]
|
||||
[Address(Slot = "3")]
|
||||
void Send(byte[] buf, int off, int len);
|
||||
|
||||
// Token: 0x0600AC55 RID: 44117
|
||||
[Token(Token = "0x600AC55")]
|
||||
[Address(Slot = "4")]
|
||||
void Close();
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B15 RID: 6933
|
||||
[Token(Token = "0x2001B15")]
|
||||
public class DefaultTlsAgreementCredentials : AbstractTlsAgreementCredentials
|
||||
{
|
||||
// Token: 0x0600AC56 RID: 44118 RVA: 0x00257D50 File Offset: 0x00255F50
|
||||
[Token(Token = "0x600AC56")]
|
||||
[Address(RVA = "0x18AC650", Offset = "0x18AB450", VA = "0x1818AC650")]
|
||||
public DefaultTlsAgreementCredentials(Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC56)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsAgreementCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_55:
|
||||
stloc:string(var_3_64, call:string(Platform::GetTypeName, newobj:ArgumentNullException[exp:object](ArgumentNullException::.ctor, ldstr:string("certificate"))))
|
||||
stloc:ArgumentException(var_4_7A, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_3_64)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B58 RID: 7000
|
||||
// (get) Token: 0x0600AC57 RID: 44119 RVA: 0x00257DD8 File Offset: 0x00255FD8
|
||||
[Token(Token = "0x17001B58")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600AC57")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC58 RID: 44120 RVA: 0x00257DEC File Offset: 0x00255FEC
|
||||
[Token(Token = "0x600AC58")]
|
||||
[Address(RVA = "0x18AC520", Offset = "0x18AB320", VA = "0x1818AC520", Slot = "7")]
|
||||
public override byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey)
|
||||
{
|
||||
IBasicAgreement basicAgreement = this.mBasicAgreement;
|
||||
IBasicAgreement basicAgreement2 = this.mBasicAgreement;
|
||||
int num = 0;
|
||||
if (num < basicAgreement)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (!this.mTruncateAgreement)
|
||||
{
|
||||
IBasicAgreement basicAgreement3 = this.mBasicAgreement;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
byte[] array2;
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x04006E48 RID: 28232
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E48")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04006E49 RID: 28233
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E49")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
|
||||
// Token: 0x04006E4A RID: 28234
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E4A")]
|
||||
protected readonly IBasicAgreement mBasicAgreement;
|
||||
|
||||
// Token: 0x04006E4B RID: 28235
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E4B")]
|
||||
protected readonly bool mTruncateAgreement;
|
||||
}
|
||||
}
|
||||
+434
@@ -0,0 +1,434 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B16 RID: 6934
|
||||
[Token(Token = "0x2001B16")]
|
||||
public class DefaultTlsCipherFactory : AbstractTlsCipherFactory
|
||||
{
|
||||
// Token: 0x0600AC59 RID: 44121 RVA: 0x00257E34 File Offset: 0x00256034
|
||||
[Token(Token = "0x600AC59")]
|
||||
[Address(RVA = "0x18AD170", Offset = "0x18ABF70", VA = "0x1818AD170", Slot = "5")]
|
||||
public override TlsCipher CreateCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC59)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCipher(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:TlsFatalAlert(var_20_49, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_21)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC5A RID: 44122 RVA: 0x00257E8C File Offset: 0x0025608C
|
||||
[Token(Token = "0x600AC5A")]
|
||||
[Address(RVA = "0x18AC8A0", Offset = "0x18AB6A0", VA = "0x1818AC8A0", Slot = "6")]
|
||||
protected virtual TlsBlockCipher CreateAESCipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateCamelliaEngine();
|
||||
IBlockCipher blockCipher2 = this.CreateCamelliaEngine();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC5B RID: 44123 RVA: 0x00257EB8 File Offset: 0x002560B8
|
||||
[Token(Token = "0x600AC5B")]
|
||||
[Address(RVA = "0x18ACCB0", Offset = "0x18ABAB0", VA = "0x1818ACCB0", Slot = "7")]
|
||||
protected virtual TlsBlockCipher CreateCamelliaCipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Camellia_Gcm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Camellia_Gcm();
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC5C RID: 44124 RVA: 0x00257EE4 File Offset: 0x002560E4
|
||||
[Token(Token = "0x600AC5C")]
|
||||
[Address(RVA = "0x18ACE00", Offset = "0x18ABC00", VA = "0x1818ACE00", Slot = "8")]
|
||||
protected virtual TlsCipher CreateChaCha20Poly1305(TlsContext context)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC5C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateChaCha20Poly1305(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Chacha20Poly1305(var_0_06, newobj:Chacha20Poly1305(Chacha20Poly1305::.ctor, ldloc:TlsContext(context)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC5D RID: 44125 RVA: 0x00257EF8 File Offset: 0x002560F8
|
||||
[Token(Token = "0x600AC5D")]
|
||||
[Address(RVA = "0x18ACE60", Offset = "0x18ABC60", VA = "0x1818ACE60", Slot = "9")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Ccm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateAesBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateAesBlockCipher();
|
||||
TlsAeadCipher tlsAeadCipher;
|
||||
return tlsAeadCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC5E RID: 44126 RVA: 0x00257F14 File Offset: 0x00256114
|
||||
[Token(Token = "0x600AC5E")]
|
||||
[Address(RVA = "0x18ACF20", Offset = "0x18ABD20", VA = "0x1818ACF20", Slot = "10")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Gcm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Ccm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Ccm();
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC5F RID: 44127 RVA: 0x00257F3C File Offset: 0x0025613C
|
||||
[Token(Token = "0x600AC5F")]
|
||||
[Address(RVA = "0x18ACFE0", Offset = "0x18ABDE0", VA = "0x1818ACFE0", Slot = "11")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Ocb(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Gcm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Gcm();
|
||||
ulong num;
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize, (int)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC60 RID: 44128 RVA: 0x00257F64 File Offset: 0x00256164
|
||||
[Token(Token = "0x600AC60")]
|
||||
[Address(RVA = "0x18AD0B0", Offset = "0x18ABEB0", VA = "0x1818AD0B0", Slot = "12")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Camellia_Gcm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Ocb();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Ocb();
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize);
|
||||
}
|
||||
|
||||
// Token: 0x0600AC61 RID: 44129 RVA: 0x00257F8C File Offset: 0x0025618C
|
||||
[Token(Token = "0x600AC61")]
|
||||
[Address(RVA = "0x18AD590", Offset = "0x18AC390", VA = "0x1818AD590", Slot = "13")]
|
||||
protected virtual TlsBlockCipher CreateDesEdeCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateCamelliaBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateCamelliaBlockCipher();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC62 RID: 44130 RVA: 0x00257FB8 File Offset: 0x002561B8
|
||||
[Token(Token = "0x600AC62")]
|
||||
[Address(RVA = "0x18AD800", Offset = "0x18AC600", VA = "0x1818AD800", Slot = "14")]
|
||||
protected virtual TlsNullCipher CreateNullCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsNullCipher tlsNullCipher;
|
||||
return tlsNullCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC63 RID: 44131 RVA: 0x00257FD4 File Offset: 0x002561D4
|
||||
[Token(Token = "0x600AC63")]
|
||||
[Address(RVA = "0x18AD8B0", Offset = "0x18AC6B0", VA = "0x1818AD8B0", Slot = "15")]
|
||||
protected virtual TlsStreamCipher CreateRC4Cipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateDesEdeBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateDesEdeBlockCipher();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsStreamCipher tlsStreamCipher;
|
||||
return tlsStreamCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC64 RID: 44132 RVA: 0x00258000 File Offset: 0x00256200
|
||||
[Token(Token = "0x600AC64")]
|
||||
[Address(RVA = "0x18ADA80", Offset = "0x18AC880", VA = "0x1818ADA80", Slot = "16")]
|
||||
protected virtual TlsBlockCipher CreateSeedCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IStreamCipher streamCipher = this.CreateRC4StreamCipher();
|
||||
IStreamCipher streamCipher2 = this.CreateRC4StreamCipher();
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC65 RID: 44133 RVA: 0x0025802C File Offset: 0x0025622C
|
||||
[Token(Token = "0x600AC65")]
|
||||
[Address(RVA = "0x18ACBF0", Offset = "0x18AB9F0", VA = "0x1818ACBF0", Slot = "17")]
|
||||
protected virtual IBlockCipher CreateAesEngine()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC65)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateAesEngine()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:AesEngine(var_0_05, newobj:AesEngine(AesEngine::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC66 RID: 44134 RVA: 0x00258040 File Offset: 0x00256240
|
||||
[Token(Token = "0x600AC66")]
|
||||
[Address(RVA = "0x18ACDB0", Offset = "0x18ABBB0", VA = "0x1818ACDB0", Slot = "18")]
|
||||
protected virtual IBlockCipher CreateCamelliaEngine()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC66)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCamelliaEngine()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CamelliaEngine(var_0_05, newobj:CamelliaEngine(CamelliaEngine::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC67 RID: 44135 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC67")]
|
||||
[Address(RVA = "0x18ACB80", Offset = "0x18AB980", VA = "0x1818ACB80", Slot = "19")]
|
||||
protected virtual IBlockCipher CreateAesBlockCipher()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC68 RID: 44136 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC68")]
|
||||
[Address(RVA = "0x18AC9A0", Offset = "0x18AB7A0", VA = "0x1818AC9A0", Slot = "20")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Ccm()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC69 RID: 44137 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC69")]
|
||||
[Address(RVA = "0x18ACA10", Offset = "0x18AB810", VA = "0x1818ACA10", Slot = "21")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Gcm()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC6A RID: 44138 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC6A")]
|
||||
[Address(RVA = "0x18ACA80", Offset = "0x18AB880", VA = "0x1818ACA80", Slot = "22")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Ocb()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC6B RID: 44139 RVA: 0x00258054 File Offset: 0x00256254
|
||||
[Token(Token = "0x600AC6B")]
|
||||
[Address(RVA = "0x18ACB10", Offset = "0x18AB910", VA = "0x1818ACB10", Slot = "23")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Camellia_Gcm()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC6B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateAeadBlockCipher_Camellia_Gcm()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:GcmBlockCipher(var_0_0B, newobj:GcmBlockCipher(GcmBlockCipher::.ctor, callvirt:IBlockCipher(DefaultTlsCipherFactory::CreateAesEngine, ldloc:DefaultTlsCipherFactory(this))))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC6C RID: 44140 RVA: 0x0025806C File Offset: 0x0025626C
|
||||
[Token(Token = "0x600AC6C")]
|
||||
[Address(RVA = "0x18ACC40", Offset = "0x18ABA40", VA = "0x1818ACC40", Slot = "24")]
|
||||
protected virtual IBlockCipher CreateCamelliaBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC6C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCamelliaBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0B, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, callvirt:IBlockCipher(DefaultTlsCipherFactory::CreateAesEngine, ldloc:DefaultTlsCipherFactory(this))))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC6D RID: 44141 RVA: 0x00258084 File Offset: 0x00256284
|
||||
[Token(Token = "0x600AC6D")]
|
||||
[Address(RVA = "0x18AD520", Offset = "0x18AC320", VA = "0x1818AD520", Slot = "25")]
|
||||
protected virtual IBlockCipher CreateDesEdeBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC6D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateDesEdeBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0A, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, newobj:DesEdeEngine[exp:IBlockCipher](DesEdeEngine::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC6E RID: 44142 RVA: 0x0025809C File Offset: 0x0025629C
|
||||
[Token(Token = "0x600AC6E")]
|
||||
[Address(RVA = "0x18AD9C0", Offset = "0x18AC7C0", VA = "0x1818AD9C0", Slot = "26")]
|
||||
protected virtual IStreamCipher CreateRC4StreamCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC6E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IStreamCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateRC4StreamCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RC4Engine(var_0_05, newobj:RC4Engine(RC4Engine::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC6F RID: 44143 RVA: 0x002580B0 File Offset: 0x002562B0
|
||||
[Token(Token = "0x600AC6F")]
|
||||
[Address(RVA = "0x18ADA10", Offset = "0x18AC810", VA = "0x1818ADA10", Slot = "27")]
|
||||
protected virtual IBlockCipher CreateSeedBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC6F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateSeedBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0A, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, newobj:SeedEngine[exp:IBlockCipher](SeedEngine::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC70 RID: 44144 RVA: 0x002580C8 File Offset: 0x002562C8
|
||||
[Token(Token = "0x600AC70")]
|
||||
[Address(RVA = "0x18AD690", Offset = "0x18AC490", VA = "0x1818AD690", Slot = "28")]
|
||||
protected virtual IDigest CreateHMacDigest(int macAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC70)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateHMacDigest(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2B:
|
||||
stloc:TlsFatalAlert(var_6_32, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_7)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC71 RID: 44145 RVA: 0x00258108 File Offset: 0x00256308
|
||||
[Token(Token = "0x600AC71")]
|
||||
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
|
||||
public DefaultTlsCipherFactory()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+226
@@ -0,0 +1,226 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B17 RID: 6935
|
||||
[Token(Token = "0x2001B17")]
|
||||
public abstract class DefaultTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600AC72 RID: 44146 RVA: 0x0025811C File Offset: 0x0025631C
|
||||
[Token(Token = "0x600AC72")]
|
||||
[Address(RVA = "0x18AE080", Offset = "0x18ACE80", VA = "0x1818AE080")]
|
||||
public DefaultTlsClient()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC73 RID: 44147 RVA: 0x00258144 File Offset: 0x00256344
|
||||
[Token(Token = "0x600AC73")]
|
||||
[Address(RVA = "0x18AE010", Offset = "0x18ACE10", VA = "0x1818AE010")]
|
||||
public DefaultTlsClient(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(cipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC74 RID: 44148 RVA: 0x00258168 File Offset: 0x00256368
|
||||
[Token(Token = "0x600AC74")]
|
||||
[Address(RVA = "0x18AE120", Offset = "0x18ACF20", VA = "0x1818AE120")]
|
||||
public DefaultTlsClient(TlsCipherFactory cipherFactory, TlsDHVerifier dhVerifier)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mDHVerifier = dhVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC75 RID: 44149 RVA: 0x00258184 File Offset: 0x00256384
|
||||
[Token(Token = "0x600AC75")]
|
||||
[Address(RVA = "0x18ADE20", Offset = "0x18ACC20", VA = "0x1818ADE20", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[9];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D1C2E1F681ED98C3A518F7C96A5D5C6FC0E3F608).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC76 RID: 44150 RVA: 0x002581A8 File Offset: 0x002563A8
|
||||
[Token(Token = "0x600AC76")]
|
||||
[Address(RVA = "0x18ADE70", Offset = "0x18ACC70", VA = "0x1818ADE70", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC76)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:TlsFatalAlert(var_4_25, 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.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC77 RID: 44151 RVA: 0x002581DC File Offset: 0x002563DC
|
||||
[Token(Token = "0x600AC77")]
|
||||
[Address(RVA = "0x18ADB80", Offset = "0x18AC980", VA = "0x1818ADB80", Slot = "61")]
|
||||
protected virtual TlsKeyExchange CreateDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC77)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsDHVerifier(var_1_0D, ldfld:TlsDHVerifier(DefaultTlsClient::mDHVerifier, ldloc:DefaultTlsClient(this)))
|
||||
stloc:TlsDHKeyExchange(var_2_17, newobj:TlsDHKeyExchange(TlsDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsDHVerifier(var_1_0D), ldloc:int32[exp:DHParameters](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC78 RID: 44152 RVA: 0x00258204 File Offset: 0x00256404
|
||||
[Token(Token = "0x600AC78")]
|
||||
[Address(RVA = "0x18ADC00", Offset = "0x18ACA00", VA = "0x1818ADC00", Slot = "62")]
|
||||
protected virtual TlsKeyExchange CreateDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC78)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsDHVerifier(var_1_0D, ldfld:TlsDHVerifier(DefaultTlsClient::mDHVerifier, ldloc:DefaultTlsClient(this)))
|
||||
stloc:TlsDheKeyExchange(var_2_17, newobj:TlsDheKeyExchange(TlsDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsDHVerifier(var_1_0D), ldloc:int32[exp:DHParameters](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC79 RID: 44153 RVA: 0x0025822C File Offset: 0x0025642C
|
||||
[Token(Token = "0x600AC79")]
|
||||
[Address(RVA = "0x18ADC80", Offset = "0x18ACA80", VA = "0x1818ADC80", Slot = "63")]
|
||||
protected virtual TlsKeyExchange CreateECDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC79)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateECDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsECDHKeyExchange(var_4_26, newobj:TlsECDHKeyExchange(TlsECDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC7A RID: 44154 RVA: 0x00258260 File Offset: 0x00256460
|
||||
[Token(Token = "0x600AC7A")]
|
||||
[Address(RVA = "0x18ADD20", Offset = "0x18ACB20", VA = "0x1818ADD20", Slot = "64")]
|
||||
protected virtual TlsKeyExchange CreateECDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC7A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateECDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsECDheKeyExchange(var_4_26, newobj:TlsECDheKeyExchange(TlsECDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC7B RID: 44155 RVA: 0x00258294 File Offset: 0x00256494
|
||||
[Token(Token = "0x600AC7B")]
|
||||
[Address(RVA = "0x18ADDC0", Offset = "0x18ACBC0", VA = "0x1818ADDC0", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreateRsaKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC7B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateRsaKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsRsaKeyExchange(var_0_0B, newobj:TlsRsaKeyExchange(TlsRsaKeyExchange::.ctor, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this))))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006E4C RID: 28236
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006E4C")]
|
||||
protected TlsDHVerifier mDHVerifier;
|
||||
}
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B19 RID: 6937
|
||||
[Token(Token = "0x2001B19")]
|
||||
public class DefaultTlsEncryptionCredentials : AbstractTlsEncryptionCredentials
|
||||
{
|
||||
// Token: 0x0600AC87 RID: 44167 RVA: 0x00258498 File Offset: 0x00256698
|
||||
[Token(Token = "0x600AC87")]
|
||||
[Address(RVA = "0x18AE8F0", Offset = "0x18AD6F0", VA = "0x1818AE8F0")]
|
||||
public DefaultTlsEncryptionCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC87)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsEncryptionCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3C:
|
||||
stloc:string(var_1_4B, call:string(Platform::GetTypeName, newobj:ArgumentNullException[exp:object](ArgumentNullException::.ctor, ldstr:string("certificate"))))
|
||||
stloc:ArgumentException(var_2_61, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_1_4B)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B5A RID: 7002
|
||||
// (get) Token: 0x0600AC88 RID: 44168 RVA: 0x00258508 File Offset: 0x00256708
|
||||
[Token(Token = "0x17001B5A")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600AC88")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC89 RID: 44169 RVA: 0x0025851C File Offset: 0x0025671C
|
||||
[Token(Token = "0x600AC89")]
|
||||
[Address(RVA = "0x18AE850", Offset = "0x18AD650", VA = "0x1818AE850", Slot = "7")]
|
||||
public override byte[] DecryptPreMasterSecret(byte[] encryptedPreMasterSecret)
|
||||
{
|
||||
AsymmetricKeyParameter asymmetricKeyParameter;
|
||||
do
|
||||
{
|
||||
asymmetricKeyParameter = this.mPrivateKey;
|
||||
if (asymmetricKeyParameter == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (asymmetricKeyParameter == 0);
|
||||
TlsContext tlsContext = this.mContext;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04006E51 RID: 28241
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E51")]
|
||||
protected readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x04006E52 RID: 28242
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E52")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04006E53 RID: 28243
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E53")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
}
|
||||
}
|
||||
+268
@@ -0,0 +1,268 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B1A RID: 6938
|
||||
[Token(Token = "0x2001B1A")]
|
||||
public abstract class DefaultTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x0600AC8A RID: 44170 RVA: 0x00258544 File Offset: 0x00256744
|
||||
[Token(Token = "0x600AC8A")]
|
||||
[Address(RVA = "0x18AF2A0", Offset = "0x18AE0A0", VA = "0x1818AF2A0")]
|
||||
public DefaultTlsServer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AC8B RID: 44171 RVA: 0x00258558 File Offset: 0x00256758
|
||||
[Token(Token = "0x600AC8B")]
|
||||
[Address(RVA = "0x187CEC0", Offset = "0x187BCC0", VA = "0x18187CEC0")]
|
||||
public DefaultTlsServer(TlsCipherFactory cipherFactory)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AC8C RID: 44172 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC8C")]
|
||||
[Address(RVA = "0x18AEFC0", Offset = "0x18ADDC0", VA = "0x1818AEFC0", Slot = "63")]
|
||||
protected virtual TlsSignerCredentials GetDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC8D RID: 44173 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC8D")]
|
||||
[Address(RVA = "0x18AF010", Offset = "0x18ADE10", VA = "0x1818AF010", Slot = "64")]
|
||||
protected virtual TlsSignerCredentials GetECDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC8E RID: 44174 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC8E")]
|
||||
[Address(RVA = "0x18AF200", Offset = "0x18AE000", VA = "0x1818AF200", Slot = "65")]
|
||||
protected virtual TlsEncryptionCredentials GetRsaEncryptionCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC8F RID: 44175 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AC8F")]
|
||||
[Address(RVA = "0x18AF250", Offset = "0x18AE050", VA = "0x1818AF250", Slot = "66")]
|
||||
protected virtual TlsSignerCredentials GetRsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AC90 RID: 44176 RVA: 0x0025856C File Offset: 0x0025676C
|
||||
[Token(Token = "0x600AC90")]
|
||||
[Address(RVA = "0x18AEF60", Offset = "0x18ADD60", VA = "0x1818AEF60", Slot = "67")]
|
||||
protected virtual DHParameters GetDHParameters()
|
||||
{
|
||||
return DHStandardGroups.rfc7919_ffdhe2048;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC91 RID: 44177 RVA: 0x00258580 File Offset: 0x00256780
|
||||
[Token(Token = "0x600AC91")]
|
||||
[Address(RVA = "0x18AEDC0", Offset = "0x18ADBC0", VA = "0x1818AEDC0", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[18];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6C59E372F66FEFCF8A0CEFB4163EF666FC7A8DF7).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC92 RID: 44178 RVA: 0x002585A4 File Offset: 0x002567A4
|
||||
[Token(Token = "0x600AC92")]
|
||||
[Address(RVA = "0x18AEE10", Offset = "0x18ADC10", VA = "0x1818AEE10", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC92)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCredentials BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::GetCredentials()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5D:
|
||||
stloc:TlsFatalAlert(var_8_64, 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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC93 RID: 44179 RVA: 0x00258618 File Offset: 0x00256818
|
||||
[Token(Token = "0x600AC93")]
|
||||
[Address(RVA = "0x18AF060", Offset = "0x18ADE60", VA = "0x1818AF060", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC93)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:TlsFatalAlert(var_4_25, 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.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC94 RID: 44180 RVA: 0x0025864C File Offset: 0x0025684C
|
||||
[Token(Token = "0x600AC94")]
|
||||
[Address(RVA = "0x18AEAE0", Offset = "0x18AD8E0", VA = "0x1818AEAE0", Slot = "68")]
|
||||
protected virtual TlsKeyExchange CreateDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC94)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsSignerCredentials(var_0_06, callvirt:TlsSignerCredentials(DefaultTlsServer::GetRsaSignerCredentials, ldloc:DefaultTlsServer(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC95 RID: 44181 RVA: 0x00258660 File Offset: 0x00256860
|
||||
[Token(Token = "0x600AC95")]
|
||||
[Address(RVA = "0x18AEB80", Offset = "0x18AD980", VA = "0x1818AEB80", Slot = "69")]
|
||||
protected virtual TlsKeyExchange CreateDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC95)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsSignerCredentials(var_0_06, callvirt:TlsSignerCredentials(DefaultTlsServer::GetRsaSignerCredentials, ldloc:DefaultTlsServer(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC96 RID: 44182 RVA: 0x00258674 File Offset: 0x00256874
|
||||
[Token(Token = "0x600AC96")]
|
||||
[Address(RVA = "0x18AEC20", Offset = "0x18ADA20", VA = "0x1818AEC20", Slot = "70")]
|
||||
protected virtual TlsKeyExchange CreateECDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC96)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateECDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:TlsECDHKeyExchange(var_4_26, newobj:TlsECDHKeyExchange(TlsECDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC97 RID: 44183 RVA: 0x002586A8 File Offset: 0x002568A8
|
||||
[Token(Token = "0x600AC97")]
|
||||
[Address(RVA = "0x18AECC0", Offset = "0x18ADAC0", VA = "0x1818AECC0", Slot = "71")]
|
||||
protected virtual TlsKeyExchange CreateECDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC97)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateECDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:TlsECDheKeyExchange(var_4_26, newobj:TlsECDheKeyExchange(TlsECDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AC98 RID: 44184 RVA: 0x002586DC File Offset: 0x002568DC
|
||||
[Token(Token = "0x600AC98")]
|
||||
[Address(RVA = "0x18AED60", Offset = "0x18ADB60", VA = "0x1818AED60", Slot = "72")]
|
||||
protected virtual TlsKeyExchange CreateRsaKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC98)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateRsaKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsRsaKeyExchange(var_0_0B, newobj:TlsRsaKeyExchange(TlsRsaKeyExchange::.ctor, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this))))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B1B RID: 6939
|
||||
[Token(Token = "0x2001B1B")]
|
||||
public class DefaultTlsSignerCredentials : AbstractTlsSignerCredentials
|
||||
{
|
||||
// Token: 0x0600AC99 RID: 44185 RVA: 0x002586F4 File Offset: 0x002568F4
|
||||
[Token(Token = "0x600AC99")]
|
||||
[Address(RVA = "0x18AF4A0", Offset = "0x18AE2A0", VA = "0x1818AF4A0")]
|
||||
public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AC9A RID: 44186 RVA: 0x00258704 File Offset: 0x00256904
|
||||
[Token(Token = "0x600AC9A")]
|
||||
[Address(RVA = "0x18AF4C0", Offset = "0x18AE2C0", VA = "0x1818AF4C0")]
|
||||
public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey, SignatureAndHashAlgorithm signatureAndHashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AC9A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsSignerCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8E:
|
||||
stloc:string(var_7_94, call:string(Platform::GetTypeName, ldloc:AsymmetricKeyParameter[exp:object](privateKey)))
|
||||
stloc:ArgumentException(var_8_AC, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_7_94)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B5B RID: 7003
|
||||
// (get) Token: 0x0600AC9B RID: 44187 RVA: 0x002587C0 File Offset: 0x002569C0
|
||||
[Token(Token = "0x17001B5B")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600AC9B")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AC9C RID: 44188 RVA: 0x002587D4 File Offset: 0x002569D4
|
||||
[Token(Token = "0x600AC9C")]
|
||||
[Address(RVA = "0x18AF2B0", Offset = "0x18AE0B0", VA = "0x1818AF2B0", Slot = "8")]
|
||||
public override byte[] GenerateCertificateSignature(byte[] hash)
|
||||
{
|
||||
bool flag = TlsUtilities.IsTlsV12(this.mContext);
|
||||
TlsSigner tlsSigner = this.mSigner;
|
||||
if (!flag)
|
||||
{
|
||||
AsymmetricKeyParameter asymmetricKeyParameter = this.mPrivateKey;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
asymmetricKeyParameter += asymmetricKeyParameter;
|
||||
}
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = this.mSignatureAndHashAlgorithm;
|
||||
int num2 = 0;
|
||||
num2 += num2;
|
||||
num2++;
|
||||
signatureAndHashAlgorithm += signatureAndHashAlgorithm;
|
||||
num2 += 2;
|
||||
num2 += 19;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001B5C RID: 7004
|
||||
// (get) Token: 0x0600AC9D RID: 44189 RVA: 0x00258844 File Offset: 0x00256A44
|
||||
[Token(Token = "0x17001B5C")]
|
||||
public override SignatureAndHashAlgorithm SignatureAndHashAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600AC9D")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.mSignatureAndHashAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006E54 RID: 28244
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E54")]
|
||||
protected readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x04006E55 RID: 28245
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E55")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04006E56 RID: 28246
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E56")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
|
||||
// Token: 0x04006E57 RID: 28247
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E57")]
|
||||
protected readonly SignatureAndHashAlgorithm mSignatureAndHashAlgorithm;
|
||||
|
||||
// Token: 0x04006E58 RID: 28248
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E58")]
|
||||
protected readonly TlsSigner mSigner;
|
||||
}
|
||||
}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
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: 0x02001B1C RID: 6940
|
||||
[Token(Token = "0x2001B1C")]
|
||||
public class DefaultTlsSrpGroupVerifier : TlsSrpGroupVerifier
|
||||
{
|
||||
// Token: 0x0600AC9E RID: 44190 RVA: 0x00258858 File Offset: 0x00256A58
|
||||
[Token(Token = "0x600AC9E")]
|
||||
[Address(RVA = "0x18AFA30", Offset = "0x18AE830", VA = "0x1818AFA30")]
|
||||
static DefaultTlsSrpGroupVerifier()
|
||||
{
|
||||
IList defaultGroups = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups2 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups3 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups4 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups5 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups6 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups7 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AC9F RID: 44191 RVA: 0x002588A4 File Offset: 0x00256AA4
|
||||
[Token(Token = "0x600AC9F")]
|
||||
[Address(RVA = "0x18AFC60", Offset = "0x18AEA60", VA = "0x1818AFC60")]
|
||||
public DefaultTlsSrpGroupVerifier()
|
||||
{
|
||||
IList defaultGroups = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA0 RID: 44192 RVA: 0x002588C4 File Offset: 0x00256AC4
|
||||
[Token(Token = "0x600ACA0")]
|
||||
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
||||
public DefaultTlsSrpGroupVerifier(IList groups)
|
||||
{
|
||||
this.mGroups = groups;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA1 RID: 44193 RVA: 0x002588E0 File Offset: 0x00256AE0
|
||||
[Token(Token = "0x600ACA1")]
|
||||
[Address(RVA = "0x18AF7E0", Offset = "0x18AE5E0", VA = "0x1818AF7E0", Slot = "5")]
|
||||
public virtual bool Accept(Srp6GroupParameters group)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IList list = this.mGroups;
|
||||
bool flag = this.Accept(group);
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA2 RID: 44194 RVA: 0x0025891C File Offset: 0x00256B1C
|
||||
[Token(Token = "0x600ACA2")]
|
||||
[Address(RVA = "0x18AF990", Offset = "0x18AE790", VA = "0x1818AF990", Slot = "6")]
|
||||
protected virtual bool AreGroupsEqual(Srp6GroupParameters a, Srp6GroupParameters b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA3 RID: 44195 RVA: 0x0025893C File Offset: 0x00256B3C
|
||||
[Token(Token = "0x600ACA3")]
|
||||
[Address(RVA = "0x18AE2C0", Offset = "0x18AD0C0", VA = "0x1818AE2C0", Slot = "7")]
|
||||
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E59 RID: 28249
|
||||
[Token(Token = "0x4006E59")]
|
||||
protected static readonly IList DefaultGroups = Platform.CreateArrayList();
|
||||
|
||||
// Token: 0x04006E5A RID: 28250
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E5A")]
|
||||
protected readonly IList mGroups;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,453 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B1D RID: 6941
|
||||
[Token(Token = "0x2001B1D")]
|
||||
internal class DeferredHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x0600ACA4 RID: 44196 RVA: 0x00258954 File Offset: 0x00256B54
|
||||
[Token(Token = "0x600ACA4")]
|
||||
[Address(RVA = "0x18B1180", Offset = "0x18AFF80", VA = "0x1818B1180")]
|
||||
internal DeferredHash()
|
||||
{
|
||||
DigestInputBuffer digestInputBuffer = new DigestInputBuffer();
|
||||
this.mBuf = digestInputBuffer;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)((ulong)4294967295L);
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA5 RID: 44197 RVA: 0x00258994 File Offset: 0x00256B94
|
||||
[Token(Token = "0x600ACA5")]
|
||||
[Address(RVA = "0x18B10B0", Offset = "0x18AFEB0", VA = "0x1818B10B0")]
|
||||
private DeferredHash(byte prfHashAlgorithm, IDigest prfHash)
|
||||
{
|
||||
this.mBuf = (ulong)0L;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)prfHashAlgorithm;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA6 RID: 44198 RVA: 0x002589CC File Offset: 0x00256BCC
|
||||
[Token(Token = "0x600ACA6")]
|
||||
[Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA7 RID: 44199 RVA: 0x002589E0 File Offset: 0x00256BE0
|
||||
[Token(Token = "0x600ACA7")]
|
||||
[Address(RVA = "0x18B0780", Offset = "0x18AF580", VA = "0x1818B0780", Slot = "19")]
|
||||
public virtual TlsHandshakeHash NotifyPrfDetermined()
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
byte b;
|
||||
this.mPrfHashAlgorithm = (int)b;
|
||||
this.CheckStopBuffering();
|
||||
CombinedHash combinedHash;
|
||||
combinedHash.SealHashAlgorithms();
|
||||
IDigest digest;
|
||||
combinedHash.mMd5 = digest;
|
||||
IDigest digest2;
|
||||
combinedHash.mSha1 = digest2;
|
||||
combinedHash.Reset();
|
||||
this.mBuf.UpdateDigest(combinedHash);
|
||||
string algorithmName = ((IDigest)combinedHash).AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA8 RID: 44200 RVA: 0x00258A38 File Offset: 0x00256C38
|
||||
[Token(Token = "0x600ACA8")]
|
||||
[Address(RVA = "0x18B0D80", Offset = "0x18AFB80", VA = "0x1818B0D80", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACA8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::TrackHashAlgorithm(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_13:
|
||||
stloc:InvalidOperationException(var_1_1D, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Too late to track more hash algorithms")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACA9 RID: 44201 RVA: 0x00258A64 File Offset: 0x00256C64
|
||||
[Token(Token = "0x600ACA9")]
|
||||
[Address(RVA = "0x18B0BA0", Offset = "0x18AF9A0", VA = "0x1818B0BA0", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
string algorithmName = ((IDigest)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAA RID: 44202 RVA: 0x00258A78 File Offset: 0x00256C78
|
||||
[Token(Token = "0x600ACAA")]
|
||||
[Address(RVA = "0x18B0BC0", Offset = "0x18AF9C0", VA = "0x1818B0BC0", Slot = "22")]
|
||||
public virtual TlsHandshakeHash StopTracking()
|
||||
{
|
||||
int num = this.mPrfHashAlgorithm;
|
||||
if (this.mHashes == 0)
|
||||
{
|
||||
}
|
||||
DigestInputBuffer digestInputBuffer = this.mBuf;
|
||||
if (digestInputBuffer != 0)
|
||||
{
|
||||
IDigest digest;
|
||||
digestInputBuffer.UpdateDigest(digest);
|
||||
}
|
||||
DeferredHash deferredHash = new DeferredHash();
|
||||
deferredHash.mBuf = (ulong)0L;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
deferredHash.mHashes = dictionary;
|
||||
deferredHash.mPrfHashAlgorithm = num;
|
||||
deferredHash.Reset();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAB RID: 44203 RVA: 0x00258ADC File Offset: 0x00256CDC
|
||||
[Token(Token = "0x600ACAB")]
|
||||
[Address(RVA = "0x18B03E0", Offset = "0x18AF1E0", VA = "0x1818B03E0", Slot = "23")]
|
||||
public virtual IDigest ForkPrfHash()
|
||||
{
|
||||
this.Reset();
|
||||
int num = this.mPrfHashAlgorithm;
|
||||
if (this.mBuf == (ulong)0L)
|
||||
{
|
||||
IDictionary dictionary = this.mHashes;
|
||||
IDigest digest;
|
||||
return digest;
|
||||
}
|
||||
IDigest digest2 = TlsUtilities.CreateHash((byte)num);
|
||||
this.mBuf.UpdateDigest(digest2);
|
||||
return digest2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAC RID: 44204 RVA: 0x00258B24 File Offset: 0x00256D24
|
||||
[Token(Token = "0x600ACAC")]
|
||||
[Address(RVA = "0x18B0600", Offset = "0x18AF400", VA = "0x1818B0600", Slot = "24")]
|
||||
public virtual byte[] GetFinalHash(byte hashAlgorithm)
|
||||
{
|
||||
IDictionary dictionary = this.mHashes;
|
||||
DigestInputBuffer digestInputBuffer = this.mBuf;
|
||||
IDigest digest;
|
||||
if (digestInputBuffer != 0)
|
||||
{
|
||||
digestInputBuffer.UpdateDigest(digest);
|
||||
}
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x17001B5D RID: 7005
|
||||
// (get) Token: 0x0600ACAD RID: 44205 RVA: 0x00258B74 File Offset: 0x00256D74
|
||||
[Token(Token = "0x17001B5D")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600ACAD")]
|
||||
[Address(RVA = "0x18B1210", Offset = "0x18B0010", VA = "0x1818B1210", Slot = "25")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACAD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::get_AlgorithmName()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAE RID: 44206 RVA: 0x00258B8C File Offset: 0x00256D8C
|
||||
[Token(Token = "0x600ACAE")]
|
||||
[Address(RVA = "0x18B0540", Offset = "0x18AF340", VA = "0x1818B0540", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACAE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetByteLength()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACAF RID: 44207 RVA: 0x00258BA4 File Offset: 0x00256DA4
|
||||
[Token(Token = "0x600ACAF")]
|
||||
[Address(RVA = "0x18B05A0", Offset = "0x18AF3A0", VA = "0x1818B05A0", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACAF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetDigestSize()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB0 RID: 44208 RVA: 0x00258BBC File Offset: 0x00256DBC
|
||||
[Token(Token = "0x600ACB0")]
|
||||
[Address(RVA = "0x18B0E10", Offset = "0x18AFC10", VA = "0x1818B0E10", Slot = "28")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 3;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB1 RID: 44209 RVA: 0x00258C20 File Offset: 0x00256E20
|
||||
[Token(Token = "0x600ACB1")]
|
||||
[Address(RVA = "0x18AFCE0", Offset = "0x18AEAE0", VA = "0x1818AFCE0", Slot = "29")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
int num;
|
||||
DigestInputBuffer digestInputBuffer;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
digestInputBuffer = this.mBuf;
|
||||
if (digestInputBuffer != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 4;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
int num3 = digestInputBuffer.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB2 RID: 44210 RVA: 0x00258C84 File Offset: 0x00256E84
|
||||
[Token(Token = "0x600ACB2")]
|
||||
[Address(RVA = "0x18B0380", Offset = "0x18AF180", VA = "0x1818B0380", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACB2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::DoFinal(System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB3 RID: 44211 RVA: 0x00258C9C File Offset: 0x00256E9C
|
||||
[Token(Token = "0x600ACB3")]
|
||||
[Address(RVA = "0x18B0900", Offset = "0x18AF700", VA = "0x1818B0900", Slot = "31")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 6;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB4 RID: 44212 RVA: 0x00258D00 File Offset: 0x00256F00
|
||||
[Token(Token = "0x600ACB4")]
|
||||
[Address(RVA = "0x18AFFA0", Offset = "0x18AEDA0", VA = "0x1818AFFA0", Slot = "32")]
|
||||
protected virtual void CheckStopBuffering()
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf == num)
|
||||
{
|
||||
return;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
IDictionary dictionary2 = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
DigestInputBuffer digestInputBuffer = this.mBuf;
|
||||
DigestInputBuffer.DigStream digStream;
|
||||
digStream.d = 0;
|
||||
Streams.WriteBufTo(digestInputBuffer, digStream);
|
||||
num2 = 0;
|
||||
if (digStream != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
this.mBuf = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB5 RID: 44213 RVA: 0x00258D6C File Offset: 0x00256F6C
|
||||
[Token(Token = "0x600ACB5")]
|
||||
[Address(RVA = "0x18B0220", Offset = "0x18AF020", VA = "0x1818B0220", Slot = "33")]
|
||||
protected virtual void CheckTrackingHash(byte hashAlgorithm)
|
||||
{
|
||||
IDictionary dictionary = this.mHashes;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
IDigest digest = TlsUtilities.CreateHash(hashAlgorithm);
|
||||
IDictionary dictionary2 = this.mHashes;
|
||||
}
|
||||
|
||||
// Token: 0x04006E5B RID: 28251
|
||||
[Token(Token = "0x4006E5B")]
|
||||
protected const int BUFFERING_HASH_LIMIT = 4;
|
||||
|
||||
// Token: 0x04006E5C RID: 28252
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E5C")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x04006E5D RID: 28253
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E5D")]
|
||||
private DigestInputBuffer mBuf;
|
||||
|
||||
// Token: 0x04006E5E RID: 28254
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E5E")]
|
||||
private IDictionary mHashes;
|
||||
|
||||
// Token: 0x04006E5F RID: 28255
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E5F")]
|
||||
private int mPrfHashAlgorithm;
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B1E RID: 6942
|
||||
[Token(Token = "0x2001B1E")]
|
||||
internal class DigestInputBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600ACB6 RID: 44214 RVA: 0x00258DA0 File Offset: 0x00256FA0
|
||||
[Token(Token = "0x600ACB6")]
|
||||
[Address(RVA = "0x18B1380", Offset = "0x18B0180", VA = "0x1818B1380")]
|
||||
internal void UpdateDigest(IDigest d)
|
||||
{
|
||||
DigestInputBuffer.DigStream digStream;
|
||||
digStream.d = d;
|
||||
Streams.WriteBufTo(this, digStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB7 RID: 44215 RVA: 0x00258DBC File Offset: 0x00256FBC
|
||||
[Token(Token = "0x600ACB7")]
|
||||
[Address(RVA = "0x18911A0", Offset = "0x188FFA0", VA = "0x1818911A0")]
|
||||
public DigestInputBuffer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x02001B1F RID: 6943
|
||||
[Token(Token = "0x2001B1F")]
|
||||
private class DigStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600ACB8 RID: 44216 RVA: 0x00258DD0 File Offset: 0x00256FD0
|
||||
[Token(Token = "0x600ACB8")]
|
||||
[Address(RVA = "0x18B1350", Offset = "0x18B0150", VA = "0x1818B1350")]
|
||||
internal DigStream(IDigest d)
|
||||
{
|
||||
this.d = d;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACB9 RID: 44217 RVA: 0x00258DEC File Offset: 0x00256FEC
|
||||
[Token(Token = "0x600ACB9")]
|
||||
[Address(RVA = "0x18B1270", Offset = "0x18B0070", VA = "0x1818B1270", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
IDigest digest = this.d;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACBA RID: 44218 RVA: 0x00258E08 File Offset: 0x00257008
|
||||
[Token(Token = "0x600ACBA")]
|
||||
[Address(RVA = "0x18B12D0", Offset = "0x18B00D0", VA = "0x1818B12D0", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
IDigest digest = this.d;
|
||||
}
|
||||
|
||||
// Token: 0x04006E60 RID: 28256
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E60")]
|
||||
private readonly IDigest d;
|
||||
}
|
||||
}
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B20 RID: 6944
|
||||
[Token(Token = "0x2001B20")]
|
||||
public class DigitallySigned
|
||||
{
|
||||
// Token: 0x0600ACBB RID: 44219 RVA: 0x00258E24 File Offset: 0x00257024
|
||||
[Token(Token = "0x600ACBB")]
|
||||
[Address(RVA = "0x18B1550", Offset = "0x18B0350", VA = "0x1818B1550")]
|
||||
public DigitallySigned(SignatureAndHashAlgorithm algorithm, byte[] signature)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACBB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DigitallySigned::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_19:
|
||||
stloc:ArgumentNullException(var_0_23, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B5E RID: 7006
|
||||
// (get) Token: 0x0600ACBC RID: 44220 RVA: 0x00258E54 File Offset: 0x00257054
|
||||
[Token(Token = "0x17001B5E")]
|
||||
public virtual SignatureAndHashAlgorithm Algorithm
|
||||
{
|
||||
[Token(Token = "0x600ACBC")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B5F RID: 7007
|
||||
// (get) Token: 0x0600ACBD RID: 44221 RVA: 0x00258E68 File Offset: 0x00257068
|
||||
[Token(Token = "0x17001B5F")]
|
||||
public virtual byte[] Signature
|
||||
{
|
||||
[Token(Token = "0x600ACBD")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSignature;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACBE RID: 44222 RVA: 0x00258E7C File Offset: 0x0025707C
|
||||
[Token(Token = "0x600ACBE")]
|
||||
[Address(RVA = "0x18B13F0", Offset = "0x18B01F0", VA = "0x1818B13F0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = this.mAlgorithm;
|
||||
if (signatureAndHashAlgorithm != 0)
|
||||
{
|
||||
byte signature = signatureAndHashAlgorithm.Signature;
|
||||
}
|
||||
TlsUtilities.WriteOpaque16(this.mSignature, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600ACBF RID: 44223 RVA: 0x00258EA8 File Offset: 0x002570A8
|
||||
[Token(Token = "0x600ACBF")]
|
||||
[Address(RVA = "0x18B1480", Offset = "0x18B0280", VA = "0x1818B1480")]
|
||||
public static DigitallySigned Parse(TlsContext context, Stream input)
|
||||
{
|
||||
int num = 0;
|
||||
if (TlsUtilities.IsTlsV12(context))
|
||||
{
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = SignatureAndHashAlgorithm.Parse(input);
|
||||
}
|
||||
byte[] array = TlsUtilities.ReadOpaque16(input);
|
||||
return new DigitallySigned(num, array);
|
||||
}
|
||||
|
||||
// Token: 0x04006E61 RID: 28257
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E61")]
|
||||
protected readonly SignatureAndHashAlgorithm mAlgorithm;
|
||||
|
||||
// Token: 0x04006E62 RID: 28258
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E62")]
|
||||
protected readonly byte[] mSignature;
|
||||
}
|
||||
}
|
||||
+564
@@ -0,0 +1,564 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B21 RID: 6945
|
||||
[Token(Token = "0x2001B21")]
|
||||
public class DtlsClientProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600ACC0 RID: 44224 RVA: 0x00258ED8 File Offset: 0x002570D8
|
||||
[Token(Token = "0x600ACC0")]
|
||||
[Address(RVA = "0x18B4510", Offset = "0x18B3310", VA = "0x1818B4510")]
|
||||
public DtlsClientProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC1 RID: 44225 RVA: 0x00258EEC File Offset: 0x002570EC
|
||||
[Token(Token = "0x600ACC1")]
|
||||
[Address(RVA = "0x18B2580", Offset = "0x18B1380", VA = "0x1818B2580", Slot = "5")]
|
||||
public virtual DtlsTransport Connect(TlsClient client, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACC1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::Connect(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsClient,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_BE:
|
||||
stloc:ArgumentNullException(var_18_C8, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC2 RID: 44226 RVA: 0x00258FC4 File Offset: 0x002571C4
|
||||
[Token(Token = "0x600ACC2")]
|
||||
[Address(RVA = "0x18B15E0", Offset = "0x18B03E0", VA = "0x1818B15E0", Slot = "6")]
|
||||
internal virtual void AbortClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC3 RID: 44227 RVA: 0x00258FE0 File Offset: 0x002571E0
|
||||
[Token(Token = "0x600ACC3")]
|
||||
[Address(RVA = "0x18B1640", Offset = "0x18B0440", VA = "0x1818B1640", Slot = "7")]
|
||||
internal virtual DtlsTransport ClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACC3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::ClientHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_46A:
|
||||
stloc:TlsFatalAlert(var_110_471, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_111)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC4 RID: 44228 RVA: 0x00259460 File Offset: 0x00257660
|
||||
[Token(Token = "0x600ACC4")]
|
||||
[Address(RVA = "0x18B29A0", Offset = "0x18B17A0", VA = "0x1818B29A0", Slot = "8")]
|
||||
protected virtual byte[] GenerateCertificateVerify(DtlsClientProtocol.ClientHandshakeState state, DigitallySigned certificateVerify)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
byte[] signature = certificateVerify.Signature;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC5 RID: 44229 RVA: 0x00259488 File Offset: 0x00257688
|
||||
[Token(Token = "0x600ACC5")]
|
||||
[Address(RVA = "0x18B2A30", Offset = "0x18B1830", VA = "0x1818B2A30", Slot = "9")]
|
||||
protected virtual byte[] GenerateClientHello(DtlsClientProtocol.ClientHandshakeState state, TlsClient client)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACC5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::GenerateClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsClient)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_163:
|
||||
stloc:TlsFatalAlert(var_26_16A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_27)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC6 RID: 44230 RVA: 0x00259600 File Offset: 0x00257800
|
||||
[Token(Token = "0x600ACC6")]
|
||||
[Address(RVA = "0x18B2F90", Offset = "0x18B1D90", VA = "0x1818B2F90", Slot = "10")]
|
||||
protected virtual byte[] GenerateClientKeyExchange(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC7 RID: 44231 RVA: 0x00259628 File Offset: 0x00257828
|
||||
[Token(Token = "0x600ACC7")]
|
||||
[Address(RVA = "0x18B3020", Offset = "0x18B1E20", VA = "0x1818B3020", Slot = "11")]
|
||||
protected virtual void InvalidateSession(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (sessionParameters != 0)
|
||||
{
|
||||
sessionParameters.Clear();
|
||||
state.sessionParameters = (ulong)0L;
|
||||
}
|
||||
if (state.tlsSession != 0)
|
||||
{
|
||||
state.tlsSession = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC8 RID: 44232 RVA: 0x00259668 File Offset: 0x00257868
|
||||
[Token(Token = "0x600ACC8")]
|
||||
[Address(RVA = "0x18B31D0", Offset = "0x18B1FD0", VA = "0x1818B31D0", Slot = "12")]
|
||||
protected virtual void ProcessCertificateRequest(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
while (state.authentication == (ulong)0L)
|
||||
{
|
||||
}
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
CertificateRequest certificateRequest = CertificateRequest.Parse(state.clientContext, memoryStream);
|
||||
state.certificateRequest = certificateRequest;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACC9 RID: 44233 RVA: 0x002596B0 File Offset: 0x002578B0
|
||||
[Token(Token = "0x600ACC9")]
|
||||
[Address(RVA = "0x18B32B0", Offset = "0x18B20B0", VA = "0x1818B32B0", Slot = "13")]
|
||||
protected virtual void ProcessCertificateStatus(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACC9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::ProcessCertificateStatus(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_57:
|
||||
stloc:ArgumentException(var_7_66, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACCA RID: 44234 RVA: 0x00259724 File Offset: 0x00257924
|
||||
[Token(Token = "0x600ACCA")]
|
||||
[Address(RVA = "0x18B34B0", Offset = "0x18B22B0", VA = "0x1818B34B0", Slot = "14")]
|
||||
protected virtual byte[] ProcessHelloVerifyRequest(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
byte[] array;
|
||||
int version;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
ProtocolVersion protocolVersion = TlsUtilities.ReadVersion(memoryStream);
|
||||
array = TlsUtilities.ReadOpaque8(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
bool isServer = state.clientContext.IsServer;
|
||||
version = protocolVersion.version;
|
||||
if (version == 254)
|
||||
{
|
||||
}
|
||||
ProtocolVersion dtlsv = ProtocolVersion.DTLSv12;
|
||||
num2 = protocolVersion.version;
|
||||
if (version != num2)
|
||||
{
|
||||
return array;
|
||||
}
|
||||
num2 -= num2;
|
||||
}
|
||||
while (version != 254);
|
||||
if (num2 > 0)
|
||||
{
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACCB RID: 44235 RVA: 0x002597B0 File Offset: 0x002579B0
|
||||
[Token(Token = "0x600ACCB")]
|
||||
[Address(RVA = "0x18B36C0", Offset = "0x18B24C0", VA = "0x1818B36C0", Slot = "15")]
|
||||
protected virtual void ProcessNewSessionTicket(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
long num2 = TlsUtilities.ReadUint32(memoryStream);
|
||||
byte[] array = TlsUtilities.ReadOpaque16(memoryStream);
|
||||
NewSessionTicket newSessionTicket;
|
||||
newSessionTicket.mTicketLifetimeHint = num2;
|
||||
newSessionTicket.mTicket = array;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsClient client = state.client;
|
||||
int num3 = 0;
|
||||
if (num3 < num)
|
||||
{
|
||||
num3 += num3;
|
||||
num3++;
|
||||
}
|
||||
List<string> hostNames = client.HostNames;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACCC RID: 44236 RVA: 0x00259820 File Offset: 0x00257A20
|
||||
[Token(Token = "0x600ACCC")]
|
||||
[Address(RVA = "0x18B3840", Offset = "0x18B2640", VA = "0x1818B3840", Slot = "16")]
|
||||
protected virtual Certificate ProcessServerCertificate(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
Certificate certificate = Certificate.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsClient client = state.client;
|
||||
state.authentication = certificate;
|
||||
return certificate;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACCD RID: 44237 RVA: 0x00259864 File Offset: 0x00257A64
|
||||
[Token(Token = "0x600ACCD")]
|
||||
[Address(RVA = "0x18B3940", Offset = "0x18B2740", VA = "0x1818B3940", Slot = "17")]
|
||||
protected virtual void ProcessServerHello(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
SecureRandom secureRandom;
|
||||
int num6;
|
||||
IDictionary dictionary2;
|
||||
for (;;)
|
||||
{
|
||||
secureRandom = state.clientContext.SecureRandom;
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
ProtocolVersion protocolVersion = TlsUtilities.ReadVersion(memoryStream);
|
||||
byte[] array = TlsUtilities.ReadFully(32, memoryStream);
|
||||
byte[] array2 = TlsUtilities.ReadOpaque8(memoryStream);
|
||||
state.selectedSessionID = array2;
|
||||
TlsClient client = state.client;
|
||||
byte[] selectedSessionID = state.selectedSessionID;
|
||||
if (selectedSessionID.Length != 0 && state.tlsSession != 0)
|
||||
{
|
||||
bool flag = Arrays.AreEqual(selectedSessionID, array2);
|
||||
}
|
||||
int num2 = 0;
|
||||
state.resumedSession = num2 != 0;
|
||||
int num3 = TlsUtilities.ReadUint16(memoryStream);
|
||||
if (Arrays.Contains(state.offeredCipherSuites, num3) && num3 != 0 && num3 != 255 && num3 != 22016)
|
||||
{
|
||||
TlsClientContextImpl clientContext = state.clientContext;
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
TlsClient client2 = state.client;
|
||||
byte b = TlsUtilities.ReadUint8(memoryStream);
|
||||
TlsClient client3 = state.client;
|
||||
IDictionary dictionary = TlsProtocol.ReadExtensions(memoryStream);
|
||||
state.serverExtensions = dictionary;
|
||||
bool flag3 = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(dictionary);
|
||||
long num4 = secureRandom.NextLong();
|
||||
if ((state.resumedSession ? 1L : 0L) != num4)
|
||||
{
|
||||
goto IL_237;
|
||||
}
|
||||
TlsClient client4 = state.client;
|
||||
if (state.serverExtensions != 0)
|
||||
{
|
||||
long num5 = num4;
|
||||
byte[] extensionData = TlsUtilities.GetExtensionData(state.clientExtensions, (int)num5);
|
||||
if (extensionData == 0)
|
||||
{
|
||||
goto IL_231;
|
||||
}
|
||||
if (extensionData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] extensionData2 = TlsUtilities.GetExtensionData(state.serverExtensions, 65281);
|
||||
if (extensionData2 != 0)
|
||||
{
|
||||
state.secure_renegotiation = true;
|
||||
byte[] array3 = TlsProtocol.CreateRenegotiationInfo(TlsUtilities.EmptyBytes);
|
||||
if (!Arrays.ConstantTimeAreEqual(extensionData2, array3))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
TlsClient client5 = state.client;
|
||||
if (state.resumedSession)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (num3 != sessionParameters.mCipherSuite || b != sessionParameters.mCompressionAlgorithm)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
num6 = 0;
|
||||
dictionary2 = sessionParameters.ReadServerExtensions();
|
||||
}
|
||||
secureRandom.inextp = num3;
|
||||
secureRandom.SeedArray = b;
|
||||
if (dictionary2 == 0 || dictionary2 <= 0)
|
||||
{
|
||||
goto IL_204;
|
||||
}
|
||||
if (!TlsExtensionsUtilities.HasEncryptThenMacExtension(dictionary2))
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num7;
|
||||
num3 = num7;
|
||||
if (TlsUtilities.IsBlockCipherSuite(num3))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bool resumedSession = state.resumedSession;
|
||||
bool flag4 = TlsExtensionsUtilities.HasTruncatedHMacExtension(dictionary2);
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
IL_204:
|
||||
if (num6 != 0)
|
||||
{
|
||||
TlsClient client6 = state.client;
|
||||
}
|
||||
int num8;
|
||||
int prfAlgorithm = TlsProtocol.GetPrfAlgorithm(state.clientContext, num8);
|
||||
secureRandom.generator = (ulong)12L;
|
||||
return;
|
||||
IL_231:
|
||||
throw new NullReferenceException();
|
||||
IL_237:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACCE RID: 44238 RVA: 0x00259ABC File Offset: 0x00257CBC
|
||||
[Token(Token = "0x600ACCE")]
|
||||
[Address(RVA = "0x18B42F0", Offset = "0x18B30F0", VA = "0x1818B42F0", Slot = "18")]
|
||||
protected virtual void ProcessServerKeyExchange(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600ACCF RID: 44239 RVA: 0x00259AE8 File Offset: 0x00257CE8
|
||||
[Token(Token = "0x600ACCF")]
|
||||
[Address(RVA = "0x18B4390", Offset = "0x18B3190", VA = "0x1818B4390", Slot = "19")]
|
||||
protected virtual void ProcessServerSupplementalData(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream);
|
||||
TlsClient client = state.client;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACD0 RID: 44240 RVA: 0x00259B14 File Offset: 0x00257D14
|
||||
[Token(Token = "0x600ACD0")]
|
||||
[Address(RVA = "0x18B4430", Offset = "0x18B3230", VA = "0x1818B4430", Slot = "20")]
|
||||
protected virtual void ReportServerVersion(DtlsClientProtocol.ClientHandshakeState state, ProtocolVersion server_version)
|
||||
{
|
||||
TlsClientContextImpl clientContext;
|
||||
do
|
||||
{
|
||||
clientContext = state.clientContext;
|
||||
}
|
||||
while (server_version == 0);
|
||||
int version = server_version.version;
|
||||
ProtocolVersion serverVersion = clientContext.ServerVersion;
|
||||
TlsClient client = state.client;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACD1 RID: 44241 RVA: 0x00259B48 File Offset: 0x00257D48
|
||||
[Token(Token = "0x600ACD1")]
|
||||
[Address(RVA = "0x18B3090", Offset = "0x18B1E90", VA = "0x1818B3090")]
|
||||
protected static byte[] PatchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie)
|
||||
{
|
||||
byte b = TlsUtilities.ReadUint8(clientHelloBody, 34);
|
||||
byte b2 = b + 1;
|
||||
byte[] array = new byte[cookie.Length];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(clientHelloBody, num2, array, num, (int)b);
|
||||
TlsUtilities.CheckUint8(cookie.Length);
|
||||
TlsUtilities.WriteUint8((byte)cookie.Length, array, (int)b);
|
||||
int length = cookie.Length;
|
||||
int num3 = 0;
|
||||
Array.Copy(cookie, num3, array, (int)b2, length);
|
||||
int num4 = clientHelloBody.Length;
|
||||
int num5 = cookie.Length;
|
||||
num4 -= (int)b2;
|
||||
num5 += (int)b2;
|
||||
Array.Copy(clientHelloBody, (int)b2, array, num5, num4);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x02001B22 RID: 6946
|
||||
[Token(Token = "0x2001B22")]
|
||||
protected internal class ClientHandshakeState
|
||||
{
|
||||
// Token: 0x0600ACD2 RID: 44242 RVA: 0x00259BDC File Offset: 0x00257DDC
|
||||
[Token(Token = "0x600ACD2")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public ClientHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E63 RID: 28259
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E63")]
|
||||
internal TlsClient client;
|
||||
|
||||
// Token: 0x04006E64 RID: 28260
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E64")]
|
||||
internal TlsClientContextImpl clientContext;
|
||||
|
||||
// Token: 0x04006E65 RID: 28261
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E65")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x04006E66 RID: 28262
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E66")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04006E67 RID: 28263
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E67")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04006E68 RID: 28264
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006E68")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x04006E69 RID: 28265
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006E69")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x04006E6A RID: 28266
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006E6A")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x04006E6B RID: 28267
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006E6B")]
|
||||
internal byte[] selectedSessionID;
|
||||
|
||||
// Token: 0x04006E6C RID: 28268
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006E6C")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x04006E6D RID: 28269
|
||||
[FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x4006E6D")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x04006E6E RID: 28270
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x4006E6E")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x04006E6F RID: 28271
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4006E6F")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x04006E70 RID: 28272
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006E70")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x04006E71 RID: 28273
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006E71")]
|
||||
internal TlsAuthentication authentication;
|
||||
|
||||
// Token: 0x04006E72 RID: 28274
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006E72")]
|
||||
internal CertificateStatus certificateStatus;
|
||||
|
||||
// Token: 0x04006E73 RID: 28275
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006E73")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x04006E74 RID: 28276
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006E74")]
|
||||
internal TlsCredentials clientCredentials;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B23 RID: 6947
|
||||
[Token(Token = "0x2001B23")]
|
||||
internal class DtlsEpoch
|
||||
{
|
||||
// Token: 0x0600ACD3 RID: 44243 RVA: 0x00259BF0 File Offset: 0x00257DF0
|
||||
[Token(Token = "0x600ACD3")]
|
||||
[Address(RVA = "0x18B4530", Offset = "0x18B3330", VA = "0x1818B4530")]
|
||||
internal DtlsEpoch(int epoch, TlsCipher cipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACD3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsEpoch::.ctor(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3F:
|
||||
stloc:ArgumentNullException(var_2_49, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("cipher")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACD4 RID: 44244 RVA: 0x00259C48 File Offset: 0x00257E48
|
||||
[Token(Token = "0x600ACD4")]
|
||||
[Address(RVA = "0x18B4520", Offset = "0x18B3320", VA = "0x1818B4520")]
|
||||
internal long AllocateSequenceNumber()
|
||||
{
|
||||
long num = this.mSequenceNumber;
|
||||
long num2 = num + 1L;
|
||||
this.mSequenceNumber = num2;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x17001B60 RID: 7008
|
||||
// (get) Token: 0x0600ACD5 RID: 44245 RVA: 0x00259C68 File Offset: 0x00257E68
|
||||
[Token(Token = "0x17001B60")]
|
||||
internal TlsCipher Cipher
|
||||
{
|
||||
[Token(Token = "0x600ACD5")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
|
||||
get
|
||||
{
|
||||
return this.mCipher;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B61 RID: 7009
|
||||
// (get) Token: 0x0600ACD6 RID: 44246 RVA: 0x00259C7C File Offset: 0x00257E7C
|
||||
[Token(Token = "0x17001B61")]
|
||||
internal int Epoch
|
||||
{
|
||||
[Token(Token = "0x600ACD6")]
|
||||
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
|
||||
get
|
||||
{
|
||||
return this.mEpoch;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B62 RID: 7010
|
||||
// (get) Token: 0x0600ACD7 RID: 44247 RVA: 0x00259C90 File Offset: 0x00257E90
|
||||
[Token(Token = "0x17001B62")]
|
||||
internal DtlsReplayWindow ReplayWindow
|
||||
{
|
||||
[Token(Token = "0x600ACD7")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")]
|
||||
get
|
||||
{
|
||||
return this.mReplayWindow;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B63 RID: 7011
|
||||
// (get) Token: 0x0600ACD8 RID: 44248 RVA: 0x00259CA4 File Offset: 0x00257EA4
|
||||
[Token(Token = "0x17001B63")]
|
||||
internal long SequenceNumber
|
||||
{
|
||||
[Token(Token = "0x600ACD8")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
|
||||
get
|
||||
{
|
||||
return this.mSequenceNumber;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006E75 RID: 28277
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E75")]
|
||||
private readonly DtlsReplayWindow mReplayWindow;
|
||||
|
||||
// Token: 0x04006E76 RID: 28278
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E76")]
|
||||
private readonly int mEpoch;
|
||||
|
||||
// Token: 0x04006E77 RID: 28279
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E77")]
|
||||
private readonly TlsCipher mCipher;
|
||||
|
||||
// Token: 0x04006E78 RID: 28280
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E78")]
|
||||
private long mSequenceNumber;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B24 RID: 6948
|
||||
[Token(Token = "0x2001B24")]
|
||||
internal interface DtlsHandshakeRetransmit
|
||||
{
|
||||
// Token: 0x0600ACD9 RID: 44249
|
||||
[Token(Token = "0x600ACD9")]
|
||||
[Address(Slot = "0")]
|
||||
void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B25 RID: 6949
|
||||
[Token(Token = "0x2001B25")]
|
||||
public abstract class DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600ACDA RID: 44250 RVA: 0x00259CB8 File Offset: 0x00257EB8
|
||||
[Token(Token = "0x600ACDA")]
|
||||
[Address(RVA = "0x18B4A40", Offset = "0x18B3840", VA = "0x1818B4A40")]
|
||||
protected DtlsProtocol(SecureRandom secureRandom)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACDA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("secureRandom")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACDB RID: 44251 RVA: 0x00259CE4 File Offset: 0x00257EE4
|
||||
[Token(Token = "0x600ACDB")]
|
||||
[Address(RVA = "0x18B4890", Offset = "0x18B3690", VA = "0x1818B4890", Slot = "4")]
|
||||
protected virtual void ProcessFinished(byte[] body, byte[] expected_verify_data)
|
||||
{
|
||||
byte[] array;
|
||||
do
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
array = TlsUtilities.ReadFully(expected_verify_data.Length, memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
while (!Arrays.ConstantTimeAreEqual(expected_verify_data, array));
|
||||
}
|
||||
|
||||
// Token: 0x0600ACDC RID: 44252 RVA: 0x00259D18 File Offset: 0x00257F18
|
||||
[Token(Token = "0x600ACDC")]
|
||||
[Address(RVA = "0x18B4630", Offset = "0x18B3430", VA = "0x1818B4630")]
|
||||
internal static void ApplyMaxFragmentLengthExtension(DtlsRecordLayer recordLayer, short maxFragmentLength)
|
||||
{
|
||||
short num = maxFragmentLength - 1;
|
||||
recordLayer.Close();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACDD RID: 44253 RVA: 0x00259D38 File Offset: 0x00257F38
|
||||
[Token(Token = "0x600ACDD")]
|
||||
[Address(RVA = "0x18B46D0", Offset = "0x18B34D0", VA = "0x1818B46D0")]
|
||||
protected static short EvaluateMaxFragmentLengthExtension(bool resumedSession, IDictionary clientExtensions, IDictionary serverExtensions, byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACDD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int16 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::EvaluateMaxFragmentLengthExtension(System.Boolean,System.Collections.IDictionary,System.Collections.IDictionary,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1C:
|
||||
stloc:TlsFatalAlert(var_3_22, 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.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACDE RID: 44254 RVA: 0x00259D68 File Offset: 0x00257F68
|
||||
[Token(Token = "0x600ACDE")]
|
||||
[Address(RVA = "0x18B4780", Offset = "0x18B3580", VA = "0x1818B4780")]
|
||||
protected static byte[] GenerateCertificate(Certificate certificate)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
bool isEmpty = certificate.IsEmpty;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACDF RID: 44255 RVA: 0x00259D90 File Offset: 0x00257F90
|
||||
[Token(Token = "0x600ACDF")]
|
||||
[Address(RVA = "0x18B4810", Offset = "0x18B3610", VA = "0x1818B4810")]
|
||||
protected static byte[] GenerateSupplementalData(IList supplementalData)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsProtocol.WriteSupplementalData(memoryStream, supplementalData);
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACE0 RID: 44256 RVA: 0x00259DB8 File Offset: 0x00257FB8
|
||||
[Token(Token = "0x600ACE0")]
|
||||
[Address(RVA = "0x18B49A0", Offset = "0x18B37A0", VA = "0x1818B49A0")]
|
||||
protected static void ValidateSelectedCipherSuite(int selectedCipherSuite, byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACE0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::ValidateSelectedCipherSuite(System.Int32,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0A:
|
||||
stloc:TlsFatalAlert(var_0_10, 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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006E79 RID: 28281
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E79")]
|
||||
protected readonly SecureRandom mSecureRandom;
|
||||
}
|
||||
}
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B26 RID: 6950
|
||||
[Token(Token = "0x2001B26")]
|
||||
internal class DtlsReassembler
|
||||
{
|
||||
// Token: 0x0600ACE1 RID: 44257 RVA: 0x00259DD8 File Offset: 0x00257FD8
|
||||
[Token(Token = "0x600ACE1")]
|
||||
[Address(RVA = "0x18B4EC0", Offset = "0x18B3CC0", VA = "0x1818B4EC0")]
|
||||
internal DtlsReassembler(byte msg_type, int length)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
this.mMissing = list;
|
||||
base..ctor();
|
||||
this.mMsgType = msg_type;
|
||||
byte[] array = new byte[length];
|
||||
IList list2 = this.mMissing;
|
||||
this.mBody = array;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = (int)((ulong)0L);
|
||||
range.mEnd = length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001B64 RID: 7012
|
||||
// (get) Token: 0x0600ACE2 RID: 44258 RVA: 0x00259E30 File Offset: 0x00258030
|
||||
[Token(Token = "0x17001B64")]
|
||||
internal byte MsgType
|
||||
{
|
||||
[Token(Token = "0x600ACE2")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")]
|
||||
get
|
||||
{
|
||||
return this.mMsgType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACE3 RID: 44259 RVA: 0x00259E44 File Offset: 0x00258044
|
||||
[Token(Token = "0x600ACE3")]
|
||||
[Address(RVA = "0x18B4DB0", Offset = "0x18B3BB0", VA = "0x1818B4DB0")]
|
||||
internal byte[] GetBodyIfComplete()
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
return this.mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACE4 RID: 44260 RVA: 0x00259E68 File Offset: 0x00258068
|
||||
[Token(Token = "0x600ACE4")]
|
||||
[Address(RVA = "0x18B4AC0", Offset = "0x18B38C0", VA = "0x1818B4AC0")]
|
||||
internal void ContributeFragment(byte msg_type, int length, byte[] buf, int off, int fragment_offset, int fragment_length)
|
||||
{
|
||||
if (this.mMsgType == msg_type && this.mBody.Length == length)
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
int num = 0;
|
||||
if (0 < list)
|
||||
{
|
||||
IList list2 = this.mMissing;
|
||||
byte[] array = this.mBody;
|
||||
int num2;
|
||||
int num3;
|
||||
num2 -= num3;
|
||||
Array.Copy(buf, num3, array, num3, num2);
|
||||
IList list3 = this.mMissing;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = num2;
|
||||
range.mEnd = 0;
|
||||
IList list4 = this.mMissing;
|
||||
IList list5 = this.mMissing;
|
||||
num++;
|
||||
IList list6 = this.mMissing;
|
||||
IList list7 = this.mMissing;
|
||||
IList list8 = this.mMissing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACE5 RID: 44261 RVA: 0x00259F08 File Offset: 0x00258108
|
||||
[Token(Token = "0x600ACE5")]
|
||||
[Address(RVA = "0x18B4E10", Offset = "0x18B3C10", VA = "0x1818B4E10")]
|
||||
internal void Reset()
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
IList list2 = this.mMissing;
|
||||
int length = this.mBody.Length;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = (int)((ulong)0L);
|
||||
range.mEnd = length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E7A RID: 28282
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E7A")]
|
||||
private readonly byte mMsgType;
|
||||
|
||||
// Token: 0x04006E7B RID: 28283
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E7B")]
|
||||
private readonly byte[] mBody;
|
||||
|
||||
// Token: 0x04006E7C RID: 28284
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E7C")]
|
||||
private readonly IList mMissing;
|
||||
|
||||
// Token: 0x02001B27 RID: 6951
|
||||
[Token(Token = "0x2001B27")]
|
||||
private class Range
|
||||
{
|
||||
// Token: 0x0600ACE6 RID: 44262 RVA: 0x00259F44 File Offset: 0x00258144
|
||||
[Token(Token = "0x600ACE6")]
|
||||
[Address(RVA = "0x8F0C90", Offset = "0x8EFA90", VA = "0x1808F0C90")]
|
||||
internal Range(int start, int end)
|
||||
{
|
||||
this.mStart = start;
|
||||
this.mEnd = end;
|
||||
}
|
||||
|
||||
// Token: 0x17001B65 RID: 7013
|
||||
// (get) Token: 0x0600ACE7 RID: 44263 RVA: 0x00259F68 File Offset: 0x00258168
|
||||
// (set) Token: 0x0600ACE8 RID: 44264 RVA: 0x00259F7C File Offset: 0x0025817C
|
||||
[Token(Token = "0x17001B65")]
|
||||
public int Start
|
||||
{
|
||||
[Token(Token = "0x600ACE7")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
|
||||
get
|
||||
{
|
||||
return this.mStart;
|
||||
}
|
||||
[Token(Token = "0x600ACE8")]
|
||||
[Address(RVA = "0x536480", Offset = "0x535280", VA = "0x180536480")]
|
||||
set
|
||||
{
|
||||
this.mStart = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B66 RID: 7014
|
||||
// (get) Token: 0x0600ACE9 RID: 44265 RVA: 0x00259F90 File Offset: 0x00258190
|
||||
// (set) Token: 0x0600ACEA RID: 44266 RVA: 0x00259FA4 File Offset: 0x002581A4
|
||||
[Token(Token = "0x17001B66")]
|
||||
public int End
|
||||
{
|
||||
[Token(Token = "0x600ACE9")]
|
||||
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080")]
|
||||
get
|
||||
{
|
||||
return this.mEnd;
|
||||
}
|
||||
[Token(Token = "0x600ACEA")]
|
||||
[Address(RVA = "0x52EC20", Offset = "0x52DA20", VA = "0x18052EC20")]
|
||||
set
|
||||
{
|
||||
this.mEnd = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006E7D RID: 28285
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E7D")]
|
||||
private int mStart;
|
||||
|
||||
// Token: 0x04006E7E RID: 28286
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006E7E")]
|
||||
private int mEnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
+581
@@ -0,0 +1,581 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Date;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B28 RID: 6952
|
||||
[Token(Token = "0x2001B28")]
|
||||
internal class DtlsRecordLayer : DatagramTransport
|
||||
{
|
||||
// Token: 0x0600ACEB RID: 44267 RVA: 0x00259FB8 File Offset: 0x002581B8
|
||||
[Token(Token = "0x600ACEB")]
|
||||
[Address(RVA = "0x18B6500", Offset = "0x18B5300", VA = "0x1818B6500")]
|
||||
internal DtlsRecordLayer(DatagramTransport transport, TlsContext context, TlsPeer peer, byte contentType)
|
||||
{
|
||||
ByteQueue byteQueue = new ByteQueue();
|
||||
byte[] array = new byte[1024];
|
||||
byteQueue.databuf = array;
|
||||
this.mRecordQueue = byteQueue;
|
||||
base..ctor();
|
||||
this.mTransport = transport;
|
||||
this.mContext = context;
|
||||
this.mPeer = peer;
|
||||
this.mInHandshake = true;
|
||||
TlsNullCipher tlsNullCipher = new TlsNullCipher(context);
|
||||
int num;
|
||||
DtlsEpoch dtlsEpoch = new DtlsEpoch(num, tlsNullCipher);
|
||||
num = 0;
|
||||
this.mCurrentEpoch = dtlsEpoch;
|
||||
this.mPendingEpoch = (ulong)0L;
|
||||
this.mReadEpoch = dtlsEpoch;
|
||||
this.mWriteEpoch = dtlsEpoch;
|
||||
int receiveLimit = ((DatagramTransport)this).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600ACEC RID: 44268 RVA: 0x0025A048 File Offset: 0x00258248
|
||||
[Token(Token = "0x600ACEC")]
|
||||
[Address(RVA = "0x18B6470", Offset = "0x18B5270", VA = "0x1818B6470", Slot = "9")]
|
||||
internal virtual void SetPlaintextLimit(int plaintextLimit)
|
||||
{
|
||||
this.mPlaintextLimit = plaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x17001B67 RID: 7015
|
||||
// (get) Token: 0x0600ACED RID: 44269 RVA: 0x0025A05C File Offset: 0x0025825C
|
||||
[Token(Token = "0x17001B67")]
|
||||
internal virtual int ReadEpoch
|
||||
{
|
||||
[Token(Token = "0x600ACED")]
|
||||
[Address(RVA = "0x18B6640", Offset = "0x18B5440", VA = "0x1818B6640", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.mReadEpoch.mEpoch;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B68 RID: 7016
|
||||
// (get) Token: 0x0600ACEE RID: 44270 RVA: 0x0025A07C File Offset: 0x0025827C
|
||||
// (set) Token: 0x0600ACEF RID: 44271 RVA: 0x0025A090 File Offset: 0x00258290
|
||||
[Token(Token = "0x17001B68")]
|
||||
internal virtual ProtocolVersion ReadVersion
|
||||
{
|
||||
[Token(Token = "0x600ACEE")]
|
||||
[Address(RVA = "0x18B6660", Offset = "0x18B5460", VA = "0x1818B6660", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return this.mReadVersion;
|
||||
}
|
||||
[Token(Token = "0x600ACEF")]
|
||||
[Address(RVA = "0x18B6680", Offset = "0x18B5480", VA = "0x1818B6680", Slot = "12")]
|
||||
set
|
||||
{
|
||||
this.mReadVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF0 RID: 44272 RVA: 0x0025A0A4 File Offset: 0x002582A4
|
||||
[Token(Token = "0x600ACF0")]
|
||||
[Address(RVA = "0x18B64A0", Offset = "0x18B52A0", VA = "0x1818B64A0", Slot = "13")]
|
||||
internal virtual void SetWriteVersion(ProtocolVersion writeVersion)
|
||||
{
|
||||
this.mWriteVersion = writeVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF1 RID: 44273 RVA: 0x0025A0B8 File Offset: 0x002582B8
|
||||
[Token(Token = "0x600ACF1")]
|
||||
[Address(RVA = "0x18B5430", Offset = "0x18B4230", VA = "0x1818B5430", Slot = "14")]
|
||||
internal virtual void InitPendingEpoch(TlsCipher pendingCipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACF1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::InitPendingEpoch(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2B:
|
||||
stloc:InvalidOperationException(var_3_30, newobj:InvalidOperationException(InvalidOperationException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF2 RID: 44274 RVA: 0x0025A0F8 File Offset: 0x002582F8
|
||||
[Token(Token = "0x600ACF2")]
|
||||
[Address(RVA = "0x18B5360", Offset = "0x18B4160", VA = "0x1818B5360", Slot = "15")]
|
||||
internal virtual void HandshakeSuccessful(DtlsHandshakeRetransmit retransmit)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACF2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::HandshakeSuccessful(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsHandshakeRetransmit)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_59:
|
||||
stloc:InvalidOperationException(var_4_5E, newobj:InvalidOperationException(InvalidOperationException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF3 RID: 44275 RVA: 0x0025A164 File Offset: 0x00258364
|
||||
[Token(Token = "0x600ACF3")]
|
||||
[Address(RVA = "0x18B6070", Offset = "0x18B4E70", VA = "0x1818B6070", Slot = "16")]
|
||||
internal virtual void ResetWriteEpoch()
|
||||
{
|
||||
DtlsEpoch dtlsEpoch = this.mRetransmitEpoch;
|
||||
if (dtlsEpoch == 0)
|
||||
{
|
||||
}
|
||||
this.mWriteEpoch = dtlsEpoch;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF4 RID: 44276 RVA: 0x0025A184 File Offset: 0x00258384
|
||||
[Token(Token = "0x600ACF4")]
|
||||
[Address(RVA = "0x18B51E0", Offset = "0x18B3FE0", VA = "0x1818B51E0", Slot = "17")]
|
||||
public virtual int GetReceiveLimit()
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mReadEpoch;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
TlsCipher mCipher = dtlsEpoch.mCipher;
|
||||
int num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF5 RID: 44277 RVA: 0x0025A1B8 File Offset: 0x002583B8
|
||||
[Token(Token = "0x600ACF5")]
|
||||
[Address(RVA = "0x18B52A0", Offset = "0x18B40A0", VA = "0x1818B52A0", Slot = "18")]
|
||||
public virtual int GetSendLimit()
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mWriteEpoch;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
TlsCipher mCipher = dtlsEpoch.mCipher;
|
||||
int num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF6 RID: 44278 RVA: 0x0025A1EC File Offset: 0x002583EC
|
||||
[Token(Token = "0x600ACF6")]
|
||||
[Address(RVA = "0x18B58A0", Offset = "0x18B46A0", VA = "0x1818B58A0", Slot = "19")]
|
||||
public virtual int Receive(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
int num = 0;
|
||||
this.ResetWriteEpoch();
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[0];
|
||||
if (this.mRetransmit != (ulong)0L && DateTimeUtilities.CurrentUnixMs() > this.mRetransmitExpiry)
|
||||
{
|
||||
this.mRetransmit = num;
|
||||
this.mRetransmitEpoch = num;
|
||||
}
|
||||
int num2;
|
||||
num2 += 13;
|
||||
if (num2 == 0)
|
||||
{
|
||||
DtlsEpoch dtlsEpoch = this.mReadEpoch;
|
||||
byte b;
|
||||
DtlsEpoch dtlsEpoch2;
|
||||
if ((int)b != dtlsEpoch.mEpoch)
|
||||
{
|
||||
dtlsEpoch2 = this.mRetransmitEpoch;
|
||||
if (dtlsEpoch2 == 0 || (int)b != dtlsEpoch2.mEpoch)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (dtlsEpoch2 != 0)
|
||||
{
|
||||
DtlsReplayWindow mReplayWindow = dtlsEpoch2.mReplayWindow;
|
||||
long num3;
|
||||
if (num3 == 0L)
|
||||
{
|
||||
long num4 = mReplayWindow.mLatestConfirmedSeq;
|
||||
num4 -= num3;
|
||||
ProtocolVersion protocolVersion;
|
||||
if (protocolVersion.version == 65024)
|
||||
{
|
||||
if (this.mReadVersion != 0)
|
||||
{
|
||||
ProtocolVersion protocolVersion2 = this.mReadVersion;
|
||||
int version = protocolVersion.version;
|
||||
if (protocolVersion2.TLSv11 != version)
|
||||
{
|
||||
}
|
||||
}
|
||||
TlsCipher mCipher = dtlsEpoch2.mCipher;
|
||||
DtlsReplayWindow mReplayWindow2 = dtlsEpoch2.mReplayWindow;
|
||||
long num5 = mReplayWindow2.mLatestConfirmedSeq;
|
||||
if (num3 > num5)
|
||||
{
|
||||
num3 -= num5;
|
||||
long mBitmap = mReplayWindow2.mBitmap;
|
||||
mReplayWindow2.mBitmap = mBitmap;
|
||||
mReplayWindow2.mLatestConfirmedSeq = num3;
|
||||
mReplayWindow2.mBitmap = (long)((ulong)1L);
|
||||
mReplayWindow2.mLatestConfirmedSeq = num3;
|
||||
}
|
||||
num5 -= num3;
|
||||
long mBitmap2 = mReplayWindow2.mBitmap;
|
||||
mReplayWindow2.mBitmap = mBitmap2;
|
||||
int num6 = this.mPlaintextLimit;
|
||||
ProtocolVersion protocolVersion3 = this.mReadVersion;
|
||||
if (protocolVersion3 == 0)
|
||||
{
|
||||
ulong num7;
|
||||
this.mReadVersion = num7;
|
||||
}
|
||||
if (protocolVersion3 != 0)
|
||||
{
|
||||
if (protocolVersion3 != 0)
|
||||
{
|
||||
if (protocolVersion3 == 0)
|
||||
{
|
||||
goto IL_1A8;
|
||||
}
|
||||
if (protocolVersion3 == 0)
|
||||
{
|
||||
goto IL_19F;
|
||||
}
|
||||
}
|
||||
TlsPeer tlsPeer = this.mPeer;
|
||||
int num8 = 0;
|
||||
if (num8 < mCipher)
|
||||
{
|
||||
num8 += num8;
|
||||
num8++;
|
||||
}
|
||||
this.CloseTransport();
|
||||
IL_19F:
|
||||
if (!this.mInHandshake)
|
||||
{
|
||||
goto IL_1B1;
|
||||
}
|
||||
IL_1A8:
|
||||
if (!this.mInHandshake)
|
||||
{
|
||||
goto IL_1D7;
|
||||
}
|
||||
IL_1B1:
|
||||
if (!this.mInHandshake && this.mRetransmit != (ulong)0L)
|
||||
{
|
||||
this.mRetransmit = (ulong)0L;
|
||||
this.mRetransmitEpoch = (ulong)0L;
|
||||
}
|
||||
IL_1D7:
|
||||
DtlsHandshakeRetransmit dtlsHandshakeRetransmit = this.mRetransmit;
|
||||
int num9 = 0;
|
||||
while (dtlsHandshakeRetransmit == 0)
|
||||
{
|
||||
}
|
||||
num9 += num9;
|
||||
num9++;
|
||||
num9 += 19;
|
||||
num9 += 6;
|
||||
num9 += 19;
|
||||
}
|
||||
int num10 = 0;
|
||||
DtlsEpoch dtlsEpoch3 = this.mPendingEpoch;
|
||||
if (dtlsEpoch3 != 0)
|
||||
{
|
||||
this.mReadEpoch = dtlsEpoch3;
|
||||
}
|
||||
num10++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF7 RID: 44279 RVA: 0x0025A454 File Offset: 0x00258654
|
||||
[Token(Token = "0x600ACF7")]
|
||||
[Address(RVA = "0x18B62E0", Offset = "0x18B50E0", VA = "0x1818B62E0", Slot = "20")]
|
||||
public virtual void Send(byte[] buf, int off, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ACF7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::Send(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_6C:
|
||||
stloc:InvalidOperationException(var_9_71, newobj:InvalidOperationException(InvalidOperationException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF8 RID: 44280 RVA: 0x0025A4D4 File Offset: 0x002586D4
|
||||
[Token(Token = "0x600ACF8")]
|
||||
[Address(RVA = "0x18B5060", Offset = "0x18B3E60", VA = "0x1818B5060", Slot = "21")]
|
||||
public virtual void Close()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
if (this.mInHandshake)
|
||||
{
|
||||
}
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACF9 RID: 44281 RVA: 0x0025A4FC File Offset: 0x002586FC
|
||||
[Token(Token = "0x600ACF9")]
|
||||
[Address(RVA = "0x18B5190", Offset = "0x18B3F90", VA = "0x1818B5190", Slot = "22")]
|
||||
internal virtual void Failed()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
this.mFailed = true;
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACFA RID: 44282 RVA: 0x0025A520 File Offset: 0x00258720
|
||||
[Token(Token = "0x600ACFA")]
|
||||
[Address(RVA = "0x18B50E0", Offset = "0x18B3EE0", VA = "0x1818B50E0", Slot = "23")]
|
||||
internal virtual void Fail(byte alertDescription)
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
this.mFailed = true;
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACFB RID: 44283 RVA: 0x0025A548 File Offset: 0x00258748
|
||||
[Token(Token = "0x600ACFB")]
|
||||
[Address(RVA = "0x18B64D0", Offset = "0x18B52D0", VA = "0x1818B64D0", Slot = "24")]
|
||||
internal virtual void Warn(byte alertDescription, string message)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ACFC RID: 44284 RVA: 0x0025A558 File Offset: 0x00258758
|
||||
[Token(Token = "0x600ACFC")]
|
||||
[Address(RVA = "0x18B4FA0", Offset = "0x18B3DA0", VA = "0x1818B4FA0")]
|
||||
private void CloseTransport()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
if (!this.mFailed)
|
||||
{
|
||||
int num = 0;
|
||||
this.Fail((byte)num);
|
||||
}
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
this.mClosed = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ACFD RID: 44285 RVA: 0x0025A594 File Offset: 0x00258794
|
||||
[Token(Token = "0x600ACFD")]
|
||||
[Address(RVA = "0x18B54E0", Offset = "0x18B42E0", VA = "0x1818B54E0")]
|
||||
private void RaiseAlert(byte alertLevel, byte alertDescription, string message, Exception cause)
|
||||
{
|
||||
TlsPeer tlsPeer = this.mPeer;
|
||||
int num = 0;
|
||||
if (num < (int)alertDescription)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array = new byte[2];
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
array[0] = alertLevel;
|
||||
array[0] = alertDescription;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACFE RID: 44286 RVA: 0x0025A5D8 File Offset: 0x002587D8
|
||||
[Token(Token = "0x600ACFE")]
|
||||
[Address(RVA = "0x18B5640", Offset = "0x18B4440", VA = "0x1818B5640")]
|
||||
private int ReceiveRecord(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
ByteQueue byteQueue = this.mRecordQueue;
|
||||
int available = byteQueue.available;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
int num = 0;
|
||||
if (num < off)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (byteQueue > len)
|
||||
{
|
||||
ByteQueue byteQueue2 = this.mRecordQueue;
|
||||
byteQueue -= len;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
// Token: 0x0600ACFF RID: 44287 RVA: 0x0025A63C File Offset: 0x0025883C
|
||||
[Token(Token = "0x600ACFF")]
|
||||
[Address(RVA = "0x18B6090", Offset = "0x18B4E90", VA = "0x1818B6090")]
|
||||
private void SendRecord(byte contentType, byte[] buf, int off, int len)
|
||||
{
|
||||
if (this.mWriteVersion != 0)
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mWriteEpoch;
|
||||
long mSequenceNumber = dtlsEpoch.mSequenceNumber;
|
||||
int mEpoch = dtlsEpoch.mEpoch;
|
||||
long num2 = mSequenceNumber + 1L;
|
||||
dtlsEpoch.mSequenceNumber = num2;
|
||||
TlsCipher mCipher = this.mWriteEpoch.mCipher;
|
||||
byte[] array = new byte[0];
|
||||
int num3 = 0;
|
||||
TlsUtilities.WriteUint8(contentType, array, num3);
|
||||
TlsUtilities.WriteVersion(this.mWriteVersion, array, 1);
|
||||
PngHelperInternal.WriteInt2tobytes(mEpoch, array, 3);
|
||||
TlsUtilities.WriteUint48(mSequenceNumber, array, 5);
|
||||
PngHelperInternal.WriteInt2tobytes((int)mSequenceNumber, array, 11);
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
int length = array.Length;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD00 RID: 44288 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD00")]
|
||||
[Address(RVA = "0x18B51D0", Offset = "0x18B3FD0", VA = "0x1818B51D0")]
|
||||
private static long GetMacSequenceNumber(int epoch, long sequence_number)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x04006E7F RID: 28287
|
||||
[Token(Token = "0x4006E7F")]
|
||||
private const int RECORD_HEADER_LENGTH = 13;
|
||||
|
||||
// Token: 0x04006E80 RID: 28288
|
||||
[Token(Token = "0x4006E80")]
|
||||
private const int MAX_FRAGMENT_LENGTH = 16384;
|
||||
|
||||
// Token: 0x04006E81 RID: 28289
|
||||
[Token(Token = "0x4006E81")]
|
||||
private const long TCP_MSL = 120000L;
|
||||
|
||||
// Token: 0x04006E82 RID: 28290
|
||||
[Token(Token = "0x4006E82")]
|
||||
private const long RETRANSMIT_TIMEOUT = 240000L;
|
||||
|
||||
// Token: 0x04006E83 RID: 28291
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E83")]
|
||||
private readonly DatagramTransport mTransport;
|
||||
|
||||
// Token: 0x04006E84 RID: 28292
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E84")]
|
||||
private readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x04006E85 RID: 28293
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E85")]
|
||||
private readonly TlsPeer mPeer;
|
||||
|
||||
// Token: 0x04006E86 RID: 28294
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E86")]
|
||||
private readonly ByteQueue mRecordQueue;
|
||||
|
||||
// Token: 0x04006E87 RID: 28295
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E87")]
|
||||
private bool mClosed;
|
||||
|
||||
// Token: 0x04006E88 RID: 28296
|
||||
[FieldOffset(Offset = "0x31")]
|
||||
[Token(Token = "0x4006E88")]
|
||||
private bool mFailed;
|
||||
|
||||
// Token: 0x04006E89 RID: 28297
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006E89")]
|
||||
private ProtocolVersion mReadVersion;
|
||||
|
||||
// Token: 0x04006E8A RID: 28298
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006E8A")]
|
||||
private ProtocolVersion mWriteVersion;
|
||||
|
||||
// Token: 0x04006E8B RID: 28299
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006E8B")]
|
||||
private bool mInHandshake;
|
||||
|
||||
// Token: 0x04006E8C RID: 28300
|
||||
[FieldOffset(Offset = "0x4C")]
|
||||
[Token(Token = "0x4006E8C")]
|
||||
private int mPlaintextLimit;
|
||||
|
||||
// Token: 0x04006E8D RID: 28301
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006E8D")]
|
||||
private DtlsEpoch mCurrentEpoch;
|
||||
|
||||
// Token: 0x04006E8E RID: 28302
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006E8E")]
|
||||
private DtlsEpoch mPendingEpoch;
|
||||
|
||||
// Token: 0x04006E8F RID: 28303
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006E8F")]
|
||||
private DtlsEpoch mReadEpoch;
|
||||
|
||||
// Token: 0x04006E90 RID: 28304
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006E90")]
|
||||
private DtlsEpoch mWriteEpoch;
|
||||
|
||||
// Token: 0x04006E91 RID: 28305
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006E91")]
|
||||
private DtlsHandshakeRetransmit mRetransmit;
|
||||
|
||||
// Token: 0x04006E92 RID: 28306
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006E92")]
|
||||
private DtlsEpoch mRetransmitEpoch;
|
||||
|
||||
// Token: 0x04006E93 RID: 28307
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006E93")]
|
||||
private long mRetransmitExpiry;
|
||||
}
|
||||
}
|
||||
+589
@@ -0,0 +1,589 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B29 RID: 6953
|
||||
[Token(Token = "0x2001B29")]
|
||||
internal class DtlsReliableHandshake
|
||||
{
|
||||
// Token: 0x0600AD01 RID: 44289 RVA: 0x0025A6F4 File Offset: 0x002588F4
|
||||
[Token(Token = "0x600AD01")]
|
||||
[Address(RVA = "0x18B80A0", Offset = "0x18B6EA0", VA = "0x1818B80A0")]
|
||||
internal DtlsReliableHandshake(TlsContext context, DtlsRecordLayer transport)
|
||||
{
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mCurrentInboundFlight = dictionary;
|
||||
IList list = Platform.CreateArrayList();
|
||||
this.mOutboundFlight = list;
|
||||
this.mSending = true;
|
||||
base..ctor();
|
||||
this.mRecordLayer = transport;
|
||||
DeferredHash deferredHash = new DeferredHash();
|
||||
this.mHandshakeHash = deferredHash;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD02 RID: 44290 RVA: 0x0025A748 File Offset: 0x00258948
|
||||
[Token(Token = "0x600AD02")]
|
||||
[Address(RVA = "0x18B6D20", Offset = "0x18B5B20", VA = "0x1818B6D20")]
|
||||
internal void NotifyHelloComplete()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x17001B69 RID: 7017
|
||||
// (get) Token: 0x0600AD03 RID: 44291 RVA: 0x0025A764 File Offset: 0x00258964
|
||||
[Token(Token = "0x17001B69")]
|
||||
internal TlsHandshakeHash HandshakeHash
|
||||
{
|
||||
[Token(Token = "0x600AD03")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
||||
get
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD04 RID: 44292 RVA: 0x0025A778 File Offset: 0x00258978
|
||||
[Token(Token = "0x600AD04")]
|
||||
[Address(RVA = "0x18B6DB0", Offset = "0x18B5BB0", VA = "0x1818B6DB0")]
|
||||
internal TlsHandshakeHash PrepareToFinish()
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD05 RID: 44293 RVA: 0x0025A794 File Offset: 0x00258994
|
||||
[Token(Token = "0x600AD05")]
|
||||
[Address(RVA = "0x18B7B10", Offset = "0x18B6910", VA = "0x1818B7B10")]
|
||||
internal void SendMessage(byte msg_type, byte[] body)
|
||||
{
|
||||
TlsUtilities.CheckUint24(body.Length);
|
||||
if (!this.mSending)
|
||||
{
|
||||
this.CheckInboundFlight();
|
||||
IList list = this.mOutboundFlight;
|
||||
this.mSending = true;
|
||||
}
|
||||
int num = this.mMessageSeq;
|
||||
int num2 = num + 1;
|
||||
this.mMessageSeq = num2;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num;
|
||||
message.mMsgType = msg_type;
|
||||
message.mBody = body;
|
||||
IList list2 = this.mOutboundFlight;
|
||||
this.WriteMessage(message);
|
||||
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD06 RID: 44294 RVA: 0x0025A810 File Offset: 0x00258A10
|
||||
[Token(Token = "0x600AD06")]
|
||||
[Address(RVA = "0x18B71C0", Offset = "0x18B5FC0", VA = "0x1818B71C0")]
|
||||
internal byte[] ReceiveMessageBody(byte msg_type)
|
||||
{
|
||||
DtlsReliableHandshake.Message message;
|
||||
do
|
||||
{
|
||||
message = this.ReceiveMessage();
|
||||
}
|
||||
while (message.mMsgType != msg_type);
|
||||
return message.mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD07 RID: 44295 RVA: 0x0025A83C File Offset: 0x00258A3C
|
||||
[Token(Token = "0x600AD07")]
|
||||
[Address(RVA = "0x18B7240", Offset = "0x18B6040", VA = "0x1818B7240")]
|
||||
internal DtlsReliableHandshake.Message ReceiveMessage()
|
||||
{
|
||||
if (this.mSending)
|
||||
{
|
||||
this.mSending = false;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary2 = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary2;
|
||||
this.mCurrentInboundFlight = dictionary;
|
||||
}
|
||||
int num = 0;
|
||||
IDictionary dictionary3 = this.mCurrentInboundFlight;
|
||||
int num2 = this.mNextReceiveSeq;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
if (num2 == 0)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
this.mPreviousInboundFlight = num;
|
||||
int num4 = this.mNextReceiveSeq;
|
||||
int num5 = num4 + 1;
|
||||
this.mNextReceiveSeq = num5;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num4;
|
||||
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
||||
if (message2 != 0)
|
||||
{
|
||||
return message2;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mRecordLayer.ResetWriteEpoch();
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[0];
|
||||
int sendLimit = this.mRecordLayer.GetSendLimit();
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
bool flag;
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
this.ResendOutboundFlight();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD08 RID: 44296 RVA: 0x0025A93C File Offset: 0x00258B3C
|
||||
[Token(Token = "0x600AD08")]
|
||||
[Address(RVA = "0x18B6B00", Offset = "0x18B5900", VA = "0x1818B6B00")]
|
||||
internal void Finish()
|
||||
{
|
||||
int num = 0;
|
||||
if ((this.mSending ? 1 : 0) != num)
|
||||
{
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary;
|
||||
this.mCurrentInboundFlight = num;
|
||||
if (dictionary == 0)
|
||||
{
|
||||
goto IL_3C;
|
||||
}
|
||||
DtlsReliableHandshake.Retransmit retransmit;
|
||||
retransmit.mOuter = this;
|
||||
}
|
||||
this.CheckInboundFlight();
|
||||
IL_3C:
|
||||
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD09 RID: 44297 RVA: 0x0025A998 File Offset: 0x00258B98
|
||||
[Token(Token = "0x600AD09")]
|
||||
[Address(RVA = "0x18B7AC0", Offset = "0x18B68C0", VA = "0x1818B7AC0")]
|
||||
internal void ResetHandshakeMessagesDigest()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD0A RID: 44298 RVA: 0x0025A9B4 File Offset: 0x00258BB4
|
||||
[Token(Token = "0x600AD0A")]
|
||||
[Address(RVA = "0x18B66B0", Offset = "0x18B54B0", VA = "0x1818B66B0")]
|
||||
private int BackOff(int timeoutMillis)
|
||||
{
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD0B RID: 44299 RVA: 0x0025A9C4 File Offset: 0x00258BC4
|
||||
[Token(Token = "0x600AD0B")]
|
||||
[Address(RVA = "0x18B6980", Offset = "0x18B5780", VA = "0x1818B6980")]
|
||||
private void CheckInboundFlight()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
num += num;
|
||||
num++;
|
||||
num++;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD0C RID: 44300 RVA: 0x0025A9FC File Offset: 0x00258BFC
|
||||
[Token(Token = "0x600AD0C")]
|
||||
[Address(RVA = "0x18B6BA0", Offset = "0x18B59A0", VA = "0x1818B6BA0")]
|
||||
private DtlsReliableHandshake.Message GetPendingMessage()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = this.mNextReceiveSeq;
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
if (num == 0)
|
||||
{
|
||||
int num2 = this.mNextReceiveSeq;
|
||||
int num3 = num2 + 1;
|
||||
this.mNextReceiveSeq = num3;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num2;
|
||||
message.mMsgType = (byte)num;
|
||||
return this.UpdateHandshakeMessagesDigest(message);
|
||||
}
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD0D RID: 44301 RVA: 0x0025AA5C File Offset: 0x00258C5C
|
||||
[Token(Token = "0x600AD0D")]
|
||||
[Address(RVA = "0x18B6D70", Offset = "0x18B5B70", VA = "0x1818B6D70")]
|
||||
private void PrepareInboundFlight(IDictionary nextFlight)
|
||||
{
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary;
|
||||
this.mCurrentInboundFlight = nextFlight;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD0E RID: 44302 RVA: 0x0025AA8C File Offset: 0x00258C8C
|
||||
[Token(Token = "0x600AD0E")]
|
||||
[Address(RVA = "0x18B6E10", Offset = "0x18B5C10", VA = "0x1818B6E10")]
|
||||
private bool ProcessRecord(int windowSize, int epoch, byte[] buf, int off, int len)
|
||||
{
|
||||
int num = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num2 = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num3 = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num4 = this.mNextReceiveSeq;
|
||||
byte b;
|
||||
if ((int)b >= num4 || (this.mPreviousInboundFlight != 0 && num4 != 0))
|
||||
{
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
if (num4 == 0)
|
||||
{
|
||||
DtlsReassembler dtlsReassembler = new DtlsReassembler(b, num2);
|
||||
}
|
||||
}
|
||||
if (DtlsReliableHandshake.CheckAll(this.mPreviousInboundFlight))
|
||||
{
|
||||
this.ResendOutboundFlight();
|
||||
DtlsReliableHandshake.ResetAll(this.mPreviousInboundFlight);
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD0F RID: 44303 RVA: 0x0025AB10 File Offset: 0x00258D10
|
||||
[Token(Token = "0x600AD0F")]
|
||||
[Address(RVA = "0x18B75F0", Offset = "0x18B63F0", VA = "0x1818B75F0")]
|
||||
private void ResendOutboundFlight()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
IList list = this.mOutboundFlight;
|
||||
num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
IList list2 = this.mOutboundFlight;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
num += 19;
|
||||
num += num;
|
||||
num += 19;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
this.WriteMessage(num);
|
||||
IList list3 = this.mOutboundFlight;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD10 RID: 44304 RVA: 0x0025AB84 File Offset: 0x00258D84
|
||||
[Token(Token = "0x600AD10")]
|
||||
[Address(RVA = "0x18B7C40", Offset = "0x18B6A40", VA = "0x1818B7C40")]
|
||||
private DtlsReliableHandshake.Message UpdateHandshakeMessagesDigest(DtlsReliableHandshake.Message message)
|
||||
{
|
||||
byte[] mBody = message.mBody;
|
||||
byte[] array = new byte[12];
|
||||
byte mMsgType = message.mMsgType;
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint8(mMsgType, array, num);
|
||||
TlsUtilities.WriteUint24(mBody.Length, array, 1);
|
||||
PngHelperInternal.WriteInt2tobytes(message.mMessageSeq, array, 4);
|
||||
TlsUtilities.WriteUint24(0, array, 6);
|
||||
TlsUtilities.WriteUint24(mBody.Length, array, 9);
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
int length = array.Length;
|
||||
TlsHandshakeHash tlsHandshakeHash2 = this.mHandshakeHash;
|
||||
int length2 = mBody.Length;
|
||||
return message;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD11 RID: 44305 RVA: 0x0025AC0C File Offset: 0x00258E0C
|
||||
[Token(Token = "0x600AD11")]
|
||||
[Address(RVA = "0x18B7F70", Offset = "0x18B6D70", VA = "0x1818B7F70")]
|
||||
private void WriteMessage(DtlsReliableHandshake.Message message)
|
||||
{
|
||||
int receiveLimit = this.mRecordLayer.GetReceiveLimit();
|
||||
byte[] mBody = message.mBody;
|
||||
int num = 0;
|
||||
int num2 = mBody.Length;
|
||||
num2 -= num;
|
||||
int num3;
|
||||
this.WriteHandshakeFragment(message, num, num3);
|
||||
num += num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD12 RID: 44306 RVA: 0x0025AC50 File Offset: 0x00258E50
|
||||
[Token(Token = "0x600AD12")]
|
||||
[Address(RVA = "0x18B7DB0", Offset = "0x18B6BB0", VA = "0x1818B7DB0")]
|
||||
private void WriteHandshakeFragment(DtlsReliableHandshake.Message message, int fragment_offset, int fragment_length)
|
||||
{
|
||||
DtlsReliableHandshake.RecordLayerBuffer recordLayerBuffer;
|
||||
TlsUtilities.WriteUint8(message.mMsgType, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(message.mBody.Length, recordLayerBuffer);
|
||||
int num = message.mMessageSeq;
|
||||
TlsUtilities.WriteUint16(num, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(fragment_offset, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(fragment_length, recordLayerBuffer);
|
||||
int num2 = recordLayerBuffer.ReadByte();
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
bool canWrite = recordLayerBuffer.CanWrite;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD13 RID: 44307 RVA: 0x0025ACB8 File Offset: 0x00258EB8
|
||||
[Token(Token = "0x600AD13")]
|
||||
[Address(RVA = "0x18B6710", Offset = "0x18B5510", VA = "0x1818B6710")]
|
||||
private static bool CheckAll(IDictionary inboundFlight)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
int num2 = 0;
|
||||
if (num2 == 0)
|
||||
{
|
||||
}
|
||||
if (num2 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD14 RID: 44308 RVA: 0x0025ACF8 File Offset: 0x00258EF8
|
||||
[Token(Token = "0x600AD14")]
|
||||
[Address(RVA = "0x18B77F0", Offset = "0x18B65F0", VA = "0x1818B77F0")]
|
||||
private static void ResetAll(IDictionary inboundFlight)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
num++;
|
||||
num += 19;
|
||||
ulong num2;
|
||||
num = (int)((ulong)num + num2);
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_47;
|
||||
}
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = num;
|
||||
if (range != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_47:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006E94 RID: 28308
|
||||
[Token(Token = "0x4006E94")]
|
||||
private const int MaxReceiveAhead = 16;
|
||||
|
||||
// Token: 0x04006E95 RID: 28309
|
||||
[Token(Token = "0x4006E95")]
|
||||
private const int MessageHeaderLength = 12;
|
||||
|
||||
// Token: 0x04006E96 RID: 28310
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E96")]
|
||||
private readonly DtlsRecordLayer mRecordLayer;
|
||||
|
||||
// Token: 0x04006E97 RID: 28311
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E97")]
|
||||
private TlsHandshakeHash mHandshakeHash;
|
||||
|
||||
// Token: 0x04006E98 RID: 28312
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E98")]
|
||||
private IDictionary mCurrentInboundFlight;
|
||||
|
||||
// Token: 0x04006E99 RID: 28313
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E99")]
|
||||
private IDictionary mPreviousInboundFlight;
|
||||
|
||||
// Token: 0x04006E9A RID: 28314
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E9A")]
|
||||
private IList mOutboundFlight;
|
||||
|
||||
// Token: 0x04006E9B RID: 28315
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006E9B")]
|
||||
private bool mSending;
|
||||
|
||||
// Token: 0x04006E9C RID: 28316
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x4006E9C")]
|
||||
private int mMessageSeq;
|
||||
|
||||
// Token: 0x04006E9D RID: 28317
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006E9D")]
|
||||
private int mNextReceiveSeq;
|
||||
|
||||
// Token: 0x02001B2A RID: 6954
|
||||
[Token(Token = "0x2001B2A")]
|
||||
internal class Message
|
||||
{
|
||||
// Token: 0x0600AD15 RID: 44309 RVA: 0x0025AD58 File Offset: 0x00258F58
|
||||
[Token(Token = "0x600AD15")]
|
||||
[Address(RVA = "0x18BB860", Offset = "0x18BA660", VA = "0x1818BB860")]
|
||||
internal Message(int message_seq, byte msg_type, byte[] body)
|
||||
{
|
||||
this.mMessageSeq = message_seq;
|
||||
this.mMsgType = msg_type;
|
||||
this.mBody = body;
|
||||
}
|
||||
|
||||
// Token: 0x17001B6A RID: 7018
|
||||
// (get) Token: 0x0600AD16 RID: 44310 RVA: 0x0025AD80 File Offset: 0x00258F80
|
||||
[Token(Token = "0x17001B6A")]
|
||||
public int Seq
|
||||
{
|
||||
[Token(Token = "0x600AD16")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
|
||||
get
|
||||
{
|
||||
return this.mMessageSeq;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B6B RID: 7019
|
||||
// (get) Token: 0x0600AD17 RID: 44311 RVA: 0x0025AD94 File Offset: 0x00258F94
|
||||
[Token(Token = "0x17001B6B")]
|
||||
public byte Type
|
||||
{
|
||||
[Token(Token = "0x600AD17")]
|
||||
[Address(RVA = "0x40B710", Offset = "0x40A510", VA = "0x18040B710")]
|
||||
get
|
||||
{
|
||||
return this.mMsgType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B6C RID: 7020
|
||||
// (get) Token: 0x0600AD18 RID: 44312 RVA: 0x0025ADA8 File Offset: 0x00258FA8
|
||||
[Token(Token = "0x17001B6C")]
|
||||
public byte[] Body
|
||||
{
|
||||
[Token(Token = "0x600AD18")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
||||
get
|
||||
{
|
||||
return this.mBody;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006E9E RID: 28318
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E9E")]
|
||||
private readonly int mMessageSeq;
|
||||
|
||||
// Token: 0x04006E9F RID: 28319
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006E9F")]
|
||||
private readonly byte mMsgType;
|
||||
|
||||
// Token: 0x04006EA0 RID: 28320
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EA0")]
|
||||
private readonly byte[] mBody;
|
||||
}
|
||||
|
||||
// Token: 0x02001B2B RID: 6955
|
||||
[Token(Token = "0x2001B2B")]
|
||||
internal class RecordLayerBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600AD19 RID: 44313 RVA: 0x0025ADBC File Offset: 0x00258FBC
|
||||
[Token(Token = "0x600AD19")]
|
||||
[Address(RVA = "0x18BD170", Offset = "0x18BBF70", VA = "0x1818BD170")]
|
||||
internal RecordLayerBuffer(int size)
|
||||
: base(size)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD1A RID: 44314 RVA: 0x0025ADD0 File Offset: 0x00258FD0
|
||||
[Token(Token = "0x600AD1A")]
|
||||
[Address(RVA = "0x18BD0B0", Offset = "0x18BBEB0", VA = "0x1818BD0B0")]
|
||||
internal void SendToRecordLayer(DtlsRecordLayer recordLayer)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02001B2C RID: 6956
|
||||
[Token(Token = "0x2001B2C")]
|
||||
internal class Retransmit : DtlsHandshakeRetransmit
|
||||
{
|
||||
// Token: 0x0600AD1B RID: 44315 RVA: 0x0025ADEC File Offset: 0x00258FEC
|
||||
[Token(Token = "0x600AD1B")]
|
||||
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
||||
internal Retransmit(DtlsReliableHandshake outer)
|
||||
{
|
||||
this.mOuter = outer;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD1C RID: 44316 RVA: 0x0025AE08 File Offset: 0x00259008
|
||||
[Token(Token = "0x600AD1C")]
|
||||
[Address(RVA = "0x18BE330", Offset = "0x18BD130", VA = "0x1818BE330", Slot = "4")]
|
||||
public void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len)
|
||||
{
|
||||
DtlsReliableHandshake dtlsReliableHandshake = this.mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x04006EA1 RID: 28321
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EA1")]
|
||||
private readonly DtlsReliableHandshake mOuter;
|
||||
}
|
||||
}
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B2D RID: 6957
|
||||
[Token(Token = "0x2001B2D")]
|
||||
internal class DtlsReplayWindow
|
||||
{
|
||||
// Token: 0x0600AD1D RID: 44317 RVA: 0x0025AE24 File Offset: 0x00259024
|
||||
[Token(Token = "0x600AD1D")]
|
||||
[Address(RVA = "0x18B8280", Offset = "0x18B7080", VA = "0x1818B8280")]
|
||||
internal bool ShouldDiscard(long seq)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD1D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReplayWindow::ShouldDiscard(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_09, ldfld:int64(DtlsReplayWindow::mLatestConfirmedSeq, ldloc:DtlsReplayWindow(this)))
|
||||
stloc:int64(var_0_0D, sub:int64(ldloc:int64(var_0_09), ldloc:int64(seq)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD1E RID: 44318 RVA: 0x0025AE40 File Offset: 0x00259040
|
||||
[Token(Token = "0x600AD1E")]
|
||||
[Address(RVA = "0x18B8170", Offset = "0x18B6F70", VA = "0x1818B8170")]
|
||||
internal void ReportAuthenticated(long seq)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD1E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReplayWindow::ReportAuthenticated(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_46:
|
||||
stloc:ArgumentException(var_4_55, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("out of range"), ldstr:string("seq")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD1F RID: 44319 RVA: 0x0025AEA4 File Offset: 0x002590A4
|
||||
[Token(Token = "0x600AD1F")]
|
||||
[Address(RVA = "0x18B8260", Offset = "0x18B7060", VA = "0x1818B8260")]
|
||||
internal void Reset()
|
||||
{
|
||||
this.mLatestConfirmedSeq = (long)((ulong)(-1L));
|
||||
this.mBitmap = (long)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD20 RID: 44320 RVA: 0x0025AEC4 File Offset: 0x002590C4
|
||||
[Token(Token = "0x600AD20")]
|
||||
[Address(RVA = "0x1494BA0", Offset = "0x14939A0", VA = "0x181494BA0")]
|
||||
public DtlsReplayWindow()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EA2 RID: 28322
|
||||
[Token(Token = "0x4006EA2")]
|
||||
private const long VALID_SEQ_MASK = 281474976710655L;
|
||||
|
||||
// Token: 0x04006EA3 RID: 28323
|
||||
[Token(Token = "0x4006EA3")]
|
||||
private const long WINDOW_SIZE = 64L;
|
||||
|
||||
// Token: 0x04006EA4 RID: 28324
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EA4")]
|
||||
private long mLatestConfirmedSeq = (long)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04006EA5 RID: 28325
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EA5")]
|
||||
private long mBitmap;
|
||||
}
|
||||
}
|
||||
+428
@@ -0,0 +1,428 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B2E RID: 6958
|
||||
[Token(Token = "0x2001B2E")]
|
||||
public class DtlsServerProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600AD21 RID: 44321 RVA: 0x0025AEE0 File Offset: 0x002590E0
|
||||
[Token(Token = "0x600AD21")]
|
||||
[Address(RVA = "0x18BA830", Offset = "0x18B9630", VA = "0x1818BA830")]
|
||||
public DtlsServerProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001B6D RID: 7021
|
||||
// (get) Token: 0x0600AD22 RID: 44322 RVA: 0x0025AEFC File Offset: 0x002590FC
|
||||
// (set) Token: 0x0600AD23 RID: 44323 RVA: 0x0025AF10 File Offset: 0x00259110
|
||||
[Token(Token = "0x17001B6D")]
|
||||
public virtual bool VerifyRequests
|
||||
{
|
||||
[Token(Token = "0x600AD22")]
|
||||
[Address(RVA = "0x42C2C0", Offset = "0x42B0C0", VA = "0x18042C2C0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mVerifyRequests;
|
||||
}
|
||||
[Token(Token = "0x600AD23")]
|
||||
[Address(RVA = "0x43DE90", Offset = "0x43CC90", VA = "0x18043DE90", Slot = "6")]
|
||||
set
|
||||
{
|
||||
this.mVerifyRequests = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD24 RID: 44324 RVA: 0x0025AF24 File Offset: 0x00259124
|
||||
[Token(Token = "0x600AD24")]
|
||||
[Address(RVA = "0x18B8320", Offset = "0x18B7120", VA = "0x1818B8320", Slot = "7")]
|
||||
public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD24)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::Accept(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsServer,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_71:
|
||||
stloc:ArgumentNullException(var_16_7B, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD25 RID: 44325 RVA: 0x0025AFB0 File Offset: 0x002591B0
|
||||
[Token(Token = "0x600AD25")]
|
||||
[Address(RVA = "0x18B82C0", Offset = "0x18B70C0", VA = "0x1818B82C0", Slot = "8")]
|
||||
internal virtual void AbortServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD26 RID: 44326 RVA: 0x0025AFCC File Offset: 0x002591CC
|
||||
[Token(Token = "0x600AD26")]
|
||||
[Address(RVA = "0x18B9D90", Offset = "0x18B8B90", VA = "0x1818B9D90", Slot = "9")]
|
||||
internal virtual DtlsTransport ServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD26)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ServerHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30F:
|
||||
stloc:TlsFatalAlert(var_66_316, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_67)))
|
||||
stloc:TlsFatalAlert(var_68_31F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_69)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD27 RID: 44327 RVA: 0x0025B2FC File Offset: 0x002594FC
|
||||
[Token(Token = "0x600AD27")]
|
||||
[Address(RVA = "0x18B8F60", Offset = "0x18B7D60", VA = "0x1818B8F60", Slot = "10")]
|
||||
protected virtual void InvalidateSession(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (sessionParameters != 0)
|
||||
{
|
||||
sessionParameters.Clear();
|
||||
state.sessionParameters = (ulong)0L;
|
||||
}
|
||||
if (state.tlsSession != 0)
|
||||
{
|
||||
state.tlsSession = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD28 RID: 44328 RVA: 0x0025B33C File Offset: 0x0025953C
|
||||
[Token(Token = "0x600AD28")]
|
||||
[Address(RVA = "0x18B86E0", Offset = "0x18B74E0", VA = "0x1818B86E0", Slot = "11")]
|
||||
protected virtual byte[] GenerateCertificateRequest(DtlsServerProtocol.ServerHandshakeState state, CertificateRequest certificateRequest)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
IList certificateAuthorities = certificateRequest.CertificateAuthorities;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD29 RID: 44329 RVA: 0x0025B364 File Offset: 0x00259564
|
||||
[Token(Token = "0x600AD29")]
|
||||
[Address(RVA = "0x18B8770", Offset = "0x18B7570", VA = "0x1818B8770", Slot = "12")]
|
||||
protected virtual byte[] GenerateCertificateStatus(DtlsServerProtocol.ServerHandshakeState state, CertificateStatus certificateStatus)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
OcspResponse ocspResponse = certificateStatus.GetOcspResponse();
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD2A RID: 44330 RVA: 0x0025B38C File Offset: 0x0025958C
|
||||
[Token(Token = "0x600AD2A")]
|
||||
[Address(RVA = "0x18B8800", Offset = "0x18B7600", VA = "0x1818B8800", Slot = "13")]
|
||||
protected virtual byte[] GenerateNewSessionTicket(DtlsServerProtocol.ServerHandshakeState state, NewSessionTicket newSessionTicket)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
byte[] ticket = newSessionTicket.Ticket;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD2B RID: 44331 RVA: 0x0025B3B4 File Offset: 0x002595B4
|
||||
[Token(Token = "0x600AD2B")]
|
||||
[Address(RVA = "0x18B8890", Offset = "0x18B7690", VA = "0x1818B8890", Slot = "14")]
|
||||
protected virtual byte[] GenerateServerHello(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD2B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::GenerateServerHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_220:
|
||||
stloc:TlsFatalAlert(var_38_227, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_39)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD2C RID: 44332 RVA: 0x0025B5EC File Offset: 0x002597EC
|
||||
[Token(Token = "0x600AD2C")]
|
||||
[Address(RVA = "0x18B8FD0", Offset = "0x18B7DD0", VA = "0x1818B8FD0", Slot = "15")]
|
||||
protected virtual void NotifyClientCertificate(DtlsServerProtocol.ServerHandshakeState state, Certificate clientCertificate)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD2C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::NotifyClientCertificate(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_50:
|
||||
stloc:InvalidOperationException(var_5_55, newobj:InvalidOperationException(InvalidOperationException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD2D RID: 44333 RVA: 0x0025B650 File Offset: 0x00259850
|
||||
[Token(Token = "0x600AD2D")]
|
||||
[Address(RVA = "0x18B95C0", Offset = "0x18B83C0", VA = "0x1818B95C0", Slot = "16")]
|
||||
protected virtual void ProcessClientCertificate(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
Certificate certificate = Certificate.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD2E RID: 44334 RVA: 0x0025B674 File Offset: 0x00259874
|
||||
[Token(Token = "0x600AD2E")]
|
||||
[Address(RVA = "0x18B9160", Offset = "0x18B7F60", VA = "0x1818B9160", Slot = "17")]
|
||||
protected virtual void ProcessCertificateVerify(DtlsServerProtocol.ServerHandshakeState state, byte[] body, TlsHandshakeHash prepareFinishHash)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD2E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessCertificateVerify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_106:
|
||||
stloc:InvalidOperationException(var_17_10B, newobj:InvalidOperationException(InvalidOperationException::.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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD2F RID: 44335 RVA: 0x0025B790 File Offset: 0x00259990
|
||||
[Token(Token = "0x600AD2F")]
|
||||
[Address(RVA = "0x18B9680", Offset = "0x18B8480", VA = "0x1818B9680", Slot = "18")]
|
||||
protected virtual void ProcessClientHello(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD2F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18F:
|
||||
stloc:TlsFatalAlert(var_35_196, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_36)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD30 RID: 44336 RVA: 0x0025B934 File Offset: 0x00259B34
|
||||
[Token(Token = "0x600AD30")]
|
||||
[Address(RVA = "0x18B9C50", Offset = "0x18B8A50", VA = "0x1818B9C50", Slot = "19")]
|
||||
protected virtual void ProcessClientKeyExchange(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD31 RID: 44337 RVA: 0x0025B960 File Offset: 0x00259B60
|
||||
[Token(Token = "0x600AD31")]
|
||||
[Address(RVA = "0x18B9CF0", Offset = "0x18B8AF0", VA = "0x1818B9CF0", Slot = "20")]
|
||||
protected virtual void ProcessClientSupplementalData(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream);
|
||||
TlsServer server = state.server;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD32 RID: 44338 RVA: 0x0025B98C File Offset: 0x00259B8C
|
||||
[Token(Token = "0x600AD32")]
|
||||
[Address(RVA = "0x18B8670", Offset = "0x18B7470", VA = "0x1818B8670", Slot = "21")]
|
||||
protected virtual bool ExpectCertificateVerifyMessage(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
short clientCertificateType = state.clientCertificateType;
|
||||
return TlsUtilities.HasSigningCapability((byte)clientCertificateType);
|
||||
}
|
||||
|
||||
// Token: 0x04006EA6 RID: 28326
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EA6")]
|
||||
protected bool mVerifyRequests = true;
|
||||
|
||||
// Token: 0x02001B2F RID: 6959
|
||||
[Token(Token = "0x2001B2F")]
|
||||
protected internal class ServerHandshakeState
|
||||
{
|
||||
// Token: 0x0600AD33 RID: 44339 RVA: 0x0025B9B0 File Offset: 0x00259BB0
|
||||
[Token(Token = "0x600AD33")]
|
||||
[Address(RVA = "0x18BE370", Offset = "0x18BD170", VA = "0x1818BE370")]
|
||||
public ServerHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EA7 RID: 28327
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EA7")]
|
||||
internal TlsServer server;
|
||||
|
||||
// Token: 0x04006EA8 RID: 28328
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EA8")]
|
||||
internal TlsServerContextImpl serverContext;
|
||||
|
||||
// Token: 0x04006EA9 RID: 28329
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006EA9")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x04006EAA RID: 28330
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006EAA")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04006EAB RID: 28331
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006EAB")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04006EAC RID: 28332
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006EAC")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x04006EAD RID: 28333
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006EAD")]
|
||||
internal byte[] offeredCompressionMethods;
|
||||
|
||||
// Token: 0x04006EAE RID: 28334
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006EAE")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x04006EAF RID: 28335
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006EAF")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x04006EB0 RID: 28336
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006EB0")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x04006EB1 RID: 28337
|
||||
[FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x4006EB1")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x04006EB2 RID: 28338
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x4006EB2")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x04006EB3 RID: 28339
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4006EB3")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x04006EB4 RID: 28340
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006EB4")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x04006EB5 RID: 28341
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006EB5")]
|
||||
internal TlsCredentials serverCredentials;
|
||||
|
||||
// Token: 0x04006EB6 RID: 28342
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006EB6")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x04006EB7 RID: 28343
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006EB7")]
|
||||
internal short clientCertificateType = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x04006EB8 RID: 28344
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006EB8")]
|
||||
internal Certificate clientCertificate;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B30 RID: 6960
|
||||
[Token(Token = "0x2001B30")]
|
||||
public class DtlsTransport : DatagramTransport
|
||||
{
|
||||
// Token: 0x0600AD34 RID: 44340 RVA: 0x0025B9CC File Offset: 0x00259BCC
|
||||
[Token(Token = "0x600AD34")]
|
||||
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
||||
internal DtlsTransport(DtlsRecordLayer recordLayer)
|
||||
{
|
||||
this.mRecordLayer = recordLayer;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD35 RID: 44341 RVA: 0x0025B9E8 File Offset: 0x00259BE8
|
||||
[Token(Token = "0x600AD35")]
|
||||
[Address(RVA = "0x5F5AF0", Offset = "0x5F48F0", VA = "0x1805F5AF0", Slot = "9")]
|
||||
public virtual int GetReceiveLimit()
|
||||
{
|
||||
return ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD36 RID: 44342 RVA: 0x0025BA08 File Offset: 0x00259C08
|
||||
[Token(Token = "0x600AD36")]
|
||||
[Address(RVA = "0x5F5B20", Offset = "0x5F4920", VA = "0x1805F5B20", Slot = "10")]
|
||||
public virtual int GetSendLimit()
|
||||
{
|
||||
return ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD37 RID: 44343 RVA: 0x0025BA28 File Offset: 0x00259C28
|
||||
[Token(Token = "0x600AD37")]
|
||||
[Address(RVA = "0x18BA840", Offset = "0x18B9640", VA = "0x1818BA840", Slot = "11")]
|
||||
public virtual int Receive(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
return this.mRecordLayer.GetSendLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD38 RID: 44344 RVA: 0x0025BA58 File Offset: 0x00259C58
|
||||
[Token(Token = "0x600AD38")]
|
||||
[Address(RVA = "0x18BA9C0", Offset = "0x18B97C0", VA = "0x1818BA9C0", Slot = "12")]
|
||||
public virtual void Send(byte[] buf, int off, int len)
|
||||
{
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD39 RID: 44345 RVA: 0x0025BA80 File Offset: 0x00259C80
|
||||
[Token(Token = "0x600AD39")]
|
||||
[Address(RVA = "0x5F5B80", Offset = "0x5F4980", VA = "0x1805F5B80", Slot = "13")]
|
||||
public virtual void Close()
|
||||
{
|
||||
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x04006EB9 RID: 28345
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EB9")]
|
||||
private readonly DtlsRecordLayer mRecordLayer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B31 RID: 6961
|
||||
[Token(Token = "0x2001B31")]
|
||||
public abstract class ECBasisType
|
||||
{
|
||||
// Token: 0x0600AD3A RID: 44346 RVA: 0x0025BAA0 File Offset: 0x00259CA0
|
||||
[Token(Token = "0x600AD3A")]
|
||||
[Address(RVA = "0x18BAB30", Offset = "0x18B9930", VA = "0x1818BAB30")]
|
||||
public static bool IsValid(byte ecBasisType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD3B RID: 44347 RVA: 0x0025BAB0 File Offset: 0x00259CB0
|
||||
[Token(Token = "0x600AD3B")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ECBasisType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EBA RID: 28346
|
||||
[Token(Token = "0x4006EBA")]
|
||||
public const byte ec_basis_trinomial = 1;
|
||||
|
||||
// Token: 0x04006EBB RID: 28347
|
||||
[Token(Token = "0x4006EBB")]
|
||||
public const byte ec_basis_pentanomial = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B32 RID: 6962
|
||||
[Token(Token = "0x2001B32")]
|
||||
public abstract class ECCurveType
|
||||
{
|
||||
// Token: 0x0600AD3C RID: 44348 RVA: 0x0025BAC4 File Offset: 0x00259CC4
|
||||
[Token(Token = "0x600AD3C")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ECCurveType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EBC RID: 28348
|
||||
[Token(Token = "0x4006EBC")]
|
||||
public const byte explicit_prime = 1;
|
||||
|
||||
// Token: 0x04006EBD RID: 28349
|
||||
[Token(Token = "0x4006EBD")]
|
||||
public const byte explicit_char2 = 2;
|
||||
|
||||
// Token: 0x04006EBE RID: 28350
|
||||
[Token(Token = "0x4006EBE")]
|
||||
public const byte named_curve = 3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B33 RID: 6963
|
||||
[Token(Token = "0x2001B33")]
|
||||
public abstract class ECPointFormat
|
||||
{
|
||||
// Token: 0x0600AD3D RID: 44349 RVA: 0x0025BAD8 File Offset: 0x00259CD8
|
||||
[Token(Token = "0x600AD3D")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ECPointFormat()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EBF RID: 28351
|
||||
[Token(Token = "0x4006EBF")]
|
||||
public const byte uncompressed = 0;
|
||||
|
||||
// Token: 0x04006EC0 RID: 28352
|
||||
[Token(Token = "0x4006EC0")]
|
||||
public const byte ansiX962_compressed_prime = 1;
|
||||
|
||||
// Token: 0x04006EC1 RID: 28353
|
||||
[Token(Token = "0x4006EC1")]
|
||||
public const byte ansiX962_compressed_char2 = 2;
|
||||
}
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B34 RID: 6964
|
||||
[Token(Token = "0x2001B34")]
|
||||
public abstract class EncryptionAlgorithm
|
||||
{
|
||||
// Token: 0x0600AD3E RID: 44350 RVA: 0x0025BAEC File Offset: 0x00259CEC
|
||||
[Token(Token = "0x600AD3E")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected EncryptionAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EC2 RID: 28354
|
||||
[Token(Token = "0x4006EC2")]
|
||||
public const int NULL = 0;
|
||||
|
||||
// Token: 0x04006EC3 RID: 28355
|
||||
[Token(Token = "0x4006EC3")]
|
||||
public const int RC4_40 = 1;
|
||||
|
||||
// Token: 0x04006EC4 RID: 28356
|
||||
[Token(Token = "0x4006EC4")]
|
||||
public const int RC4_128 = 2;
|
||||
|
||||
// Token: 0x04006EC5 RID: 28357
|
||||
[Token(Token = "0x4006EC5")]
|
||||
public const int RC2_CBC_40 = 3;
|
||||
|
||||
// Token: 0x04006EC6 RID: 28358
|
||||
[Token(Token = "0x4006EC6")]
|
||||
public const int IDEA_CBC = 4;
|
||||
|
||||
// Token: 0x04006EC7 RID: 28359
|
||||
[Token(Token = "0x4006EC7")]
|
||||
public const int DES40_CBC = 5;
|
||||
|
||||
// Token: 0x04006EC8 RID: 28360
|
||||
[Token(Token = "0x4006EC8")]
|
||||
public const int DES_CBC = 6;
|
||||
|
||||
// Token: 0x04006EC9 RID: 28361
|
||||
[Token(Token = "0x4006EC9")]
|
||||
public const int cls_3DES_EDE_CBC = 7;
|
||||
|
||||
// Token: 0x04006ECA RID: 28362
|
||||
[Token(Token = "0x4006ECA")]
|
||||
public const int AES_128_CBC = 8;
|
||||
|
||||
// Token: 0x04006ECB RID: 28363
|
||||
[Token(Token = "0x4006ECB")]
|
||||
public const int AES_256_CBC = 9;
|
||||
|
||||
// Token: 0x04006ECC RID: 28364
|
||||
[Token(Token = "0x4006ECC")]
|
||||
public const int AES_128_GCM = 10;
|
||||
|
||||
// Token: 0x04006ECD RID: 28365
|
||||
[Token(Token = "0x4006ECD")]
|
||||
public const int AES_256_GCM = 11;
|
||||
|
||||
// Token: 0x04006ECE RID: 28366
|
||||
[Token(Token = "0x4006ECE")]
|
||||
public const int CAMELLIA_128_CBC = 12;
|
||||
|
||||
// Token: 0x04006ECF RID: 28367
|
||||
[Token(Token = "0x4006ECF")]
|
||||
public const int CAMELLIA_256_CBC = 13;
|
||||
|
||||
// Token: 0x04006ED0 RID: 28368
|
||||
[Token(Token = "0x4006ED0")]
|
||||
public const int SEED_CBC = 14;
|
||||
|
||||
// Token: 0x04006ED1 RID: 28369
|
||||
[Token(Token = "0x4006ED1")]
|
||||
public const int AES_128_CCM = 15;
|
||||
|
||||
// Token: 0x04006ED2 RID: 28370
|
||||
[Token(Token = "0x4006ED2")]
|
||||
public const int AES_128_CCM_8 = 16;
|
||||
|
||||
// Token: 0x04006ED3 RID: 28371
|
||||
[Token(Token = "0x4006ED3")]
|
||||
public const int AES_256_CCM = 17;
|
||||
|
||||
// Token: 0x04006ED4 RID: 28372
|
||||
[Token(Token = "0x4006ED4")]
|
||||
public const int AES_256_CCM_8 = 18;
|
||||
|
||||
// Token: 0x04006ED5 RID: 28373
|
||||
[Token(Token = "0x4006ED5")]
|
||||
public const int CAMELLIA_128_GCM = 19;
|
||||
|
||||
// Token: 0x04006ED6 RID: 28374
|
||||
[Token(Token = "0x4006ED6")]
|
||||
public const int CAMELLIA_256_GCM = 20;
|
||||
|
||||
// Token: 0x04006ED7 RID: 28375
|
||||
[Token(Token = "0x4006ED7")]
|
||||
public const int CHACHA20_POLY1305 = 21;
|
||||
|
||||
// Token: 0x04006ED8 RID: 28376
|
||||
[Token(Token = "0x4006ED8")]
|
||||
public const int AES_128_OCB_TAGLEN96 = 103;
|
||||
|
||||
// Token: 0x04006ED9 RID: 28377
|
||||
[Token(Token = "0x4006ED9")]
|
||||
public const int AES_256_OCB_TAGLEN96 = 104;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B35 RID: 6965
|
||||
[Token(Token = "0x2001B35")]
|
||||
public abstract class ExporterLabel
|
||||
{
|
||||
// Token: 0x0600AD3F RID: 44351 RVA: 0x0025BB00 File Offset: 0x00259D00
|
||||
[Token(Token = "0x600AD3F")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ExporterLabel()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EDA RID: 28378
|
||||
[Token(Token = "0x4006EDA")]
|
||||
public const string client_finished = "client finished";
|
||||
|
||||
// Token: 0x04006EDB RID: 28379
|
||||
[Token(Token = "0x4006EDB")]
|
||||
public const string server_finished = "server finished";
|
||||
|
||||
// Token: 0x04006EDC RID: 28380
|
||||
[Token(Token = "0x4006EDC")]
|
||||
public const string master_secret = "master secret";
|
||||
|
||||
// Token: 0x04006EDD RID: 28381
|
||||
[Token(Token = "0x4006EDD")]
|
||||
public const string key_expansion = "key expansion";
|
||||
|
||||
// Token: 0x04006EDE RID: 28382
|
||||
[Token(Token = "0x4006EDE")]
|
||||
public const string client_EAP_encryption = "client EAP encryption";
|
||||
|
||||
// Token: 0x04006EDF RID: 28383
|
||||
[Token(Token = "0x4006EDF")]
|
||||
public const string ttls_keying_material = "ttls keying material";
|
||||
|
||||
// Token: 0x04006EE0 RID: 28384
|
||||
[Token(Token = "0x4006EE0")]
|
||||
public const string ttls_challenge = "ttls challenge";
|
||||
|
||||
// Token: 0x04006EE1 RID: 28385
|
||||
[Token(Token = "0x4006EE1")]
|
||||
public const string dtls_srtp = "EXTRACTOR-dtls_srtp";
|
||||
|
||||
// Token: 0x04006EE2 RID: 28386
|
||||
[Token(Token = "0x4006EE2")]
|
||||
public static readonly string extended_master_secret;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B36 RID: 6966
|
||||
[Token(Token = "0x2001B36")]
|
||||
public abstract class ExtensionType
|
||||
{
|
||||
// Token: 0x0600AD41 RID: 44353 RVA: 0x0025BB24 File Offset: 0x00259D24
|
||||
[Token(Token = "0x600AD41")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ExtensionType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EE3 RID: 28387
|
||||
[Token(Token = "0x4006EE3")]
|
||||
public const int server_name = 0;
|
||||
|
||||
// Token: 0x04006EE4 RID: 28388
|
||||
[Token(Token = "0x4006EE4")]
|
||||
public const int max_fragment_length = 1;
|
||||
|
||||
// Token: 0x04006EE5 RID: 28389
|
||||
[Token(Token = "0x4006EE5")]
|
||||
public const int client_certificate_url = 2;
|
||||
|
||||
// Token: 0x04006EE6 RID: 28390
|
||||
[Token(Token = "0x4006EE6")]
|
||||
public const int trusted_ca_keys = 3;
|
||||
|
||||
// Token: 0x04006EE7 RID: 28391
|
||||
[Token(Token = "0x4006EE7")]
|
||||
public const int truncated_hmac = 4;
|
||||
|
||||
// Token: 0x04006EE8 RID: 28392
|
||||
[Token(Token = "0x4006EE8")]
|
||||
public const int status_request = 5;
|
||||
|
||||
// Token: 0x04006EE9 RID: 28393
|
||||
[Token(Token = "0x4006EE9")]
|
||||
public const int user_mapping = 6;
|
||||
|
||||
// Token: 0x04006EEA RID: 28394
|
||||
[Token(Token = "0x4006EEA")]
|
||||
public const int client_authz = 7;
|
||||
|
||||
// Token: 0x04006EEB RID: 28395
|
||||
[Token(Token = "0x4006EEB")]
|
||||
public const int server_authz = 8;
|
||||
|
||||
// Token: 0x04006EEC RID: 28396
|
||||
[Token(Token = "0x4006EEC")]
|
||||
public const int cert_type = 9;
|
||||
|
||||
// Token: 0x04006EED RID: 28397
|
||||
[Token(Token = "0x4006EED")]
|
||||
public const int supported_groups = 10;
|
||||
|
||||
// Token: 0x04006EEE RID: 28398
|
||||
[Token(Token = "0x4006EEE")]
|
||||
[Obsolete]
|
||||
public const int elliptic_curves = 10;
|
||||
|
||||
// Token: 0x04006EEF RID: 28399
|
||||
[Token(Token = "0x4006EEF")]
|
||||
public const int ec_point_formats = 11;
|
||||
|
||||
// Token: 0x04006EF0 RID: 28400
|
||||
[Token(Token = "0x4006EF0")]
|
||||
public const int srp = 12;
|
||||
|
||||
// Token: 0x04006EF1 RID: 28401
|
||||
[Token(Token = "0x4006EF1")]
|
||||
public const int signature_algorithms = 13;
|
||||
|
||||
// Token: 0x04006EF2 RID: 28402
|
||||
[Token(Token = "0x4006EF2")]
|
||||
public const int use_srtp = 14;
|
||||
|
||||
// Token: 0x04006EF3 RID: 28403
|
||||
[Token(Token = "0x4006EF3")]
|
||||
public const int heartbeat = 15;
|
||||
|
||||
// Token: 0x04006EF4 RID: 28404
|
||||
[Token(Token = "0x4006EF4")]
|
||||
public const int application_layer_protocol_negotiation = 16;
|
||||
|
||||
// Token: 0x04006EF5 RID: 28405
|
||||
[Token(Token = "0x4006EF5")]
|
||||
public const int status_request_v2 = 17;
|
||||
|
||||
// Token: 0x04006EF6 RID: 28406
|
||||
[Token(Token = "0x4006EF6")]
|
||||
public const int signed_certificate_timestamp = 18;
|
||||
|
||||
// Token: 0x04006EF7 RID: 28407
|
||||
[Token(Token = "0x4006EF7")]
|
||||
public const int client_certificate_type = 19;
|
||||
|
||||
// Token: 0x04006EF8 RID: 28408
|
||||
[Token(Token = "0x4006EF8")]
|
||||
public const int server_certificate_type = 20;
|
||||
|
||||
// Token: 0x04006EF9 RID: 28409
|
||||
[Token(Token = "0x4006EF9")]
|
||||
public const int padding = 21;
|
||||
|
||||
// Token: 0x04006EFA RID: 28410
|
||||
[Token(Token = "0x4006EFA")]
|
||||
public const int encrypt_then_mac = 22;
|
||||
|
||||
// Token: 0x04006EFB RID: 28411
|
||||
[Token(Token = "0x4006EFB")]
|
||||
public const int extended_master_secret = 23;
|
||||
|
||||
// Token: 0x04006EFC RID: 28412
|
||||
[Token(Token = "0x4006EFC")]
|
||||
public static readonly int DRAFT_token_binding;
|
||||
|
||||
// Token: 0x04006EFD RID: 28413
|
||||
[Token(Token = "0x4006EFD")]
|
||||
public const int cached_info = 25;
|
||||
|
||||
// Token: 0x04006EFE RID: 28414
|
||||
[Token(Token = "0x4006EFE")]
|
||||
public const int session_ticket = 35;
|
||||
|
||||
// Token: 0x04006EFF RID: 28415
|
||||
[Token(Token = "0x4006EFF")]
|
||||
public static readonly int negotiated_ff_dhe_groups;
|
||||
|
||||
// Token: 0x04006F00 RID: 28416
|
||||
[Token(Token = "0x4006F00")]
|
||||
public const int renegotiation_info = 65281;
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B37 RID: 6967
|
||||
[Token(Token = "0x2001B37")]
|
||||
public abstract class FiniteFieldDheGroup
|
||||
{
|
||||
// Token: 0x0600AD43 RID: 44355 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD43")]
|
||||
[Address(RVA = "0x18BABD0", Offset = "0x18B99D0", VA = "0x1818BABD0")]
|
||||
public static bool IsValid(byte group)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AD44 RID: 44356 RVA: 0x0025BB48 File Offset: 0x00259D48
|
||||
[Token(Token = "0x600AD44")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected FiniteFieldDheGroup()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F01 RID: 28417
|
||||
[Token(Token = "0x4006F01")]
|
||||
public const byte ffdhe2432 = 0;
|
||||
|
||||
// Token: 0x04006F02 RID: 28418
|
||||
[Token(Token = "0x4006F02")]
|
||||
public const byte ffdhe3072 = 1;
|
||||
|
||||
// Token: 0x04006F03 RID: 28419
|
||||
[Token(Token = "0x4006F03")]
|
||||
public const byte ffdhe4096 = 2;
|
||||
|
||||
// Token: 0x04006F04 RID: 28420
|
||||
[Token(Token = "0x4006F04")]
|
||||
public const byte ffdhe6144 = 3;
|
||||
|
||||
// Token: 0x04006F05 RID: 28421
|
||||
[Token(Token = "0x4006F05")]
|
||||
public const byte ffdhe8192 = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B38 RID: 6968
|
||||
[Token(Token = "0x2001B38")]
|
||||
public abstract class HandshakeType
|
||||
{
|
||||
// Token: 0x0600AD45 RID: 44357 RVA: 0x0025BB5C File Offset: 0x00259D5C
|
||||
[Token(Token = "0x600AD45")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected HandshakeType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F06 RID: 28422
|
||||
[Token(Token = "0x4006F06")]
|
||||
public const byte hello_request = 0;
|
||||
|
||||
// Token: 0x04006F07 RID: 28423
|
||||
[Token(Token = "0x4006F07")]
|
||||
public const byte client_hello = 1;
|
||||
|
||||
// Token: 0x04006F08 RID: 28424
|
||||
[Token(Token = "0x4006F08")]
|
||||
public const byte server_hello = 2;
|
||||
|
||||
// Token: 0x04006F09 RID: 28425
|
||||
[Token(Token = "0x4006F09")]
|
||||
public const byte certificate = 11;
|
||||
|
||||
// Token: 0x04006F0A RID: 28426
|
||||
[Token(Token = "0x4006F0A")]
|
||||
public const byte server_key_exchange = 12;
|
||||
|
||||
// Token: 0x04006F0B RID: 28427
|
||||
[Token(Token = "0x4006F0B")]
|
||||
public const byte certificate_request = 13;
|
||||
|
||||
// Token: 0x04006F0C RID: 28428
|
||||
[Token(Token = "0x4006F0C")]
|
||||
public const byte server_hello_done = 14;
|
||||
|
||||
// Token: 0x04006F0D RID: 28429
|
||||
[Token(Token = "0x4006F0D")]
|
||||
public const byte certificate_verify = 15;
|
||||
|
||||
// Token: 0x04006F0E RID: 28430
|
||||
[Token(Token = "0x4006F0E")]
|
||||
public const byte client_key_exchange = 16;
|
||||
|
||||
// Token: 0x04006F0F RID: 28431
|
||||
[Token(Token = "0x4006F0F")]
|
||||
public const byte finished = 20;
|
||||
|
||||
// Token: 0x04006F10 RID: 28432
|
||||
[Token(Token = "0x4006F10")]
|
||||
public const byte certificate_url = 21;
|
||||
|
||||
// Token: 0x04006F11 RID: 28433
|
||||
[Token(Token = "0x4006F11")]
|
||||
public const byte certificate_status = 22;
|
||||
|
||||
// Token: 0x04006F12 RID: 28434
|
||||
[Token(Token = "0x4006F12")]
|
||||
public const byte hello_verify_request = 3;
|
||||
|
||||
// Token: 0x04006F13 RID: 28435
|
||||
[Token(Token = "0x4006F13")]
|
||||
public const byte supplemental_data = 23;
|
||||
|
||||
// Token: 0x04006F14 RID: 28436
|
||||
[Token(Token = "0x4006F14")]
|
||||
public const byte session_ticket = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B39 RID: 6969
|
||||
[Token(Token = "0x2001B39")]
|
||||
public abstract class HashAlgorithm
|
||||
{
|
||||
// Token: 0x0600AD46 RID: 44358 RVA: 0x0025BB70 File Offset: 0x00259D70
|
||||
[Token(Token = "0x600AD46")]
|
||||
[Address(RVA = "0x18BABE0", Offset = "0x18B99E0", VA = "0x1818BABE0")]
|
||||
public static string GetName(byte hashAlgorithm)
|
||||
{
|
||||
return "none";
|
||||
}
|
||||
|
||||
// Token: 0x0600AD47 RID: 44359 RVA: 0x0025BBAC File Offset: 0x00259DAC
|
||||
[Token(Token = "0x600AD47")]
|
||||
[Address(RVA = "0x18BACB0", Offset = "0x18B9AB0", VA = "0x1818BACB0")]
|
||||
public static string GetText(byte hashAlgorithm)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("UNKNOWN" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "UNKNOWN";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD48 RID: 44360 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD48")]
|
||||
[Address(RVA = "0x18BAF20", Offset = "0x18B9D20", VA = "0x1818BAF20")]
|
||||
public static bool IsPrivate(byte hashAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AD49 RID: 44361 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD49")]
|
||||
[Address(RVA = "0x18BAF30", Offset = "0x18B9D30", VA = "0x1818BAF30")]
|
||||
public static bool IsRecognized(byte hashAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AD4A RID: 44362 RVA: 0x0025BC1C File Offset: 0x00259E1C
|
||||
[Token(Token = "0x600AD4A")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected HashAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F15 RID: 28437
|
||||
[Token(Token = "0x4006F15")]
|
||||
public const byte none = 0;
|
||||
|
||||
// Token: 0x04006F16 RID: 28438
|
||||
[Token(Token = "0x4006F16")]
|
||||
public const byte md5 = 1;
|
||||
|
||||
// Token: 0x04006F17 RID: 28439
|
||||
[Token(Token = "0x4006F17")]
|
||||
public const byte sha1 = 2;
|
||||
|
||||
// Token: 0x04006F18 RID: 28440
|
||||
[Token(Token = "0x4006F18")]
|
||||
public const byte sha224 = 3;
|
||||
|
||||
// Token: 0x04006F19 RID: 28441
|
||||
[Token(Token = "0x4006F19")]
|
||||
public const byte sha256 = 4;
|
||||
|
||||
// Token: 0x04006F1A RID: 28442
|
||||
[Token(Token = "0x4006F1A")]
|
||||
public const byte sha384 = 5;
|
||||
|
||||
// Token: 0x04006F1B RID: 28443
|
||||
[Token(Token = "0x4006F1B")]
|
||||
public const byte sha512 = 6;
|
||||
}
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B3A RID: 6970
|
||||
[Token(Token = "0x2001B3A")]
|
||||
public class HeartbeatExtension
|
||||
{
|
||||
// Token: 0x0600AD4B RID: 44363 RVA: 0x0025BC30 File Offset: 0x00259E30
|
||||
[Token(Token = "0x600AD4B")]
|
||||
[Address(RVA = "0x18BB0D0", Offset = "0x18B9ED0", VA = "0x1818BB0D0")]
|
||||
public HeartbeatExtension(byte mode)
|
||||
{
|
||||
this.mMode = mode;
|
||||
}
|
||||
|
||||
// Token: 0x17001B6E RID: 7022
|
||||
// (get) Token: 0x0600AD4C RID: 44364 RVA: 0x0025BC5C File Offset: 0x00259E5C
|
||||
[Token(Token = "0x17001B6E")]
|
||||
public virtual byte Mode
|
||||
{
|
||||
[Token(Token = "0x600AD4C")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mMode;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD4D RID: 44365 RVA: 0x0025BC70 File Offset: 0x00259E70
|
||||
[Token(Token = "0x600AD4D")]
|
||||
[Address(RVA = "0x18BAF40", Offset = "0x18B9D40", VA = "0x1818BAF40", Slot = "5")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mMode, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD4E RID: 44366 RVA: 0x0025BC8C File Offset: 0x00259E8C
|
||||
[Token(Token = "0x600AD4E")]
|
||||
[Address(RVA = "0x18BAFB0", Offset = "0x18B9DB0", VA = "0x1818BAFB0")]
|
||||
public static HeartbeatExtension Parse(Stream input)
|
||||
{
|
||||
byte b = TlsUtilities.ReadUint8(input);
|
||||
HeartbeatExtension heartbeatExtension;
|
||||
heartbeatExtension.mMode = b;
|
||||
return heartbeatExtension;
|
||||
}
|
||||
|
||||
// Token: 0x04006F1C RID: 28444
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F1C")]
|
||||
protected readonly byte mMode;
|
||||
}
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B3B RID: 6971
|
||||
[Token(Token = "0x2001B3B")]
|
||||
public class HeartbeatMessage
|
||||
{
|
||||
// Token: 0x0600AD4F RID: 44367 RVA: 0x0025BCB8 File Offset: 0x00259EB8
|
||||
[Token(Token = "0x600AD4F")]
|
||||
[Address(RVA = "0x18BB5D0", Offset = "0x18BA3D0", VA = "0x1818BB5D0")]
|
||||
public HeartbeatMessage(byte type, byte[] payload, int paddingLength)
|
||||
{
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
}
|
||||
while (payload == 0 || payload.Length >= 65536);
|
||||
this.mType = type;
|
||||
this.mPaddingLength = paddingLength;
|
||||
this.mPayload = payload;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD50 RID: 44368 RVA: 0x0025BD04 File Offset: 0x00259F04
|
||||
[Token(Token = "0x600AD50")]
|
||||
[Address(RVA = "0x18BB160", Offset = "0x18B9F60", VA = "0x1818BB160", Slot = "4")]
|
||||
public virtual void Encode(TlsContext context, Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mType, output);
|
||||
TlsUtilities.CheckUint16(this.mPayload.Length);
|
||||
TlsUtilities.WriteUint16(this.mPayload.Length, output);
|
||||
byte[] array = this.mPayload;
|
||||
int num = output.ReadByte();
|
||||
byte[] array2 = new byte[this.mPaddingLength];
|
||||
int num2 = output.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD51 RID: 44369 RVA: 0x0025BD68 File Offset: 0x00259F68
|
||||
[Token(Token = "0x600AD51")]
|
||||
[Address(RVA = "0x18BB2C0", Offset = "0x18BA0C0", VA = "0x1818BB2C0")]
|
||||
public static HeartbeatMessage Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD51)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.HeartbeatMessage BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.HeartbeatMessage::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_69:
|
||||
stloc:TlsFatalAlert(var_7_70, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_8)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006F1D RID: 28445
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F1D")]
|
||||
protected readonly byte mType;
|
||||
|
||||
// Token: 0x04006F1E RID: 28446
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F1E")]
|
||||
protected readonly byte[] mPayload;
|
||||
|
||||
// Token: 0x04006F1F RID: 28447
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006F1F")]
|
||||
protected readonly int mPaddingLength;
|
||||
|
||||
// Token: 0x02001B3C RID: 6972
|
||||
[Token(Token = "0x2001B3C")]
|
||||
internal class PayloadBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600AD52 RID: 44370 RVA: 0x0025BDE8 File Offset: 0x00259FE8
|
||||
[Token(Token = "0x600AD52")]
|
||||
[Address(RVA = "0x18BBFA0", Offset = "0x18BADA0", VA = "0x1818BBFA0")]
|
||||
internal byte[] ToTruncatedByteArray(int payloadLength)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD53 RID: 44371 RVA: 0x0025BE00 File Offset: 0x0025A000
|
||||
[Token(Token = "0x600AD53")]
|
||||
[Address(RVA = "0x18911A0", Offset = "0x188FFA0", VA = "0x1818911A0")]
|
||||
public PayloadBuffer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B3D RID: 6973
|
||||
[Token(Token = "0x2001B3D")]
|
||||
public abstract class HeartbeatMessageType
|
||||
{
|
||||
// Token: 0x0600AD54 RID: 44372 RVA: 0x0025BE14 File Offset: 0x0025A014
|
||||
[Token(Token = "0x600AD54")]
|
||||
[Address(RVA = "0x18BAB30", Offset = "0x18B9930", VA = "0x1818BAB30")]
|
||||
public static bool IsValid(byte heartbeatMessageType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD55 RID: 44373 RVA: 0x0025BE24 File Offset: 0x0025A024
|
||||
[Token(Token = "0x600AD55")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected HeartbeatMessageType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F20 RID: 28448
|
||||
[Token(Token = "0x4006F20")]
|
||||
public const byte heartbeat_request = 1;
|
||||
|
||||
// Token: 0x04006F21 RID: 28449
|
||||
[Token(Token = "0x4006F21")]
|
||||
public const byte heartbeat_response = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B3E RID: 6974
|
||||
[Token(Token = "0x2001B3E")]
|
||||
public abstract class HeartbeatMode
|
||||
{
|
||||
// Token: 0x0600AD56 RID: 44374 RVA: 0x0025BE38 File Offset: 0x0025A038
|
||||
[Token(Token = "0x600AD56")]
|
||||
[Address(RVA = "0x18BAB30", Offset = "0x18B9930", VA = "0x1818BAB30")]
|
||||
public static bool IsValid(byte heartbeatMode)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD57 RID: 44375 RVA: 0x0025BE48 File Offset: 0x0025A048
|
||||
[Token(Token = "0x600AD57")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected HeartbeatMode()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F22 RID: 28450
|
||||
[Token(Token = "0x4006F22")]
|
||||
public const byte peer_allowed_to_send = 1;
|
||||
|
||||
// Token: 0x04006F23 RID: 28451
|
||||
[Token(Token = "0x4006F23")]
|
||||
public const byte peer_not_allowed_to_send = 2;
|
||||
}
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B3F RID: 6975
|
||||
[Token(Token = "0x2001B3F")]
|
||||
public abstract class KeyExchangeAlgorithm
|
||||
{
|
||||
// Token: 0x0600AD58 RID: 44376 RVA: 0x0025BE5C File Offset: 0x0025A05C
|
||||
[Token(Token = "0x600AD58")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected KeyExchangeAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F24 RID: 28452
|
||||
[Token(Token = "0x4006F24")]
|
||||
public const int NULL = 0;
|
||||
|
||||
// Token: 0x04006F25 RID: 28453
|
||||
[Token(Token = "0x4006F25")]
|
||||
public const int RSA = 1;
|
||||
|
||||
// Token: 0x04006F26 RID: 28454
|
||||
[Token(Token = "0x4006F26")]
|
||||
public const int RSA_EXPORT = 2;
|
||||
|
||||
// Token: 0x04006F27 RID: 28455
|
||||
[Token(Token = "0x4006F27")]
|
||||
public const int DHE_DSS = 3;
|
||||
|
||||
// Token: 0x04006F28 RID: 28456
|
||||
[Token(Token = "0x4006F28")]
|
||||
public const int DHE_DSS_EXPORT = 4;
|
||||
|
||||
// Token: 0x04006F29 RID: 28457
|
||||
[Token(Token = "0x4006F29")]
|
||||
public const int DHE_RSA = 5;
|
||||
|
||||
// Token: 0x04006F2A RID: 28458
|
||||
[Token(Token = "0x4006F2A")]
|
||||
public const int DHE_RSA_EXPORT = 6;
|
||||
|
||||
// Token: 0x04006F2B RID: 28459
|
||||
[Token(Token = "0x4006F2B")]
|
||||
public const int DH_DSS = 7;
|
||||
|
||||
// Token: 0x04006F2C RID: 28460
|
||||
[Token(Token = "0x4006F2C")]
|
||||
public const int DH_DSS_EXPORT = 8;
|
||||
|
||||
// Token: 0x04006F2D RID: 28461
|
||||
[Token(Token = "0x4006F2D")]
|
||||
public const int DH_RSA = 9;
|
||||
|
||||
// Token: 0x04006F2E RID: 28462
|
||||
[Token(Token = "0x4006F2E")]
|
||||
public const int DH_RSA_EXPORT = 10;
|
||||
|
||||
// Token: 0x04006F2F RID: 28463
|
||||
[Token(Token = "0x4006F2F")]
|
||||
public const int DH_anon = 11;
|
||||
|
||||
// Token: 0x04006F30 RID: 28464
|
||||
[Token(Token = "0x4006F30")]
|
||||
public const int DH_anon_EXPORT = 12;
|
||||
|
||||
// Token: 0x04006F31 RID: 28465
|
||||
[Token(Token = "0x4006F31")]
|
||||
public const int PSK = 13;
|
||||
|
||||
// Token: 0x04006F32 RID: 28466
|
||||
[Token(Token = "0x4006F32")]
|
||||
public const int DHE_PSK = 14;
|
||||
|
||||
// Token: 0x04006F33 RID: 28467
|
||||
[Token(Token = "0x4006F33")]
|
||||
public const int RSA_PSK = 15;
|
||||
|
||||
// Token: 0x04006F34 RID: 28468
|
||||
[Token(Token = "0x4006F34")]
|
||||
public const int ECDH_ECDSA = 16;
|
||||
|
||||
// Token: 0x04006F35 RID: 28469
|
||||
[Token(Token = "0x4006F35")]
|
||||
public const int ECDHE_ECDSA = 17;
|
||||
|
||||
// Token: 0x04006F36 RID: 28470
|
||||
[Token(Token = "0x4006F36")]
|
||||
public const int ECDH_RSA = 18;
|
||||
|
||||
// Token: 0x04006F37 RID: 28471
|
||||
[Token(Token = "0x4006F37")]
|
||||
public const int ECDHE_RSA = 19;
|
||||
|
||||
// Token: 0x04006F38 RID: 28472
|
||||
[Token(Token = "0x4006F38")]
|
||||
public const int ECDH_anon = 20;
|
||||
|
||||
// Token: 0x04006F39 RID: 28473
|
||||
[Token(Token = "0x4006F39")]
|
||||
public const int SRP = 21;
|
||||
|
||||
// Token: 0x04006F3A RID: 28474
|
||||
[Token(Token = "0x4006F3A")]
|
||||
public const int SRP_DSS = 22;
|
||||
|
||||
// Token: 0x04006F3B RID: 28475
|
||||
[Token(Token = "0x4006F3B")]
|
||||
public const int SRP_RSA = 23;
|
||||
|
||||
// Token: 0x04006F3C RID: 28476
|
||||
[Token(Token = "0x4006F3C")]
|
||||
public const int ECDHE_PSK = 24;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B40 RID: 6976
|
||||
[Token(Token = "0x2001B40")]
|
||||
public abstract class MacAlgorithm
|
||||
{
|
||||
// Token: 0x0600AD59 RID: 44377 RVA: 0x0025BE70 File Offset: 0x0025A070
|
||||
[Token(Token = "0x600AD59")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected MacAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F3D RID: 28477
|
||||
[Token(Token = "0x4006F3D")]
|
||||
public const int cls_null = 0;
|
||||
|
||||
// Token: 0x04006F3E RID: 28478
|
||||
[Token(Token = "0x4006F3E")]
|
||||
public const int md5 = 1;
|
||||
|
||||
// Token: 0x04006F3F RID: 28479
|
||||
[Token(Token = "0x4006F3F")]
|
||||
public const int sha = 2;
|
||||
|
||||
// Token: 0x04006F40 RID: 28480
|
||||
[Token(Token = "0x4006F40")]
|
||||
public const int hmac_md5 = 1;
|
||||
|
||||
// Token: 0x04006F41 RID: 28481
|
||||
[Token(Token = "0x4006F41")]
|
||||
public const int hmac_sha1 = 2;
|
||||
|
||||
// Token: 0x04006F42 RID: 28482
|
||||
[Token(Token = "0x4006F42")]
|
||||
public const int hmac_sha256 = 3;
|
||||
|
||||
// Token: 0x04006F43 RID: 28483
|
||||
[Token(Token = "0x4006F43")]
|
||||
public const int hmac_sha384 = 4;
|
||||
|
||||
// Token: 0x04006F44 RID: 28484
|
||||
[Token(Token = "0x4006F44")]
|
||||
public const int hmac_sha512 = 5;
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B41 RID: 6977
|
||||
[Token(Token = "0x2001B41")]
|
||||
public abstract class MaxFragmentLength
|
||||
{
|
||||
// Token: 0x0600AD5A RID: 44378 RVA: 0x0025BE84 File Offset: 0x0025A084
|
||||
[Token(Token = "0x600AD5A")]
|
||||
[Address(RVA = "0x18BB850", Offset = "0x18BA650", VA = "0x1818BB850")]
|
||||
public static bool IsValid(byte maxFragmentLength)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AD5B RID: 44379 RVA: 0x0025BE94 File Offset: 0x0025A094
|
||||
[Token(Token = "0x600AD5B")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected MaxFragmentLength()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F45 RID: 28485
|
||||
[Token(Token = "0x4006F45")]
|
||||
public const byte pow2_9 = 1;
|
||||
|
||||
// Token: 0x04006F46 RID: 28486
|
||||
[Token(Token = "0x4006F46")]
|
||||
public const byte pow2_10 = 2;
|
||||
|
||||
// Token: 0x04006F47 RID: 28487
|
||||
[Token(Token = "0x4006F47")]
|
||||
public const byte pow2_11 = 3;
|
||||
|
||||
// Token: 0x04006F48 RID: 28488
|
||||
[Token(Token = "0x4006F48")]
|
||||
public const byte pow2_12 = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B42 RID: 6978
|
||||
[Token(Token = "0x2001B42")]
|
||||
public abstract class NameType
|
||||
{
|
||||
// Token: 0x0600AD5C RID: 44380 RVA: 0x0025BEA8 File Offset: 0x0025A0A8
|
||||
[Token(Token = "0x600AD5C")]
|
||||
[Address(RVA = "0x18BB8B0", Offset = "0x18BA6B0", VA = "0x1818BB8B0")]
|
||||
public static bool IsValid(byte nameType)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD5D RID: 44381 RVA: 0x0025BEB8 File Offset: 0x0025A0B8
|
||||
[Token(Token = "0x600AD5D")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected NameType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F49 RID: 28489
|
||||
[Token(Token = "0x4006F49")]
|
||||
public const byte host_name = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B43 RID: 6979
|
||||
[Token(Token = "0x2001B43")]
|
||||
public abstract class NamedCurve
|
||||
{
|
||||
// Token: 0x0600AD5E RID: 44382 RVA: 0x0025BECC File Offset: 0x0025A0CC
|
||||
[Token(Token = "0x600AD5E")]
|
||||
[Address(RVA = "0x18BB8C0", Offset = "0x18BA6C0", VA = "0x1818BB8C0")]
|
||||
public static bool IsValid(int namedCurve)
|
||||
{
|
||||
if (namedCurve - 1 <= 27)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (namedCurve < 65281)
|
||||
{
|
||||
}
|
||||
return namedCurve <= 65282;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD5F RID: 44383 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD5F")]
|
||||
[Address(RVA = "0x18BB8E0", Offset = "0x18BA6E0", VA = "0x1818BB8E0")]
|
||||
public static bool RefersToASpecificNamedCurve(int namedCurve)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AD60 RID: 44384 RVA: 0x0025BEF8 File Offset: 0x0025A0F8
|
||||
[Token(Token = "0x600AD60")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected NamedCurve()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F4A RID: 28490
|
||||
[Token(Token = "0x4006F4A")]
|
||||
public const int sect163k1 = 1;
|
||||
|
||||
// Token: 0x04006F4B RID: 28491
|
||||
[Token(Token = "0x4006F4B")]
|
||||
public const int sect163r1 = 2;
|
||||
|
||||
// Token: 0x04006F4C RID: 28492
|
||||
[Token(Token = "0x4006F4C")]
|
||||
public const int sect163r2 = 3;
|
||||
|
||||
// Token: 0x04006F4D RID: 28493
|
||||
[Token(Token = "0x4006F4D")]
|
||||
public const int sect193r1 = 4;
|
||||
|
||||
// Token: 0x04006F4E RID: 28494
|
||||
[Token(Token = "0x4006F4E")]
|
||||
public const int sect193r2 = 5;
|
||||
|
||||
// Token: 0x04006F4F RID: 28495
|
||||
[Token(Token = "0x4006F4F")]
|
||||
public const int sect233k1 = 6;
|
||||
|
||||
// Token: 0x04006F50 RID: 28496
|
||||
[Token(Token = "0x4006F50")]
|
||||
public const int sect233r1 = 7;
|
||||
|
||||
// Token: 0x04006F51 RID: 28497
|
||||
[Token(Token = "0x4006F51")]
|
||||
public const int sect239k1 = 8;
|
||||
|
||||
// Token: 0x04006F52 RID: 28498
|
||||
[Token(Token = "0x4006F52")]
|
||||
public const int sect283k1 = 9;
|
||||
|
||||
// Token: 0x04006F53 RID: 28499
|
||||
[Token(Token = "0x4006F53")]
|
||||
public const int sect283r1 = 10;
|
||||
|
||||
// Token: 0x04006F54 RID: 28500
|
||||
[Token(Token = "0x4006F54")]
|
||||
public const int sect409k1 = 11;
|
||||
|
||||
// Token: 0x04006F55 RID: 28501
|
||||
[Token(Token = "0x4006F55")]
|
||||
public const int sect409r1 = 12;
|
||||
|
||||
// Token: 0x04006F56 RID: 28502
|
||||
[Token(Token = "0x4006F56")]
|
||||
public const int sect571k1 = 13;
|
||||
|
||||
// Token: 0x04006F57 RID: 28503
|
||||
[Token(Token = "0x4006F57")]
|
||||
public const int sect571r1 = 14;
|
||||
|
||||
// Token: 0x04006F58 RID: 28504
|
||||
[Token(Token = "0x4006F58")]
|
||||
public const int secp160k1 = 15;
|
||||
|
||||
// Token: 0x04006F59 RID: 28505
|
||||
[Token(Token = "0x4006F59")]
|
||||
public const int secp160r1 = 16;
|
||||
|
||||
// Token: 0x04006F5A RID: 28506
|
||||
[Token(Token = "0x4006F5A")]
|
||||
public const int secp160r2 = 17;
|
||||
|
||||
// Token: 0x04006F5B RID: 28507
|
||||
[Token(Token = "0x4006F5B")]
|
||||
public const int secp192k1 = 18;
|
||||
|
||||
// Token: 0x04006F5C RID: 28508
|
||||
[Token(Token = "0x4006F5C")]
|
||||
public const int secp192r1 = 19;
|
||||
|
||||
// Token: 0x04006F5D RID: 28509
|
||||
[Token(Token = "0x4006F5D")]
|
||||
public const int secp224k1 = 20;
|
||||
|
||||
// Token: 0x04006F5E RID: 28510
|
||||
[Token(Token = "0x4006F5E")]
|
||||
public const int secp224r1 = 21;
|
||||
|
||||
// Token: 0x04006F5F RID: 28511
|
||||
[Token(Token = "0x4006F5F")]
|
||||
public const int secp256k1 = 22;
|
||||
|
||||
// Token: 0x04006F60 RID: 28512
|
||||
[Token(Token = "0x4006F60")]
|
||||
public const int secp256r1 = 23;
|
||||
|
||||
// Token: 0x04006F61 RID: 28513
|
||||
[Token(Token = "0x4006F61")]
|
||||
public const int secp384r1 = 24;
|
||||
|
||||
// Token: 0x04006F62 RID: 28514
|
||||
[Token(Token = "0x4006F62")]
|
||||
public const int secp521r1 = 25;
|
||||
|
||||
// Token: 0x04006F63 RID: 28515
|
||||
[Token(Token = "0x4006F63")]
|
||||
public const int brainpoolP256r1 = 26;
|
||||
|
||||
// Token: 0x04006F64 RID: 28516
|
||||
[Token(Token = "0x4006F64")]
|
||||
public const int brainpoolP384r1 = 27;
|
||||
|
||||
// Token: 0x04006F65 RID: 28517
|
||||
[Token(Token = "0x4006F65")]
|
||||
public const int brainpoolP512r1 = 28;
|
||||
|
||||
// Token: 0x04006F66 RID: 28518
|
||||
[Token(Token = "0x4006F66")]
|
||||
public const int arbitrary_explicit_prime_curves = 65281;
|
||||
|
||||
// Token: 0x04006F67 RID: 28519
|
||||
[Token(Token = "0x4006F67")]
|
||||
public const int arbitrary_explicit_char2_curves = 65282;
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B44 RID: 6980
|
||||
[Token(Token = "0x2001B44")]
|
||||
public class NewSessionTicket
|
||||
{
|
||||
// Token: 0x0600AD61 RID: 44385 RVA: 0x0025BF0C File Offset: 0x0025A10C
|
||||
[Token(Token = "0x600AD61")]
|
||||
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
|
||||
public NewSessionTicket(long ticketLifetimeHint, byte[] ticket)
|
||||
{
|
||||
this.mTicketLifetimeHint = ticketLifetimeHint;
|
||||
this.mTicket = ticket;
|
||||
}
|
||||
|
||||
// Token: 0x17001B6F RID: 7023
|
||||
// (get) Token: 0x0600AD62 RID: 44386 RVA: 0x0025BF30 File Offset: 0x0025A130
|
||||
[Token(Token = "0x17001B6F")]
|
||||
public virtual long TicketLifetimeHint
|
||||
{
|
||||
[Token(Token = "0x600AD62")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mTicketLifetimeHint;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B70 RID: 7024
|
||||
// (get) Token: 0x0600AD63 RID: 44387 RVA: 0x0025BF44 File Offset: 0x0025A144
|
||||
[Token(Token = "0x17001B70")]
|
||||
public virtual byte[] Ticket
|
||||
{
|
||||
[Token(Token = "0x600AD63")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mTicket;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD64 RID: 44388 RVA: 0x0025BF58 File Offset: 0x0025A158
|
||||
[Token(Token = "0x600AD64")]
|
||||
[Address(RVA = "0x18BB8F0", Offset = "0x18BA6F0", VA = "0x1818BB8F0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint32(this.mTicketLifetimeHint, output);
|
||||
TlsUtilities.WriteOpaque16(this.mTicket, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD65 RID: 44389 RVA: 0x0025BF80 File Offset: 0x0025A180
|
||||
[Token(Token = "0x600AD65")]
|
||||
[Address(RVA = "0x18BB970", Offset = "0x18BA770", VA = "0x1818BB970")]
|
||||
public static NewSessionTicket Parse(Stream input)
|
||||
{
|
||||
long num = TlsUtilities.ReadUint32(input);
|
||||
byte[] array = TlsUtilities.ReadOpaque16(input);
|
||||
NewSessionTicket newSessionTicket;
|
||||
newSessionTicket.mTicketLifetimeHint = num;
|
||||
newSessionTicket.mTicket = array;
|
||||
return newSessionTicket;
|
||||
}
|
||||
|
||||
// Token: 0x04006F68 RID: 28520
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F68")]
|
||||
protected readonly long mTicketLifetimeHint;
|
||||
|
||||
// Token: 0x04006F69 RID: 28521
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F69")]
|
||||
protected readonly byte[] mTicket;
|
||||
}
|
||||
}
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B45 RID: 6981
|
||||
[Token(Token = "0x2001B45")]
|
||||
public class OcspStatusRequest
|
||||
{
|
||||
// Token: 0x0600AD66 RID: 44390 RVA: 0x0025BFAC File Offset: 0x0025A1AC
|
||||
[Token(Token = "0x600AD66")]
|
||||
[Address(RVA = "0x4089A0", Offset = "0x4077A0", VA = "0x1804089A0")]
|
||||
public OcspStatusRequest(IList responderIDList, X509Extensions requestExtensions)
|
||||
{
|
||||
this.mResponderIDList = responderIDList;
|
||||
this.mRequestExtensions = requestExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x17001B71 RID: 7025
|
||||
// (get) Token: 0x0600AD67 RID: 44391 RVA: 0x0025BFD0 File Offset: 0x0025A1D0
|
||||
[Token(Token = "0x17001B71")]
|
||||
public virtual IList ResponderIDList
|
||||
{
|
||||
[Token(Token = "0x600AD67")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mResponderIDList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B72 RID: 7026
|
||||
// (get) Token: 0x0600AD68 RID: 44392 RVA: 0x0025BFE4 File Offset: 0x0025A1E4
|
||||
[Token(Token = "0x17001B72")]
|
||||
public virtual X509Extensions RequestExtensions
|
||||
{
|
||||
[Token(Token = "0x600AD68")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mRequestExtensions;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD69 RID: 44393 RVA: 0x0025BFF8 File Offset: 0x0025A1F8
|
||||
[Token(Token = "0x600AD69")]
|
||||
[Address(RVA = "0x18BBA10", Offset = "0x18BA810", VA = "0x1818BBA10", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
if (this.mResponderIDList != 0)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
IList list = this.mResponderIDList;
|
||||
int num = 0;
|
||||
if (num < memoryStream)
|
||||
{
|
||||
IList list2 = this.mResponderIDList;
|
||||
byte[] array;
|
||||
TlsUtilities.WriteOpaque16(array, memoryStream);
|
||||
IList list3 = this.mResponderIDList;
|
||||
num++;
|
||||
}
|
||||
TlsUtilities.CheckUint16(memoryStream.CanWrite ? 1L : 0L);
|
||||
TlsUtilities.WriteUint16(memoryStream.CanWrite ? 1 : 0, output);
|
||||
Streams.WriteBufTo(memoryStream, output);
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
X509Extensions x509Extensions = this.mRequestExtensions;
|
||||
if (x509Extensions != 0)
|
||||
{
|
||||
byte[] encoded = x509Extensions.GetEncoded("DER");
|
||||
TlsUtilities.CheckUint16(encoded.Length);
|
||||
TlsUtilities.WriteUint16(encoded.Length, output);
|
||||
int num2 = output.ReadByte();
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD6A RID: 44394 RVA: 0x0025C0AC File Offset: 0x0025A2AC
|
||||
[Token(Token = "0x600AD6A")]
|
||||
[Address(RVA = "0x18BBCD0", Offset = "0x18BAAD0", VA = "0x1818BBCD0")]
|
||||
public static OcspStatusRequest Parse(Stream input)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
int num = TlsUtilities.ReadUint16(input);
|
||||
int num2 = 0;
|
||||
if (num > 0)
|
||||
{
|
||||
int num3;
|
||||
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadFully(num, input), num3 != 0);
|
||||
num3 = 0;
|
||||
ResponderID instance = ResponderID.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
|
||||
if (num2 < num3)
|
||||
{
|
||||
num2 += num2;
|
||||
num2++;
|
||||
}
|
||||
long length = memoryStream.Length;
|
||||
}
|
||||
int num4 = TlsUtilities.ReadUint16(input);
|
||||
num = num4;
|
||||
X509Extensions instance2;
|
||||
if (num4 > 0)
|
||||
{
|
||||
instance2 = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadFully(num, input)));
|
||||
}
|
||||
OcspStatusRequest ocspStatusRequest;
|
||||
ocspStatusRequest.mResponderIDList = list;
|
||||
ocspStatusRequest.mRequestExtensions = instance2;
|
||||
return ocspStatusRequest;
|
||||
}
|
||||
|
||||
// Token: 0x04006F6A RID: 28522
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F6A")]
|
||||
protected readonly IList mResponderIDList;
|
||||
|
||||
// Token: 0x04006F6B RID: 28523
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F6B")]
|
||||
protected readonly X509Extensions mRequestExtensions;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B46 RID: 6982
|
||||
[Token(Token = "0x2001B46")]
|
||||
public abstract class PrfAlgorithm
|
||||
{
|
||||
// Token: 0x0600AD6B RID: 44395 RVA: 0x0025C150 File Offset: 0x0025A350
|
||||
[Token(Token = "0x600AD6B")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected PrfAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F6C RID: 28524
|
||||
[Token(Token = "0x4006F6C")]
|
||||
public const int tls_prf_legacy = 0;
|
||||
|
||||
// Token: 0x04006F6D RID: 28525
|
||||
[Token(Token = "0x4006F6D")]
|
||||
public const int tls_prf_sha256 = 1;
|
||||
|
||||
// Token: 0x04006F6E RID: 28526
|
||||
[Token(Token = "0x4006F6E")]
|
||||
public const int tls_prf_sha384 = 2;
|
||||
}
|
||||
}
|
||||
+312
@@ -0,0 +1,312 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B47 RID: 6983
|
||||
[Token(Token = "0x2001B47")]
|
||||
public sealed class ProtocolVersion
|
||||
{
|
||||
// Token: 0x0600AD6C RID: 44396 RVA: 0x0025C164 File Offset: 0x0025A364
|
||||
[Token(Token = "0x600AD6C")]
|
||||
[Address(RVA = "0x18BC830", Offset = "0x18BB630", VA = "0x1818BC830")]
|
||||
private ProtocolVersion(int v, string name)
|
||||
{
|
||||
this.name = name;
|
||||
this.version = v;
|
||||
}
|
||||
|
||||
// Token: 0x17001B73 RID: 7027
|
||||
// (get) Token: 0x0600AD6D RID: 44397 RVA: 0x0025C188 File Offset: 0x0025A388
|
||||
[Token(Token = "0x17001B73")]
|
||||
public int FullVersion
|
||||
{
|
||||
[Token(Token = "0x600AD6D")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B74 RID: 7028
|
||||
// (get) Token: 0x0600AD6E RID: 44398 RVA: 0x0025C19C File Offset: 0x0025A39C
|
||||
[Token(Token = "0x17001B74")]
|
||||
public int MajorVersion
|
||||
{
|
||||
[Token(Token = "0x600AD6E")]
|
||||
[Address(RVA = "0x18BC910", Offset = "0x18BB710", VA = "0x1818BC910")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B75 RID: 7029
|
||||
// (get) Token: 0x0600AD6F RID: 44399 RVA: 0x0025C1B0 File Offset: 0x0025A3B0
|
||||
[Token(Token = "0x17001B75")]
|
||||
public int MinorVersion
|
||||
{
|
||||
[Token(Token = "0x600AD6F")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B76 RID: 7030
|
||||
// (get) Token: 0x0600AD70 RID: 44400 RVA: 0x0025C1C4 File Offset: 0x0025A3C4
|
||||
[Token(Token = "0x17001B76")]
|
||||
public bool IsDtls
|
||||
{
|
||||
[Token(Token = "0x600AD70")]
|
||||
[Address(RVA = "0x18BC870", Offset = "0x18BB670", VA = "0x1818BC870")]
|
||||
get
|
||||
{
|
||||
return this.version == 65024;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B77 RID: 7031
|
||||
// (get) Token: 0x0600AD71 RID: 44401 RVA: 0x0025C1E0 File Offset: 0x0025A3E0
|
||||
[Token(Token = "0x17001B77")]
|
||||
public bool IsSsl
|
||||
{
|
||||
[Token(Token = "0x600AD71")]
|
||||
[Address(RVA = "0x18BC890", Offset = "0x18BB690", VA = "0x1818BC890")]
|
||||
get
|
||||
{
|
||||
return this == "{il2cpp field on {'constant10' (constant value of type Cpp2IL.Core.Analysis.ResultModels.StaticFieldsPtr)}, offset 0x0}";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B78 RID: 7032
|
||||
// (get) Token: 0x0600AD72 RID: 44402 RVA: 0x0025C1F8 File Offset: 0x0025A3F8
|
||||
[Token(Token = "0x17001B78")]
|
||||
public bool IsTls
|
||||
{
|
||||
[Token(Token = "0x600AD72")]
|
||||
[Address(RVA = "0x18BC8F0", Offset = "0x18BB6F0", VA = "0x1818BC8F0")]
|
||||
get
|
||||
{
|
||||
return this.version == 768;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD73 RID: 44403 RVA: 0x0025C214 File Offset: 0x0025A414
|
||||
[Token(Token = "0x600AD73")]
|
||||
[Address(RVA = "0x18BC100", Offset = "0x18BAF00", VA = "0x1818BC100")]
|
||||
public ProtocolVersion GetEquivalentTLSVersion()
|
||||
{
|
||||
if (this.version == 65024)
|
||||
{
|
||||
return ProtocolVersion.TLSv12;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD74 RID: 44404 RVA: 0x0025C23C File Offset: 0x0025A43C
|
||||
[Token(Token = "0x600AD74")]
|
||||
[Address(RVA = "0x18BC5D0", Offset = "0x18BB3D0", VA = "0x1818BC5D0")]
|
||||
public bool IsEqualOrEarlierVersionOf(ProtocolVersion version)
|
||||
{
|
||||
int num = version.version;
|
||||
int num2 = this.version;
|
||||
if (num2 == num)
|
||||
{
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 -= num;
|
||||
if (num2 == 254)
|
||||
{
|
||||
return num2 <= 0;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD75 RID: 44405 RVA: 0x0025C27C File Offset: 0x0025A47C
|
||||
[Token(Token = "0x600AD75")]
|
||||
[Address(RVA = "0x18BC630", Offset = "0x18BB430", VA = "0x1818BC630")]
|
||||
public bool IsLaterVersionOf(ProtocolVersion version)
|
||||
{
|
||||
int num = version.version;
|
||||
int num2 = this.version;
|
||||
if (num2 == num)
|
||||
{
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 -= num;
|
||||
if (num2 == 254)
|
||||
{
|
||||
return num2 > 0;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD76 RID: 44406 RVA: 0x0025C2BC File Offset: 0x0025A4BC
|
||||
[Token(Token = "0x600AD76")]
|
||||
[Address(RVA = "0x18BC060", Offset = "0x18BAE60", VA = "0x1818BC060", Slot = "0")]
|
||||
public override bool Equals(object other)
|
||||
{
|
||||
while (this != other)
|
||||
{
|
||||
if (other != 0 && other != 0)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
return this.TLSv11 == other;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD77 RID: 44407 RVA: 0x0025C2E8 File Offset: 0x0025A4E8
|
||||
[Token(Token = "0x600AD77")]
|
||||
[Address(RVA = "0x18BC040", Offset = "0x18BAE40", VA = "0x1818BC040")]
|
||||
public bool Equals(ProtocolVersion other)
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
int num = other.version;
|
||||
return this.TLSv11 == num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD78 RID: 44408 RVA: 0x0025C30C File Offset: 0x0025A50C
|
||||
[Token(Token = "0x600AD78")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD79 RID: 44409 RVA: 0x0025C320 File Offset: 0x0025A520
|
||||
[Token(Token = "0x600AD79")]
|
||||
[Address(RVA = "0x18BC300", Offset = "0x18BB100", VA = "0x1818BC300")]
|
||||
public static ProtocolVersion Get(int major, int minor)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD79)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion::Get(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5A:
|
||||
stloc:TlsFatalAlert(var_1_60, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_2)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7A RID: 44410 RVA: 0x0025C390 File Offset: 0x0025A590
|
||||
[Token(Token = "0x600AD7A")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
return this.name;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7B RID: 44411 RVA: 0x0025C3A4 File Offset: 0x0025A5A4
|
||||
[Token(Token = "0x600AD7B")]
|
||||
[Address(RVA = "0x18BC1D0", Offset = "0x18BAFD0", VA = "0x1818BC1D0")]
|
||||
private static ProtocolVersion GetUnknownVersion(int major, int minor, string prefix)
|
||||
{
|
||||
TlsUtilities.CheckUint8(major);
|
||||
TlsUtilities.CheckUint8(major);
|
||||
string text = Platform.ToUpperInvariant(Convert.ToString(major, 16).Substring(1));
|
||||
int num = 0;
|
||||
string text2 = prefix + " 0x" + text;
|
||||
int num2 = 0;
|
||||
ProtocolVersion protocolVersion;
|
||||
protocolVersion.FieldGetter(num2, text, num);
|
||||
protocolVersion.version = major;
|
||||
protocolVersion.name = text2;
|
||||
return protocolVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7C RID: 44412 RVA: 0x0025C404 File Offset: 0x0025A604
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600AD7C")]
|
||||
[Address(RVA = "0x18BC690", Offset = "0x18BB490", VA = "0x1818BC690")]
|
||||
static ProtocolVersion()
|
||||
{
|
||||
ProtocolVersion protocolVersion;
|
||||
protocolVersion.version = (int)((ulong)768L);
|
||||
protocolVersion.name = "SSL 3.0";
|
||||
ProtocolVersion.SSLv3 = protocolVersion;
|
||||
ProtocolVersion protocolVersion2;
|
||||
protocolVersion2.version = (int)((ulong)769L);
|
||||
protocolVersion2.name = "TLS 1.0";
|
||||
ProtocolVersion.TLSv10 = protocolVersion2;
|
||||
ProtocolVersion protocolVersion3;
|
||||
protocolVersion3.version = (int)((ulong)770L);
|
||||
protocolVersion3.name = "TLS 1.1";
|
||||
ProtocolVersion.TLSv11 = protocolVersion3;
|
||||
ProtocolVersion protocolVersion4;
|
||||
protocolVersion4.version = (int)((ulong)771L);
|
||||
protocolVersion4.name = "TLS 1.2";
|
||||
ProtocolVersion.TLSv12 = protocolVersion4;
|
||||
ProtocolVersion protocolVersion5;
|
||||
protocolVersion5.version = (int)((ulong)65279L);
|
||||
protocolVersion5.name = "DTLS 1.0";
|
||||
ProtocolVersion.DTLSv10 = protocolVersion5;
|
||||
ProtocolVersion protocolVersion6;
|
||||
protocolVersion6.name = "DTLS 1.2";
|
||||
protocolVersion6.version = (int)((ulong)65277L);
|
||||
ProtocolVersion.DTLSv12 = protocolVersion6;
|
||||
}
|
||||
|
||||
// Token: 0x04006F6F RID: 28527
|
||||
[Token(Token = "0x4006F6F")]
|
||||
public static readonly ProtocolVersion SSLv3;
|
||||
|
||||
// Token: 0x04006F70 RID: 28528
|
||||
[Token(Token = "0x4006F70")]
|
||||
public static readonly ProtocolVersion TLSv10;
|
||||
|
||||
// Token: 0x04006F71 RID: 28529
|
||||
[Token(Token = "0x4006F71")]
|
||||
public static readonly ProtocolVersion TLSv11;
|
||||
|
||||
// Token: 0x04006F72 RID: 28530
|
||||
[Token(Token = "0x4006F72")]
|
||||
public static readonly ProtocolVersion TLSv12;
|
||||
|
||||
// Token: 0x04006F73 RID: 28531
|
||||
[Token(Token = "0x4006F73")]
|
||||
public static readonly ProtocolVersion DTLSv10;
|
||||
|
||||
// Token: 0x04006F74 RID: 28532
|
||||
[Token(Token = "0x4006F74")]
|
||||
public static readonly ProtocolVersion DTLSv12;
|
||||
|
||||
// Token: 0x04006F75 RID: 28533
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F75")]
|
||||
private readonly int version;
|
||||
|
||||
// Token: 0x04006F76 RID: 28534
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F76")]
|
||||
private readonly string name;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B48 RID: 6984
|
||||
[Token(Token = "0x2001B48")]
|
||||
public class PskTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600AD7D RID: 44413 RVA: 0x0025C4CC File Offset: 0x0025A6CC
|
||||
[Token(Token = "0x600AD7D")]
|
||||
[Address(RVA = "0x18BCB60", Offset = "0x18BB960", VA = "0x1818BCB60")]
|
||||
public PskTlsClient(TlsPskIdentity pskIdentity)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mPskIdentity = pskIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7E RID: 44414 RVA: 0x0025C4FC File Offset: 0x0025A6FC
|
||||
[Token(Token = "0x600AD7E")]
|
||||
[Address(RVA = "0x18BCC10", Offset = "0x18BBA10", VA = "0x1818BCC10")]
|
||||
public PskTlsClient(TlsCipherFactory cipherFactory, TlsPskIdentity pskIdentity)
|
||||
{
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(cipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mPskIdentity = pskIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD7F RID: 44415 RVA: 0x0025C524 File Offset: 0x0025A724
|
||||
[Token(Token = "0x600AD7F")]
|
||||
[Address(RVA = "0x18BCC90", Offset = "0x18BBA90", VA = "0x1818BCC90")]
|
||||
public PskTlsClient(TlsCipherFactory cipherFactory, TlsDHVerifier dhVerifier, TlsPskIdentity pskIdentity)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mPskIdentity = pskIdentity;
|
||||
this.mDHVerifier = dhVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD80 RID: 44416 RVA: 0x0025C548 File Offset: 0x0025A748
|
||||
[Token(Token = "0x600AD80")]
|
||||
[Address(RVA = "0x18BCA30", Offset = "0x18BB830", VA = "0x1818BCA30", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[2];
|
||||
array[0] = (int)((ulong)49207L);
|
||||
array[0] = (int)((ulong)49205L);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD81 RID: 44417 RVA: 0x0025C580 File Offset: 0x0025A780
|
||||
[Token(Token = "0x600AD81")]
|
||||
[Address(RVA = "0x18BCAB0", Offset = "0x18BB8B0", VA = "0x1818BCAB0", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD81)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:int32[](var_2_1D, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD82 RID: 44418 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD82")]
|
||||
[Address(RVA = "0x18BC9E0", Offset = "0x18BB7E0", VA = "0x1818BC9E0", Slot = "58")]
|
||||
public override TlsAuthentication GetAuthentication()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AD83 RID: 44419 RVA: 0x0025C5AC File Offset: 0x0025A7AC
|
||||
[Token(Token = "0x600AD83")]
|
||||
[Address(RVA = "0x18BC920", Offset = "0x18BB720", VA = "0x1818BC920", Slot = "61")]
|
||||
protected virtual TlsKeyExchange CreatePskKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD83)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsClient::CreatePskKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsPskIdentity(var_1_0D, ldfld:TlsPskIdentity(PskTlsClient::mPskIdentity, ldloc:PskTlsClient(this)))
|
||||
stloc:TlsDHVerifier(var_2_14, ldfld:TlsDHVerifier(PskTlsClient::mDHVerifier, ldloc:PskTlsClient(this)))
|
||||
stloc:int32[](var_3_1B, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_4_22, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_5_2A, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsPskKeyExchange(var_6_3E, newobj:TlsPskKeyExchange(TlsPskKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsPskIdentity(var_1_0D), ldloc:int32[exp:TlsPskIdentityManager](var_7), ldloc:TlsDHVerifier(var_2_14), ldloc:int32[exp:DHParameters](var_7), ldloc:int32[](var_3_1B), ldloc:uint8[](var_4_22), ldloc:uint8[](var_5_2A)))
|
||||
stloc:int32(var_7, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006F77 RID: 28535
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006F77")]
|
||||
protected TlsDHVerifier mDHVerifier;
|
||||
|
||||
// Token: 0x04006F78 RID: 28536
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006F78")]
|
||||
protected TlsPskIdentity mPskIdentity;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B49 RID: 6985
|
||||
[Token(Token = "0x2001B49")]
|
||||
public class PskTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x0600AD84 RID: 44420 RVA: 0x0025C5FC File Offset: 0x0025A7FC
|
||||
[Token(Token = "0x600AD84")]
|
||||
[Address(RVA = "0x18BD010", Offset = "0x18BBE10", VA = "0x1818BD010")]
|
||||
public PskTlsServer(TlsPskIdentityManager pskIdentityManager)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mPskIdentityManager = pskIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD85 RID: 44421 RVA: 0x0025C620 File Offset: 0x0025A820
|
||||
[Token(Token = "0x600AD85")]
|
||||
[Address(RVA = "0x18BD080", Offset = "0x18BBE80", VA = "0x1818BD080")]
|
||||
public PskTlsServer(TlsCipherFactory cipherFactory, TlsPskIdentityManager pskIdentityManager)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mPskIdentityManager = pskIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD86 RID: 44422 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AD86")]
|
||||
[Address(RVA = "0x18BCFC0", Offset = "0x18BBDC0", VA = "0x1818BCFC0", Slot = "63")]
|
||||
protected virtual TlsEncryptionCredentials GetRsaEncryptionCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AD87 RID: 44423 RVA: 0x0025C63C File Offset: 0x0025A83C
|
||||
[Token(Token = "0x600AD87")]
|
||||
[Address(RVA = "0x18BCEB0", Offset = "0x18BBCB0", VA = "0x1818BCEB0", Slot = "64")]
|
||||
protected virtual DHParameters GetDHParameters()
|
||||
{
|
||||
return DHStandardGroups.rfc7919_ffdhe2048;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD88 RID: 44424 RVA: 0x0025C650 File Offset: 0x0025A850
|
||||
[Token(Token = "0x600AD88")]
|
||||
[Address(RVA = "0x18BCDA0", Offset = "0x18BBBA0", VA = "0x1818BCDA0", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[4];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.00A4ED0900CBF010B3628AA473D0D1477DB67FFF).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD89 RID: 44425 RVA: 0x0025C670 File Offset: 0x0025A870
|
||||
[Token(Token = "0x600AD89")]
|
||||
[Address(RVA = "0x18BCDF0", Offset = "0x18BBBF0", VA = "0x1818BCDF0", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int mSelectedCipherSuite = this.mSelectedCipherSuite;
|
||||
int keyExchangeAlgorithm = TlsUtilities.GetKeyExchangeAlgorithm(mSelectedCipherSuite);
|
||||
if (mSelectedCipherSuite <= 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (keyExchangeAlgorithm == 15)
|
||||
{
|
||||
TlsCompression compression = base.GetCompression();
|
||||
}
|
||||
if (keyExchangeAlgorithm == 24)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8A RID: 44426 RVA: 0x0025C6A4 File Offset: 0x0025A8A4
|
||||
[Token(Token = "0x600AD8A")]
|
||||
[Address(RVA = "0x18BCF10", Offset = "0x18BBD10", VA = "0x1818BCF10", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD8A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:TlsCompression(var_2_1D, call:TlsCompression(AbstractTlsPeer::GetCompression, ldloc:PskTlsServer[exp:AbstractTlsPeer](this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8B RID: 44427 RVA: 0x0025C6D0 File Offset: 0x0025A8D0
|
||||
[Token(Token = "0x600AD8B")]
|
||||
[Address(RVA = "0x18BCCD0", Offset = "0x18BBAD0", VA = "0x1818BCCD0", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreatePskKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD8B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsServer::CreatePskKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsPskIdentityManager(var_0_06, ldfld:TlsPskIdentityManager(PskTlsServer::mPskIdentityManager, ldloc:PskTlsServer(this)))
|
||||
stloc:TlsEncryptionCredentials(var_1_0D, callvirt:TlsEncryptionCredentials(PskTlsServer::GetRsaEncryptionCredentials, ldloc:PskTlsServer(this)))
|
||||
stloc:int32[](var_2_14, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_4_22, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006F79 RID: 28537
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4006F79")]
|
||||
protected TlsPskIdentityManager mPskIdentityManager;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,592 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.Extensions;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B4A RID: 6986
|
||||
[Token(Token = "0x2001B4A")]
|
||||
internal sealed class RecordStream
|
||||
{
|
||||
// Token: 0x0600AD8C RID: 44428 RVA: 0x0025C704 File Offset: 0x0025A904
|
||||
[Token(Token = "0x600AD8C")]
|
||||
[Address(RVA = "0x18BE210", Offset = "0x18BD010", VA = "0x1818BE210")]
|
||||
internal RecordStream(TlsProtocol handler, Stream input, Stream output)
|
||||
{
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mReadSeqNo = sequenceNumber;
|
||||
RecordStream.SequenceNumber sequenceNumber2 = new RecordStream.SequenceNumber();
|
||||
this.mWriteSeqNo = sequenceNumber2;
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
this.mBuffer = memoryStream;
|
||||
this.mRestrictReadVersion = true;
|
||||
base..ctor();
|
||||
this.mHandler = handler;
|
||||
this.mInput = input;
|
||||
this.mOutput = output;
|
||||
TlsNullCompression tlsNullCompression = new TlsNullCompression();
|
||||
this.mReadCompression = tlsNullCompression;
|
||||
this.mWriteCompression = tlsNullCompression;
|
||||
RecordStream.HandshakeHashUpdateStream handshakeHashUpdateStream = new RecordStream.HandshakeHashUpdateStream(this);
|
||||
this.mHandshakeHashUpdater = handshakeHashUpdateStream;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8D RID: 44429 RVA: 0x0025C780 File Offset: 0x0025A980
|
||||
[Token(Token = "0x600AD8D")]
|
||||
[Address(RVA = "0x18BD850", Offset = "0x18BC650", VA = "0x1818BD850")]
|
||||
internal void Init(TlsContext context)
|
||||
{
|
||||
TlsNullCipher tlsNullCipher = new TlsNullCipher(context);
|
||||
this.mReadCipher = tlsNullCipher;
|
||||
this.mWriteCipher = tlsNullCipher;
|
||||
DeferredHash deferredHash = new DeferredHash();
|
||||
this.mHandshakeHash = deferredHash;
|
||||
this.mPlaintextLimit = (int)((ulong)16384L);
|
||||
this.mCompressedLimit = (int)((ulong)17408L);
|
||||
this.mCiphertextLimit = (int)((ulong)18432L);
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8E RID: 44430 RVA: 0x0025C7DC File Offset: 0x0025A9DC
|
||||
[Token(Token = "0x600AD8E")]
|
||||
[Address(RVA = "0xA338F0", Offset = "0xA326F0", VA = "0x180A338F0")]
|
||||
internal int GetPlaintextLimit()
|
||||
{
|
||||
return this.mPlaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD8F RID: 44431 RVA: 0x0025C7F0 File Offset: 0x0025A9F0
|
||||
[Token(Token = "0x600AD8F")]
|
||||
[Address(RVA = "0x18BDE60", Offset = "0x18BCC60", VA = "0x1818BDE60")]
|
||||
internal void SetPlaintextLimit(int plaintextLimit)
|
||||
{
|
||||
this.mPlaintextLimit = plaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x17001B79 RID: 7033
|
||||
// (get) Token: 0x0600AD90 RID: 44432 RVA: 0x0025C804 File Offset: 0x0025AA04
|
||||
// (set) Token: 0x0600AD91 RID: 44433 RVA: 0x0025C818 File Offset: 0x0025AA18
|
||||
[Token(Token = "0x17001B79")]
|
||||
internal ProtocolVersion ReadVersion
|
||||
{
|
||||
[Token(Token = "0x600AD90")]
|
||||
[Address(RVA = "0x567CE0", Offset = "0x566AE0", VA = "0x180567CE0")]
|
||||
get
|
||||
{
|
||||
return this.mReadVersion;
|
||||
}
|
||||
[Token(Token = "0x600AD91")]
|
||||
[Address(RVA = "0x567D20", Offset = "0x566B20", VA = "0x180567D20")]
|
||||
set
|
||||
{
|
||||
this.mReadVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD92 RID: 44434 RVA: 0x0025C82C File Offset: 0x0025AA2C
|
||||
[Token(Token = "0x600AD92")]
|
||||
[Address(RVA = "0x567D10", Offset = "0x566B10", VA = "0x180567D10")]
|
||||
internal void SetWriteVersion(ProtocolVersion writeVersion)
|
||||
{
|
||||
this.mWriteVersion = writeVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD93 RID: 44435 RVA: 0x0025C840 File Offset: 0x0025AA40
|
||||
[Token(Token = "0x600AD93")]
|
||||
[Address(RVA = "0x7A52E0", Offset = "0x7A40E0", VA = "0x1807A52E0")]
|
||||
internal void SetRestrictReadVersion(bool enabled)
|
||||
{
|
||||
this.mRestrictReadVersion = enabled;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD94 RID: 44436 RVA: 0x0025C854 File Offset: 0x0025AA54
|
||||
[Token(Token = "0x600AD94")]
|
||||
[Address(RVA = "0x18BDE50", Offset = "0x18BCC50", VA = "0x1818BDE50")]
|
||||
internal void SetPendingConnectionState(TlsCompression tlsCompression, TlsCipher tlsCipher)
|
||||
{
|
||||
this.mPendingCompression = tlsCompression;
|
||||
this.mPendingCipher = tlsCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD95 RID: 44437 RVA: 0x0025C870 File Offset: 0x0025AA70
|
||||
[Token(Token = "0x600AD95")]
|
||||
[Address(RVA = "0x18BDDB0", Offset = "0x18BCBB0", VA = "0x1818BDDB0")]
|
||||
internal void SentWriteCipherSpec()
|
||||
{
|
||||
TlsCompression tlsCompression;
|
||||
TlsCipher tlsCipher;
|
||||
for (;;)
|
||||
{
|
||||
tlsCompression = this.mPendingCompression;
|
||||
if (tlsCompression != 0)
|
||||
{
|
||||
tlsCipher = this.mPendingCipher;
|
||||
if (tlsCipher != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mWriteCompression = tlsCompression;
|
||||
this.mWriteCipher = tlsCipher;
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mWriteSeqNo = sequenceNumber;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD96 RID: 44438 RVA: 0x0025C8B0 File Offset: 0x0025AAB0
|
||||
[Token(Token = "0x600AD96")]
|
||||
[Address(RVA = "0x18BDC50", Offset = "0x18BCA50", VA = "0x1818BDC50")]
|
||||
internal void ReceivedReadCipherSpec()
|
||||
{
|
||||
TlsCompression tlsCompression;
|
||||
TlsCipher tlsCipher;
|
||||
for (;;)
|
||||
{
|
||||
tlsCompression = this.mPendingCompression;
|
||||
if (tlsCompression != 0)
|
||||
{
|
||||
tlsCipher = this.mPendingCipher;
|
||||
if (tlsCipher != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mReadCompression = tlsCompression;
|
||||
this.mReadCipher = tlsCipher;
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mReadSeqNo = sequenceNumber;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD97 RID: 44439 RVA: 0x0025C8F0 File Offset: 0x0025AAF0
|
||||
[Token(Token = "0x600AD97")]
|
||||
[Address(RVA = "0x18BD740", Offset = "0x18BC540", VA = "0x1818BD740")]
|
||||
internal void FinaliseHandshake()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
TlsCompression tlsCompression = this.mPendingCompression;
|
||||
if (this.mReadCompression == tlsCompression && this.mWriteCompression == tlsCompression)
|
||||
{
|
||||
TlsCipher tlsCipher = this.mPendingCipher;
|
||||
if (this.mReadCipher == tlsCipher && this.mWriteCipher == tlsCipher)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
this.mPendingCompression = num;
|
||||
this.mPendingCipher = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD98 RID: 44440 RVA: 0x0025C940 File Offset: 0x0025AB40
|
||||
[Token(Token = "0x600AD98")]
|
||||
[Address(RVA = "0x18BD200", Offset = "0x18BC000", VA = "0x1818BD200")]
|
||||
internal void CheckRecordHeader(byte[] recordHeader)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD98)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::CheckRecordHeader(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_58:
|
||||
stloc:TlsFatalAlert(var_7_5F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_8)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD99 RID: 44441 RVA: 0x0025C9B0 File Offset: 0x0025ABB0
|
||||
[Token(Token = "0x600AD99")]
|
||||
[Address(RVA = "0x18BD9C0", Offset = "0x18BC7C0", VA = "0x1818BD9C0")]
|
||||
internal bool ReadRecord()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD99)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::ReadRecord()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_C5:
|
||||
stloc:TlsFatalAlert(var_20_CC, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_21)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AD9A RID: 44442 RVA: 0x0025CA8C File Offset: 0x0025AC8C
|
||||
[Token(Token = "0x600AD9A")]
|
||||
[Address(RVA = "0x18BD4B0", Offset = "0x18BC2B0", VA = "0x1818BD4B0")]
|
||||
internal byte[] DecodeAndVerify(byte type, Stream input, int len)
|
||||
{
|
||||
byte[] array = TlsUtilities.ReadFully(len, input);
|
||||
RecordStream.SequenceNumber sequenceNumber = this.mReadSeqNo;
|
||||
TlsCipher tlsCipher = this.mReadCipher;
|
||||
int length = array.Length;
|
||||
int num = this.mCompressedLimit;
|
||||
TlsCompression tlsCompression = this.mReadCompression;
|
||||
long num2;
|
||||
if (num2 != this.mBuffer)
|
||||
{
|
||||
MemoryStream memoryStream = this.mBuffer;
|
||||
MemoryStream memoryStream2 = this.mBuffer;
|
||||
}
|
||||
int num3 = this.mPlaintextLimit;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AD9B RID: 44443 RVA: 0x0025CAF0 File Offset: 0x0025ACF0
|
||||
[Token(Token = "0x600AD9B")]
|
||||
[Address(RVA = "0x18BDE80", Offset = "0x18BCC80", VA = "0x1818BDE80")]
|
||||
internal void WriteRecord(byte type, byte[] plaintext, int plaintextOffset, int plaintextLength)
|
||||
{
|
||||
if (this.mWriteVersion != (ulong)0L)
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
TlsCompression tlsCompression = this.mWriteCompression;
|
||||
ulong num3;
|
||||
long num2 = this.mWriteSeqNo.NextValue((byte)num3);
|
||||
if (type != this.mBuffer)
|
||||
{
|
||||
int num4 = 0;
|
||||
byte[] bufferContents = this.GetBufferContents();
|
||||
ulong num5;
|
||||
RecordStream.CheckLength(bufferContents.Length, num4, (byte)num5);
|
||||
TlsCipher tlsCipher = this.mWriteCipher;
|
||||
int length = bufferContents.Length;
|
||||
}
|
||||
TlsCipher tlsCipher2 = this.mWriteCipher;
|
||||
int num6 = this.mCiphertextLimit;
|
||||
uint num7;
|
||||
ulong num8;
|
||||
RecordStream.CheckLength((int)num7, num6, (byte)num8);
|
||||
ulong num9;
|
||||
byte[] array = VariableSizedBufferPool.Get((long)type, num9 != 0UL);
|
||||
int num10 = 0;
|
||||
TlsUtilities.WriteUint8(type, array, num10);
|
||||
TlsUtilities.WriteVersion(this.mWriteVersion, array, 1);
|
||||
int num11 = this.mOutput.ReadByte();
|
||||
VariableSizedBufferPool.Release(array);
|
||||
Stream stream = this.mOutput;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD9C RID: 44444 RVA: 0x0025CBCC File Offset: 0x0025ADCC
|
||||
[Token(Token = "0x600AD9C")]
|
||||
[Address(RVA = "0x18BD910", Offset = "0x18BC710", VA = "0x1818BD910")]
|
||||
internal void NotifyHelloComplete()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x17001B7A RID: 7034
|
||||
// (get) Token: 0x0600AD9D RID: 44445 RVA: 0x0025CBE8 File Offset: 0x0025ADE8
|
||||
[Token(Token = "0x17001B7A")]
|
||||
internal TlsHandshakeHash HandshakeHash
|
||||
{
|
||||
[Token(Token = "0x600AD9D")]
|
||||
[Address(RVA = "0x4335D0", Offset = "0x4323D0", VA = "0x1804335D0")]
|
||||
get
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B7B RID: 7035
|
||||
// (get) Token: 0x0600AD9E RID: 44446 RVA: 0x0025CBFC File Offset: 0x0025ADFC
|
||||
[Token(Token = "0x17001B7B")]
|
||||
internal Stream HandshakeHashUpdater
|
||||
{
|
||||
[Token(Token = "0x600AD9E")]
|
||||
[Address(RVA = "0x4391F0", Offset = "0x437FF0", VA = "0x1804391F0")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AD9E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::get_HandshakeHashUpdater()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BaseOutputStream(var_0_06, ldfld:BaseOutputStream(RecordStream::mHandshakeHashUpdater, ldloc:RecordStream(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AD9F RID: 44447 RVA: 0x0025CC10 File Offset: 0x0025AE10
|
||||
[Token(Token = "0x600AD9F")]
|
||||
[Address(RVA = "0x18BD960", Offset = "0x18BC760", VA = "0x1818BD960")]
|
||||
internal TlsHandshakeHash PrepareToFinish()
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA0 RID: 44448 RVA: 0x0025CC2C File Offset: 0x0025AE2C
|
||||
[Token(Token = "0x600ADA0")]
|
||||
[Address(RVA = "0x18BDCF0", Offset = "0x18BCAF0", VA = "0x1818BDCF0")]
|
||||
internal void SafeClose()
|
||||
{
|
||||
Platform.Dispose(this.mInput);
|
||||
Platform.Dispose(this.mOutput);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA1 RID: 44449 RVA: 0x0025CC50 File Offset: 0x0025AE50
|
||||
[Token(Token = "0x600ADA1")]
|
||||
[Address(RVA = "0x18BD7C0", Offset = "0x18BC5C0", VA = "0x1818BD7C0")]
|
||||
internal void Flush()
|
||||
{
|
||||
bool canRead = this.mOutput.CanRead;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA2 RID: 44450 RVA: 0x0025CC70 File Offset: 0x0025AE70
|
||||
[Token(Token = "0x600ADA2")]
|
||||
[Address(RVA = "0x18BD7F0", Offset = "0x18BC5F0", VA = "0x1818BD7F0")]
|
||||
private byte[] GetBufferContents()
|
||||
{
|
||||
MemoryStream memoryStream = this.mBuffer;
|
||||
MemoryStream memoryStream2 = this.mBuffer;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA3 RID: 44451 RVA: 0x0025CC90 File Offset: 0x0025AE90
|
||||
[Token(Token = "0x600ADA3")]
|
||||
[Address(RVA = "0x18BD440", Offset = "0x18BC240", VA = "0x1818BD440")]
|
||||
private static void CheckType(byte type, byte alertDescription)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA4 RID: 44452 RVA: 0x0025CCA4 File Offset: 0x0025AEA4
|
||||
[Token(Token = "0x600ADA4")]
|
||||
[Address(RVA = "0x18BD180", Offset = "0x18BBF80", VA = "0x1818BD180")]
|
||||
private static void CheckLength(int length, int limit, byte alertDescription)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F7A RID: 28538
|
||||
[Token(Token = "0x4006F7A")]
|
||||
private const int DEFAULT_PLAINTEXT_LIMIT = 16384;
|
||||
|
||||
// Token: 0x04006F7B RID: 28539
|
||||
[Token(Token = "0x4006F7B")]
|
||||
internal const int TLS_HEADER_SIZE = 5;
|
||||
|
||||
// Token: 0x04006F7C RID: 28540
|
||||
[Token(Token = "0x4006F7C")]
|
||||
internal const int TLS_HEADER_TYPE_OFFSET = 0;
|
||||
|
||||
// Token: 0x04006F7D RID: 28541
|
||||
[Token(Token = "0x4006F7D")]
|
||||
internal const int TLS_HEADER_VERSION_OFFSET = 1;
|
||||
|
||||
// Token: 0x04006F7E RID: 28542
|
||||
[Token(Token = "0x4006F7E")]
|
||||
internal const int TLS_HEADER_LENGTH_OFFSET = 3;
|
||||
|
||||
// Token: 0x04006F7F RID: 28543
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F7F")]
|
||||
private TlsProtocol mHandler;
|
||||
|
||||
// Token: 0x04006F80 RID: 28544
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F80")]
|
||||
private Stream mInput;
|
||||
|
||||
// Token: 0x04006F81 RID: 28545
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006F81")]
|
||||
private Stream mOutput;
|
||||
|
||||
// Token: 0x04006F82 RID: 28546
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006F82")]
|
||||
private TlsCompression mPendingCompression;
|
||||
|
||||
// Token: 0x04006F83 RID: 28547
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006F83")]
|
||||
private TlsCompression mReadCompression;
|
||||
|
||||
// Token: 0x04006F84 RID: 28548
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006F84")]
|
||||
private TlsCompression mWriteCompression;
|
||||
|
||||
// Token: 0x04006F85 RID: 28549
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006F85")]
|
||||
private TlsCipher mPendingCipher;
|
||||
|
||||
// Token: 0x04006F86 RID: 28550
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006F86")]
|
||||
private TlsCipher mReadCipher;
|
||||
|
||||
// Token: 0x04006F87 RID: 28551
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006F87")]
|
||||
private TlsCipher mWriteCipher;
|
||||
|
||||
// Token: 0x04006F88 RID: 28552
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006F88")]
|
||||
private RecordStream.SequenceNumber mReadSeqNo;
|
||||
|
||||
// Token: 0x04006F89 RID: 28553
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006F89")]
|
||||
private RecordStream.SequenceNumber mWriteSeqNo;
|
||||
|
||||
// Token: 0x04006F8A RID: 28554
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006F8A")]
|
||||
private MemoryStream mBuffer;
|
||||
|
||||
// Token: 0x04006F8B RID: 28555
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006F8B")]
|
||||
private TlsHandshakeHash mHandshakeHash;
|
||||
|
||||
// Token: 0x04006F8C RID: 28556
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006F8C")]
|
||||
private readonly BaseOutputStream mHandshakeHashUpdater;
|
||||
|
||||
// Token: 0x04006F8D RID: 28557
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006F8D")]
|
||||
private ProtocolVersion mReadVersion;
|
||||
|
||||
// Token: 0x04006F8E RID: 28558
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4006F8E")]
|
||||
private ProtocolVersion mWriteVersion;
|
||||
|
||||
// Token: 0x04006F8F RID: 28559
|
||||
[FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x4006F8F")]
|
||||
private bool mRestrictReadVersion;
|
||||
|
||||
// Token: 0x04006F90 RID: 28560
|
||||
[FieldOffset(Offset = "0x94")]
|
||||
[Token(Token = "0x4006F90")]
|
||||
private int mPlaintextLimit;
|
||||
|
||||
// Token: 0x04006F91 RID: 28561
|
||||
[FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x4006F91")]
|
||||
private int mCompressedLimit;
|
||||
|
||||
// Token: 0x04006F92 RID: 28562
|
||||
[FieldOffset(Offset = "0x9C")]
|
||||
[Token(Token = "0x4006F92")]
|
||||
private int mCiphertextLimit;
|
||||
|
||||
// Token: 0x02001B4B RID: 6987
|
||||
[Token(Token = "0x2001B4B")]
|
||||
private class HandshakeHashUpdateStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600ADA5 RID: 44453 RVA: 0x0025CCB4 File Offset: 0x0025AEB4
|
||||
[Token(Token = "0x600ADA5")]
|
||||
[Address(RVA = "0x18B1350", Offset = "0x18B0150", VA = "0x1818B1350")]
|
||||
public HandshakeHashUpdateStream(RecordStream mOuter)
|
||||
{
|
||||
this.mOuter = mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA6 RID: 44454 RVA: 0x0025CCD0 File Offset: 0x0025AED0
|
||||
[Token(Token = "0x600ADA6")]
|
||||
[Address(RVA = "0x19791D0", Offset = "0x1977FD0", VA = "0x1819791D0", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
TlsHandshakeHash mHandshakeHash = this.mOuter.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x04006F93 RID: 28563
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006F93")]
|
||||
private readonly RecordStream mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x02001B4C RID: 6988
|
||||
[Token(Token = "0x2001B4C")]
|
||||
private class SequenceNumber
|
||||
{
|
||||
// Token: 0x0600ADA7 RID: 44455 RVA: 0x0025CCF0 File Offset: 0x0025AEF0
|
||||
[Token(Token = "0x600ADA7")]
|
||||
[Address(RVA = "0x19794C0", Offset = "0x19782C0", VA = "0x1819794C0")]
|
||||
internal long NextValue(byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADA7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream/SequenceNumber::NextValue(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:TlsFatalAlert(var_2_2A, 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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADA8 RID: 44456 RVA: 0x0025CD28 File Offset: 0x0025AF28
|
||||
[Token(Token = "0x600ADA8")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public SequenceNumber()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F94 RID: 28564
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F94")]
|
||||
private long value;
|
||||
|
||||
// Token: 0x04006F95 RID: 28565
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F95")]
|
||||
private bool exhausted;
|
||||
}
|
||||
}
|
||||
}
|
||||
+263
@@ -0,0 +1,263 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B4D RID: 6989
|
||||
[Token(Token = "0x2001B4D")]
|
||||
public class SecurityParameters
|
||||
{
|
||||
// Token: 0x0600ADA9 RID: 44457 RVA: 0x0025CD3C File Offset: 0x0025AF3C
|
||||
[Token(Token = "0x600ADA9")]
|
||||
[Address(RVA = "0x1979430", Offset = "0x1978230", VA = "0x181979430", Slot = "4")]
|
||||
internal virtual void Clear()
|
||||
{
|
||||
byte[] array = this.masterSecret;
|
||||
if (array != 0)
|
||||
{
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
this.masterSecret = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B7C RID: 7036
|
||||
// (get) Token: 0x0600ADAA RID: 44458 RVA: 0x0025CD68 File Offset: 0x0025AF68
|
||||
[Token(Token = "0x17001B7C")]
|
||||
public virtual int Entity
|
||||
{
|
||||
[Token(Token = "0x600ADAA")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.entity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B7D RID: 7037
|
||||
// (get) Token: 0x0600ADAB RID: 44459 RVA: 0x0025CD7C File Offset: 0x0025AF7C
|
||||
[Token(Token = "0x17001B7D")]
|
||||
public virtual int CipherSuite
|
||||
{
|
||||
[Token(Token = "0x600ADAB")]
|
||||
[Address(RVA = "0x495080", Offset = "0x493E80", VA = "0x180495080", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.cipherSuite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B7E RID: 7038
|
||||
// (get) Token: 0x0600ADAC RID: 44460 RVA: 0x0025CD90 File Offset: 0x0025AF90
|
||||
[Token(Token = "0x17001B7E")]
|
||||
public virtual byte CompressionAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600ADAC")]
|
||||
[Address(RVA = "0x42C2C0", Offset = "0x42B0C0", VA = "0x18042C2C0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.compressionAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B7F RID: 7039
|
||||
// (get) Token: 0x0600ADAD RID: 44461 RVA: 0x0025CDA4 File Offset: 0x0025AFA4
|
||||
[Token(Token = "0x17001B7F")]
|
||||
public virtual int PrfAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600ADAD")]
|
||||
[Address(RVA = "0x41F5B0", Offset = "0x41E3B0", VA = "0x18041F5B0", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.prfAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B80 RID: 7040
|
||||
// (get) Token: 0x0600ADAE RID: 44462 RVA: 0x0025CDB8 File Offset: 0x0025AFB8
|
||||
[Token(Token = "0x17001B80")]
|
||||
public virtual int VerifyDataLength
|
||||
{
|
||||
[Token(Token = "0x600ADAE")]
|
||||
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.verifyDataLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B81 RID: 7041
|
||||
// (get) Token: 0x0600ADAF RID: 44463 RVA: 0x0025CDCC File Offset: 0x0025AFCC
|
||||
[Token(Token = "0x17001B81")]
|
||||
public virtual byte[] MasterSecret
|
||||
{
|
||||
[Token(Token = "0x600ADAF")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.masterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B82 RID: 7042
|
||||
// (get) Token: 0x0600ADB0 RID: 44464 RVA: 0x0025CDE0 File Offset: 0x0025AFE0
|
||||
[Token(Token = "0x17001B82")]
|
||||
public virtual byte[] ClientRandom
|
||||
{
|
||||
[Token(Token = "0x600ADB0")]
|
||||
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return this.clientRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B83 RID: 7043
|
||||
// (get) Token: 0x0600ADB1 RID: 44465 RVA: 0x0025CDF4 File Offset: 0x0025AFF4
|
||||
[Token(Token = "0x17001B83")]
|
||||
public virtual byte[] ServerRandom
|
||||
{
|
||||
[Token(Token = "0x600ADB1")]
|
||||
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return this.serverRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B84 RID: 7044
|
||||
// (get) Token: 0x0600ADB2 RID: 44466 RVA: 0x0025CE08 File Offset: 0x0025B008
|
||||
[Token(Token = "0x17001B84")]
|
||||
public virtual byte[] SessionHash
|
||||
{
|
||||
[Token(Token = "0x600ADB2")]
|
||||
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return this.sessionHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B85 RID: 7045
|
||||
// (get) Token: 0x0600ADB3 RID: 44467 RVA: 0x0025CE1C File Offset: 0x0025B01C
|
||||
[Token(Token = "0x17001B85")]
|
||||
public virtual byte[] PskIdentity
|
||||
{
|
||||
[Token(Token = "0x600ADB3")]
|
||||
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return this.pskIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B86 RID: 7046
|
||||
// (get) Token: 0x0600ADB4 RID: 44468 RVA: 0x0025CE30 File Offset: 0x0025B030
|
||||
[Token(Token = "0x17001B86")]
|
||||
public virtual byte[] SrpIdentity
|
||||
{
|
||||
[Token(Token = "0x600ADB4")]
|
||||
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return this.srpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B87 RID: 7047
|
||||
// (get) Token: 0x0600ADB5 RID: 44469 RVA: 0x0025CE44 File Offset: 0x0025B044
|
||||
[Token(Token = "0x17001B87")]
|
||||
public virtual bool IsExtendedMasterSecret
|
||||
{
|
||||
[Token(Token = "0x600ADB5")]
|
||||
[Address(RVA = "0xDF7080", Offset = "0xDF5E80", VA = "0x180DF7080", Slot = "16")]
|
||||
get
|
||||
{
|
||||
return this.extendedMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADB6 RID: 44470 RVA: 0x0025CE58 File Offset: 0x0025B058
|
||||
[Token(Token = "0x600ADB6")]
|
||||
[Address(RVA = "0x19794A0", Offset = "0x19782A0", VA = "0x1819794A0")]
|
||||
public SecurityParameters()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006F96 RID: 28566
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006F96")]
|
||||
internal int entity = (int)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04006F97 RID: 28567
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006F97")]
|
||||
internal int cipherSuite;
|
||||
|
||||
// Token: 0x04006F98 RID: 28568
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006F98")]
|
||||
internal byte compressionAlgorithm;
|
||||
|
||||
// Token: 0x04006F99 RID: 28569
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006F99")]
|
||||
internal int prfAlgorithm = (int)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04006F9A RID: 28570
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006F9A")]
|
||||
internal int verifyDataLength;
|
||||
|
||||
// Token: 0x04006F9B RID: 28571
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006F9B")]
|
||||
internal byte[] masterSecret;
|
||||
|
||||
// Token: 0x04006F9C RID: 28572
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006F9C")]
|
||||
internal byte[] clientRandom;
|
||||
|
||||
// Token: 0x04006F9D RID: 28573
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006F9D")]
|
||||
internal byte[] serverRandom;
|
||||
|
||||
// Token: 0x04006F9E RID: 28574
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006F9E")]
|
||||
internal byte[] sessionHash;
|
||||
|
||||
// Token: 0x04006F9F RID: 28575
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006F9F")]
|
||||
internal byte[] pskIdentity;
|
||||
|
||||
// Token: 0x04006FA0 RID: 28576
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006FA0")]
|
||||
internal byte[] srpIdentity;
|
||||
|
||||
// Token: 0x04006FA1 RID: 28577
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006FA1")]
|
||||
internal short maxFragmentLength = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x04006FA2 RID: 28578
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x4006FA2")]
|
||||
internal bool truncatedHMac;
|
||||
|
||||
// Token: 0x04006FA3 RID: 28579
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4006FA3")]
|
||||
internal bool encryptThenMac;
|
||||
|
||||
// Token: 0x04006FA4 RID: 28580
|
||||
[FieldOffset(Offset = "0x5C")]
|
||||
[Token(Token = "0x4006FA4")]
|
||||
internal bool extendedMasterSecret;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B4E RID: 6990
|
||||
[Token(Token = "0x2001B4E")]
|
||||
public class ServerName
|
||||
{
|
||||
// Token: 0x0600ADB7 RID: 44471 RVA: 0x0025CE88 File Offset: 0x0025B088
|
||||
[Token(Token = "0x600ADB7")]
|
||||
[Address(RVA = "0x197A160", Offset = "0x1978F60", VA = "0x18197A160")]
|
||||
public ServerName(byte nameType, object name)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADB7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B88 RID: 7048
|
||||
// (get) Token: 0x0600ADB8 RID: 44472 RVA: 0x0025CEC4 File Offset: 0x0025B0C4
|
||||
[Token(Token = "0x17001B88")]
|
||||
public virtual byte NameType
|
||||
{
|
||||
[Token(Token = "0x600ADB8")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mNameType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B89 RID: 7049
|
||||
// (get) Token: 0x0600ADB9 RID: 44473 RVA: 0x0025CED8 File Offset: 0x0025B0D8
|
||||
[Token(Token = "0x17001B89")]
|
||||
public virtual object Name
|
||||
{
|
||||
[Token(Token = "0x600ADB9")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mName;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBA RID: 44474 RVA: 0x0025CEEC File Offset: 0x0025B0EC
|
||||
[Token(Token = "0x600ADBA")]
|
||||
[Address(RVA = "0x1979E80", Offset = "0x1978C80", VA = "0x181979E80", Slot = "6")]
|
||||
public virtual string GetHostName()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADBA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::GetHostName()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_20:
|
||||
stloc:InvalidOperationException(var_3_2A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'name' is not a HostName string")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBB RID: 44475 RVA: 0x0025CF24 File Offset: 0x0025B124
|
||||
[Token(Token = "0x600ADBB")]
|
||||
[Address(RVA = "0x1979D40", Offset = "0x1978B40", VA = "0x181979D40", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mNameType, output);
|
||||
obj = this.mName;
|
||||
num = 0;
|
||||
}
|
||||
while (obj != 0 && obj == 0);
|
||||
TlsUtilities.WriteOpaque16(Strings.ToAsciiByteArray(num), output);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBC RID: 44476 RVA: 0x0025CF5C File Offset: 0x0025B15C
|
||||
[Token(Token = "0x600ADBC")]
|
||||
[Address(RVA = "0x1979FD0", Offset = "0x1978DD0", VA = "0x181979FD0")]
|
||||
public static ServerName Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADBC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_35:
|
||||
stloc:ArgumentException(var_4_44, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADBD RID: 44477 RVA: 0x0025CFB0 File Offset: 0x0025B1B0
|
||||
[Token(Token = "0x600ADBD")]
|
||||
[Address(RVA = "0x1979F40", Offset = "0x1978D40", VA = "0x181979F40")]
|
||||
protected static bool IsCorrectType(byte nameType, object name)
|
||||
{
|
||||
int num = 0;
|
||||
if (name != 0)
|
||||
{
|
||||
}
|
||||
return num != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04006FA5 RID: 28581
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FA5")]
|
||||
protected readonly byte mNameType;
|
||||
|
||||
// Token: 0x04006FA6 RID: 28582
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FA6")]
|
||||
protected readonly object mName;
|
||||
}
|
||||
}
|
||||
+139
@@ -0,0 +1,139 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B4F RID: 6991
|
||||
[Token(Token = "0x2001B4F")]
|
||||
public class ServerNameList
|
||||
{
|
||||
// Token: 0x0600ADBE RID: 44478 RVA: 0x0025CFDC File Offset: 0x0025B1DC
|
||||
[Token(Token = "0x600ADBE")]
|
||||
[Address(RVA = "0x1979CC0", Offset = "0x1978AC0", VA = "0x181979CC0")]
|
||||
public ServerNameList(IList serverNameList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADBE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList::.ctor(System.Collections.IList)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("serverNameList")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B8A RID: 7050
|
||||
// (get) Token: 0x0600ADBF RID: 44479 RVA: 0x0025D008 File Offset: 0x0025B208
|
||||
[Token(Token = "0x17001B8A")]
|
||||
public virtual IList ServerNames
|
||||
{
|
||||
[Token(Token = "0x600ADBF")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mServerNameList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC0 RID: 44480 RVA: 0x0025D01C File Offset: 0x0025B21C
|
||||
[Token(Token = "0x600ADC0")]
|
||||
[Address(RVA = "0x19795F0", Offset = "0x19783F0", VA = "0x1819795F0", Slot = "5")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
MemoryStream memoryStream;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
memoryStream = new MemoryStream();
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
string text = this.ToString();
|
||||
if (text != 0)
|
||||
{
|
||||
if (text == 0)
|
||||
{
|
||||
goto IL_5F;
|
||||
}
|
||||
string text2 = text.ToString();
|
||||
byte[] array;
|
||||
if (array == 0)
|
||||
{
|
||||
goto IL_5F;
|
||||
}
|
||||
if (text.GetTypeCode() != TypeCode.Empty)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
TlsUtilities.CheckUint16(memoryStream.CanWrite ? 1L : 0L);
|
||||
TlsUtilities.WriteUint16(memoryStream.CanWrite ? 1 : 0, output);
|
||||
Streams.WriteBufTo(memoryStream, output);
|
||||
return;
|
||||
IL_5F:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC1 RID: 44481 RVA: 0x0025D094 File Offset: 0x0025B294
|
||||
[Token(Token = "0x600ADC1")]
|
||||
[Address(RVA = "0x19798D0", Offset = "0x19786D0", VA = "0x1819798D0")]
|
||||
public static ServerNameList Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADC1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8F:
|
||||
stloc:ArgumentException(var_14_9E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC2 RID: 44482 RVA: 0x0025D140 File Offset: 0x0025B340
|
||||
[Token(Token = "0x600ADC2")]
|
||||
[Address(RVA = "0x1979540", Offset = "0x1978340", VA = "0x181979540")]
|
||||
private static byte[] CheckNameType(byte[] nameTypesSeen, byte nameType)
|
||||
{
|
||||
if (NameType.IsValid(nameType) && !Arrays.Contains(nameTypesSeen, nameType))
|
||||
{
|
||||
return Arrays.Append(nameTypesSeen, nameType);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006FA7 RID: 28583
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FA7")]
|
||||
protected readonly IList mServerNameList;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B50 RID: 6992
|
||||
[Token(Token = "0x2001B50")]
|
||||
public abstract class ServerOnlyTlsAuthentication : TlsAuthentication
|
||||
{
|
||||
// Token: 0x0600ADC3 RID: 44483
|
||||
[Token(Token = "0x600ADC3")]
|
||||
[Address(Slot = "6")]
|
||||
public abstract void NotifyServerCertificate(Certificate serverCertificate);
|
||||
|
||||
// Token: 0x0600ADC4 RID: 44484 RVA: 0x0025D16C File Offset: 0x0025B36C
|
||||
[Token(Token = "0x600ADC4")]
|
||||
[Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "5")]
|
||||
public TlsCredentials GetClientCredentials(TlsContext context, CertificateRequest certificateRequest)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ADC5 RID: 44485 RVA: 0x0025D17C File Offset: 0x0025B37C
|
||||
[Token(Token = "0x600ADC5")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected ServerOnlyTlsAuthentication()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
using System;
|
||||
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: 0x02001B51 RID: 6993
|
||||
[Token(Token = "0x2001B51")]
|
||||
public class ServerSrpParams
|
||||
{
|
||||
// Token: 0x0600ADC6 RID: 44486 RVA: 0x0025D190 File Offset: 0x0025B390
|
||||
[Token(Token = "0x600ADC6")]
|
||||
[Address(RVA = "0x197A3C0", Offset = "0x19791C0", VA = "0x18197A3C0")]
|
||||
public ServerSrpParams(BigInteger N, BigInteger g, byte[] s, BigInteger B)
|
||||
{
|
||||
this.m_N = N;
|
||||
this.m_g = g;
|
||||
byte[] array = Arrays.Clone(s);
|
||||
this.m_s = array;
|
||||
this.m_B = 0;
|
||||
}
|
||||
|
||||
// Token: 0x17001B8B RID: 7051
|
||||
// (get) Token: 0x0600ADC7 RID: 44487 RVA: 0x0025D1C8 File Offset: 0x0025B3C8
|
||||
[Token(Token = "0x17001B8B")]
|
||||
public virtual BigInteger B
|
||||
{
|
||||
[Token(Token = "0x600ADC7")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.m_B;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B8C RID: 7052
|
||||
// (get) Token: 0x0600ADC8 RID: 44488 RVA: 0x0025D1DC File Offset: 0x0025B3DC
|
||||
[Token(Token = "0x17001B8C")]
|
||||
public virtual BigInteger G
|
||||
{
|
||||
[Token(Token = "0x600ADC8")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.m_g;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B8D RID: 7053
|
||||
// (get) Token: 0x0600ADC9 RID: 44489 RVA: 0x0025D1F0 File Offset: 0x0025B3F0
|
||||
[Token(Token = "0x17001B8D")]
|
||||
public virtual BigInteger N
|
||||
{
|
||||
[Token(Token = "0x600ADC9")]
|
||||
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_N;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B8E RID: 7054
|
||||
// (get) Token: 0x0600ADCA RID: 44490 RVA: 0x0025D204 File Offset: 0x0025B404
|
||||
[Token(Token = "0x17001B8E")]
|
||||
public virtual byte[] S
|
||||
{
|
||||
[Token(Token = "0x600ADCA")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.m_s;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADCB RID: 44491 RVA: 0x0025D218 File Offset: 0x0025B418
|
||||
[Token(Token = "0x600ADCB")]
|
||||
[Address(RVA = "0x197A200", Offset = "0x1979000", VA = "0x18197A200", Slot = "8")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_N, output);
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_g, output);
|
||||
TlsUtilities.WriteOpaque8(this.m_s, output);
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_B, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADCC RID: 44492 RVA: 0x0025D258 File Offset: 0x0025B458
|
||||
[Token(Token = "0x600ADCC")]
|
||||
[Address(RVA = "0x197A2A0", Offset = "0x19790A0", VA = "0x18197A2A0")]
|
||||
public static ServerSrpParams Parse(Stream input)
|
||||
{
|
||||
BigInteger bigInteger = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
BigInteger bigInteger2 = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
byte[] array = TlsUtilities.ReadOpaque8(input);
|
||||
BigInteger bigInteger3 = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
ServerSrpParams serverSrpParams;
|
||||
serverSrpParams.m_N = bigInteger;
|
||||
serverSrpParams.m_g = bigInteger2;
|
||||
byte[] array2 = Arrays.Clone(array);
|
||||
serverSrpParams.m_s = array2;
|
||||
serverSrpParams.m_B = bigInteger3;
|
||||
return serverSrpParams;
|
||||
}
|
||||
|
||||
// Token: 0x04006FA8 RID: 28584
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FA8")]
|
||||
protected BigInteger m_N;
|
||||
|
||||
// Token: 0x04006FA9 RID: 28585
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FA9")]
|
||||
protected BigInteger m_g;
|
||||
|
||||
// Token: 0x04006FAA RID: 28586
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FAA")]
|
||||
protected BigInteger m_B;
|
||||
|
||||
// Token: 0x04006FAB RID: 28587
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006FAB")]
|
||||
protected byte[] m_s;
|
||||
}
|
||||
}
|
||||
+386
@@ -0,0 +1,386 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B52 RID: 6994
|
||||
[Token(Token = "0x2001B52")]
|
||||
public sealed class SessionParameters
|
||||
{
|
||||
// Token: 0x0600ADCD RID: 44493 RVA: 0x0025D2AC File Offset: 0x0025B4AC
|
||||
[Token(Token = "0x600ADCD")]
|
||||
[Address(RVA = "0x197A610", Offset = "0x1979410", VA = "0x18197A610")]
|
||||
private SessionParameters(int cipherSuite, byte compressionAlgorithm, byte[] masterSecret, Certificate peerCertificate, byte[] pskIdentity, byte[] srpIdentity, byte[] encodedServerExtensions, bool extendedMasterSecret)
|
||||
{
|
||||
this.mCipherSuite = cipherSuite;
|
||||
this.mCompressionAlgorithm = compressionAlgorithm;
|
||||
byte[] array = Arrays.Clone(masterSecret);
|
||||
this.mMasterSecret = array;
|
||||
this.mPeerCertificate = 0;
|
||||
byte[] array2;
|
||||
this.mPskIdentity = array2;
|
||||
byte[] array3;
|
||||
this.mSrpIdentity = array3;
|
||||
this.mEncodedServerExtensions = 0;
|
||||
this.mExtendedMasterSecret = false;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADCE RID: 44494 RVA: 0x0025D300 File Offset: 0x0025B500
|
||||
[Token(Token = "0x600ADCE")]
|
||||
[Address(RVA = "0x197A460", Offset = "0x1979260", VA = "0x18197A460")]
|
||||
public void Clear()
|
||||
{
|
||||
byte[] array = this.mMasterSecret;
|
||||
if (array != 0)
|
||||
{
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADCF RID: 44495 RVA: 0x0025D324 File Offset: 0x0025B524
|
||||
[Token(Token = "0x600ADCF")]
|
||||
[Address(RVA = "0x197A4D0", Offset = "0x19792D0", VA = "0x18197A4D0")]
|
||||
public SessionParameters Copy()
|
||||
{
|
||||
int num = this.mCipherSuite;
|
||||
byte b = this.mCompressionAlgorithm;
|
||||
byte[] array = this.mMasterSecret;
|
||||
Certificate certificate = this.mPeerCertificate;
|
||||
byte[] array2 = this.mPskIdentity;
|
||||
byte[] array3 = this.mSrpIdentity;
|
||||
byte[] array4 = this.mEncodedServerExtensions;
|
||||
bool flag = this.mExtendedMasterSecret;
|
||||
return new SessionParameters(num, b, array, certificate, array2, array3, array4, flag);
|
||||
}
|
||||
|
||||
// Token: 0x17001B8F RID: 7055
|
||||
// (get) Token: 0x0600ADD0 RID: 44496 RVA: 0x0025D380 File Offset: 0x0025B580
|
||||
[Token(Token = "0x17001B8F")]
|
||||
public int CipherSuite
|
||||
{
|
||||
[Token(Token = "0x600ADD0")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
|
||||
get
|
||||
{
|
||||
return this.mCipherSuite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B90 RID: 7056
|
||||
// (get) Token: 0x0600ADD1 RID: 44497 RVA: 0x0025D394 File Offset: 0x0025B594
|
||||
[Token(Token = "0x17001B90")]
|
||||
public byte CompressionAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600ADD1")]
|
||||
[Address(RVA = "0x40B710", Offset = "0x40A510", VA = "0x18040B710")]
|
||||
get
|
||||
{
|
||||
return this.mCompressionAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B91 RID: 7057
|
||||
// (get) Token: 0x0600ADD2 RID: 44498 RVA: 0x0025D3A8 File Offset: 0x0025B5A8
|
||||
[Token(Token = "0x17001B91")]
|
||||
public bool IsExtendedMasterSecret
|
||||
{
|
||||
[Token(Token = "0x600ADD2")]
|
||||
[Address(RVA = "0x4363F0", Offset = "0x4351F0", VA = "0x1804363F0")]
|
||||
get
|
||||
{
|
||||
return this.mExtendedMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B92 RID: 7058
|
||||
// (get) Token: 0x0600ADD3 RID: 44499 RVA: 0x0025D3BC File Offset: 0x0025B5BC
|
||||
[Token(Token = "0x17001B92")]
|
||||
public byte[] MasterSecret
|
||||
{
|
||||
[Token(Token = "0x600ADD3")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
||||
get
|
||||
{
|
||||
return this.mMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B93 RID: 7059
|
||||
// (get) Token: 0x0600ADD4 RID: 44500 RVA: 0x0025D3D0 File Offset: 0x0025B5D0
|
||||
[Token(Token = "0x17001B93")]
|
||||
public Certificate PeerCertificate
|
||||
{
|
||||
[Token(Token = "0x600ADD4")]
|
||||
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
|
||||
get
|
||||
{
|
||||
return this.mPeerCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B94 RID: 7060
|
||||
// (get) Token: 0x0600ADD5 RID: 44501 RVA: 0x0025D3E4 File Offset: 0x0025B5E4
|
||||
[Token(Token = "0x17001B94")]
|
||||
public byte[] PskIdentity
|
||||
{
|
||||
[Token(Token = "0x600ADD5")]
|
||||
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
|
||||
get
|
||||
{
|
||||
return this.mPskIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B95 RID: 7061
|
||||
// (get) Token: 0x0600ADD6 RID: 44502 RVA: 0x0025D3F8 File Offset: 0x0025B5F8
|
||||
[Token(Token = "0x17001B95")]
|
||||
public byte[] SrpIdentity
|
||||
{
|
||||
[Token(Token = "0x600ADD6")]
|
||||
[Address(RVA = "0x3FA180", Offset = "0x3F8F80", VA = "0x1803FA180")]
|
||||
get
|
||||
{
|
||||
return this.mSrpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD7 RID: 44503 RVA: 0x0025D40C File Offset: 0x0025B60C
|
||||
[Token(Token = "0x600ADD7")]
|
||||
[Address(RVA = "0x197A5A0", Offset = "0x19793A0", VA = "0x18197A5A0")]
|
||||
public IDictionary ReadServerExtensions()
|
||||
{
|
||||
byte[] array = this.mEncodedServerExtensions;
|
||||
if (array != 0)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(array, num != 0);
|
||||
num = 0;
|
||||
return TlsProtocol.ReadExtensions(memoryStream);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006FAC RID: 28588
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FAC")]
|
||||
private int mCipherSuite;
|
||||
|
||||
// Token: 0x04006FAD RID: 28589
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006FAD")]
|
||||
private byte mCompressionAlgorithm;
|
||||
|
||||
// Token: 0x04006FAE RID: 28590
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FAE")]
|
||||
private byte[] mMasterSecret;
|
||||
|
||||
// Token: 0x04006FAF RID: 28591
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FAF")]
|
||||
private Certificate mPeerCertificate;
|
||||
|
||||
// Token: 0x04006FB0 RID: 28592
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006FB0")]
|
||||
private byte[] mPskIdentity;
|
||||
|
||||
// Token: 0x04006FB1 RID: 28593
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006FB1")]
|
||||
private byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x04006FB2 RID: 28594
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006FB2")]
|
||||
private byte[] mEncodedServerExtensions;
|
||||
|
||||
// Token: 0x04006FB3 RID: 28595
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006FB3")]
|
||||
private bool mExtendedMasterSecret;
|
||||
|
||||
// Token: 0x02001B53 RID: 6995
|
||||
[Token(Token = "0x2001B53")]
|
||||
public sealed class Builder
|
||||
{
|
||||
// Token: 0x0600ADD8 RID: 44504 RVA: 0x0025D438 File Offset: 0x0025B638
|
||||
[Token(Token = "0x600ADD8")]
|
||||
[Address(RVA = "0x1979170", Offset = "0x1977F70", VA = "0x181979170")]
|
||||
public Builder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600ADD9 RID: 44505 RVA: 0x0025D45C File Offset: 0x0025B65C
|
||||
[Token(Token = "0x600ADD9")]
|
||||
[Address(RVA = "0x1978EF0", Offset = "0x1977CF0", VA = "0x181978EF0")]
|
||||
public SessionParameters Build()
|
||||
{
|
||||
int num = this.mCipherSuite;
|
||||
this.Validate(num != 0, "cipherSuite");
|
||||
short num2 = this.mCompressionAlgorithm;
|
||||
this.Validate(num2 != 0, "compressionAlgorithm");
|
||||
this.Validate(num2 != 0, "masterSecret");
|
||||
int num3 = this.mCipherSuite;
|
||||
short num4 = this.mCompressionAlgorithm;
|
||||
byte[] array = this.mMasterSecret;
|
||||
Certificate certificate = this.mPeerCertificate;
|
||||
byte[] array2 = this.mPskIdentity;
|
||||
byte[] array3 = this.mSrpIdentity;
|
||||
byte[] array4 = this.mEncodedServerExtensions;
|
||||
bool flag = this.mExtendedMasterSecret;
|
||||
return new SessionParameters(num3, (byte)num4, array, certificate, array2, array3, array4, flag);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDA RID: 44506 RVA: 0x0025D4EC File Offset: 0x0025B6EC
|
||||
[Token(Token = "0x600ADDA")]
|
||||
[Address(RVA = "0x1979010", Offset = "0x1977E10", VA = "0x181979010")]
|
||||
public SessionParameters.Builder SetCipherSuite(int cipherSuite)
|
||||
{
|
||||
this.mCipherSuite = cipherSuite;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDB RID: 44507 RVA: 0x0025D504 File Offset: 0x0025B704
|
||||
[Token(Token = "0x600ADDB")]
|
||||
[Address(RVA = "0x1979020", Offset = "0x1977E20", VA = "0x181979020")]
|
||||
public SessionParameters.Builder SetCompressionAlgorithm(byte compressionAlgorithm)
|
||||
{
|
||||
this.mCompressionAlgorithm = (short)compressionAlgorithm;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDC RID: 44508 RVA: 0x0025D51C File Offset: 0x0025B71C
|
||||
[Token(Token = "0x600ADDC")]
|
||||
[Address(RVA = "0x1979030", Offset = "0x1977E30", VA = "0x181979030")]
|
||||
public SessionParameters.Builder SetExtendedMasterSecret(bool extendedMasterSecret)
|
||||
{
|
||||
this.mExtendedMasterSecret = extendedMasterSecret;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDD RID: 44509 RVA: 0x0025D534 File Offset: 0x0025B734
|
||||
[Token(Token = "0x600ADDD")]
|
||||
[Address(RVA = "0x1871FF0", Offset = "0x1870DF0", VA = "0x181871FF0")]
|
||||
public SessionParameters.Builder SetMasterSecret(byte[] masterSecret)
|
||||
{
|
||||
this.mMasterSecret = masterSecret;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDE RID: 44510 RVA: 0x0025D54C File Offset: 0x0025B74C
|
||||
[Token(Token = "0x600ADDE")]
|
||||
[Address(RVA = "0x1872000", Offset = "0x1870E00", VA = "0x181872000")]
|
||||
public SessionParameters.Builder SetPeerCertificate(Certificate peerCertificate)
|
||||
{
|
||||
this.mPeerCertificate = peerCertificate;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADDF RID: 44511 RVA: 0x0025D564 File Offset: 0x0025B764
|
||||
[Token(Token = "0x600ADDF")]
|
||||
[Address(RVA = "0x1871FD0", Offset = "0x1870DD0", VA = "0x181871FD0")]
|
||||
public SessionParameters.Builder SetPskIdentity(byte[] pskIdentity)
|
||||
{
|
||||
this.mPskIdentity = pskIdentity;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE0 RID: 44512 RVA: 0x0025D57C File Offset: 0x0025B77C
|
||||
[Token(Token = "0x600ADE0")]
|
||||
[Address(RVA = "0xBED9A0", Offset = "0xBEC7A0", VA = "0x180BED9A0")]
|
||||
public SessionParameters.Builder SetSrpIdentity(byte[] srpIdentity)
|
||||
{
|
||||
this.mSrpIdentity = srpIdentity;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE1 RID: 44513 RVA: 0x0025D594 File Offset: 0x0025B794
|
||||
[Token(Token = "0x600ADE1")]
|
||||
[Address(RVA = "0x1979040", Offset = "0x1977E40", VA = "0x181979040")]
|
||||
public SessionParameters.Builder SetServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
if (serverExtensions != 0)
|
||||
{
|
||||
TlsProtocol.WriteExtensions(new MemoryStream(), serverExtensions);
|
||||
}
|
||||
int num = 0;
|
||||
this.mEncodedServerExtensions = num;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE2 RID: 44514 RVA: 0x0025D5C0 File Offset: 0x0025B7C0
|
||||
[Token(Token = "0x600ADE2")]
|
||||
[Address(RVA = "0x19790E0", Offset = "0x1977EE0", VA = "0x1819790E0")]
|
||||
private void Validate(bool condition, string parameter)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADE2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SessionParameters/Builder::Validate(System.Boolean,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:InvalidOperationException(var_0_1A, newobj:InvalidOperationException(InvalidOperationException::.ctor, call:string(string::Concat, ldstr:string("Required session parameter '"), ldloc:string(parameter), ldstr:string("' not configured"))))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006FB4 RID: 28596
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FB4")]
|
||||
private int mCipherSuite = (int)((uint)(-1));
|
||||
|
||||
// Token: 0x04006FB5 RID: 28597
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4006FB5")]
|
||||
private short mCompressionAlgorithm = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x04006FB6 RID: 28598
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FB6")]
|
||||
private byte[] mMasterSecret;
|
||||
|
||||
// Token: 0x04006FB7 RID: 28599
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FB7")]
|
||||
private Certificate mPeerCertificate;
|
||||
|
||||
// Token: 0x04006FB8 RID: 28600
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006FB8")]
|
||||
private byte[] mPskIdentity;
|
||||
|
||||
// Token: 0x04006FB9 RID: 28601
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006FB9")]
|
||||
private byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x04006FBA RID: 28602
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006FBA")]
|
||||
private byte[] mEncodedServerExtensions;
|
||||
|
||||
// Token: 0x04006FBB RID: 28603
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006FBB")]
|
||||
private bool mExtendedMasterSecret;
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B54 RID: 6996
|
||||
[Token(Token = "0x2001B54")]
|
||||
public abstract class SignatureAlgorithm
|
||||
{
|
||||
// Token: 0x0600ADE3 RID: 44515 RVA: 0x0025D5E8 File Offset: 0x0025B7E8
|
||||
[Token(Token = "0x600ADE3")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected SignatureAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FBC RID: 28604
|
||||
[Token(Token = "0x4006FBC")]
|
||||
public const byte anonymous = 0;
|
||||
|
||||
// Token: 0x04006FBD RID: 28605
|
||||
[Token(Token = "0x4006FBD")]
|
||||
public const byte rsa = 1;
|
||||
|
||||
// Token: 0x04006FBE RID: 28606
|
||||
[Token(Token = "0x4006FBE")]
|
||||
public const byte dsa = 2;
|
||||
|
||||
// Token: 0x04006FBF RID: 28607
|
||||
[Token(Token = "0x4006FBF")]
|
||||
public const byte ecdsa = 3;
|
||||
}
|
||||
}
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B55 RID: 6997
|
||||
[Token(Token = "0x2001B55")]
|
||||
public class SignatureAndHashAlgorithm
|
||||
{
|
||||
// Token: 0x0600ADE4 RID: 44516 RVA: 0x0025D5FC File Offset: 0x0025B7FC
|
||||
[Token(Token = "0x600ADE4")]
|
||||
[Address(RVA = "0x197ABC0", Offset = "0x19799C0", VA = "0x18197ABC0")]
|
||||
public SignatureAndHashAlgorithm(byte hash, byte signature)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADE4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::.ctor(System.Byte,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_27:
|
||||
stloc:ArgumentException(var_0_36, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("should be a uint8"), ldstr:string("hash")))
|
||||
stloc:ArgumentException(var_1_46, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("MUST NOT be \"anonymous\""), ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x17001B96 RID: 7062
|
||||
// (get) Token: 0x0600ADE5 RID: 44517 RVA: 0x0025D650 File Offset: 0x0025B850
|
||||
[Token(Token = "0x17001B96")]
|
||||
public virtual byte Hash
|
||||
{
|
||||
[Token(Token = "0x600ADE5")]
|
||||
[Address(RVA = "0x42D5E0", Offset = "0x42C3E0", VA = "0x18042D5E0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B97 RID: 7063
|
||||
// (get) Token: 0x0600ADE6 RID: 44518 RVA: 0x0025D664 File Offset: 0x0025B864
|
||||
[Token(Token = "0x17001B97")]
|
||||
public virtual byte Signature
|
||||
{
|
||||
[Token(Token = "0x600ADE6")]
|
||||
[Address(RVA = "0x49E540", Offset = "0x49D340", VA = "0x18049E540", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSignature;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE7 RID: 44519 RVA: 0x0025D678 File Offset: 0x0025B878
|
||||
[Token(Token = "0x600ADE7")]
|
||||
[Address(RVA = "0x197A870", Offset = "0x1979670", VA = "0x18197A870", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
while (obj != 0 && obj != 0)
|
||||
{
|
||||
if (obj != 0)
|
||||
{
|
||||
string text = obj.ToString();
|
||||
string text2 = this.ToString();
|
||||
if (text == text2)
|
||||
{
|
||||
byte hash = this.Hash;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE8 RID: 44520 RVA: 0x0025D6B4 File Offset: 0x0025B8B4
|
||||
[Token(Token = "0x600ADE8")]
|
||||
[Address(RVA = "0x197A9B0", Offset = "0x19797B0", VA = "0x18197A9B0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADE8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::GetHashCode()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:string(var_0_06, callvirt:string(object::ToString, ldloc:SignatureAndHashAlgorithm[exp:object](this)))
|
||||
stloc:uint8(var_1_0D, callvirtgetter:uint8(SignatureAndHashAlgorithm::get_Hash, ldloc:SignatureAndHashAlgorithm(this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADE9 RID: 44521 RVA: 0x0025D6D0 File Offset: 0x0025B8D0
|
||||
[Token(Token = "0x600ADE9")]
|
||||
[Address(RVA = "0x197A7C0", Offset = "0x19795C0", VA = "0x18197A7C0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
string text = this.ToString();
|
||||
TlsUtilities.WriteUint8(this.Hash, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADEA RID: 44522 RVA: 0x0025D6F0 File Offset: 0x0025B8F0
|
||||
[Token(Token = "0x600ADEA")]
|
||||
[Address(RVA = "0x197AA00", Offset = "0x1979800", VA = "0x18197AA00")]
|
||||
public static SignatureAndHashAlgorithm Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADEA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30:
|
||||
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("should be a uint8"), ldstr:string("hash")))
|
||||
stloc:ArgumentException(var_4_4F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("MUST NOT be \"anonymous\""), ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006FC0 RID: 28608
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FC0")]
|
||||
protected readonly byte mHash;
|
||||
|
||||
// Token: 0x04006FC1 RID: 28609
|
||||
[FieldOffset(Offset = "0x11")]
|
||||
[Token(Token = "0x4006FC1")]
|
||||
protected readonly byte mSignature;
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B56 RID: 6998
|
||||
[Token(Token = "0x2001B56")]
|
||||
internal class SignerInputBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600ADEB RID: 44523 RVA: 0x0025D750 File Offset: 0x0025B950
|
||||
[Token(Token = "0x600ADEB")]
|
||||
[Address(RVA = "0x197AD20", Offset = "0x1979B20", VA = "0x18197AD20")]
|
||||
internal void UpdateSigner(ISigner s)
|
||||
{
|
||||
SignerInputBuffer.SigStream sigStream;
|
||||
sigStream.s = s;
|
||||
Streams.WriteBufTo(this, sigStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADEC RID: 44524 RVA: 0x0025D76C File Offset: 0x0025B96C
|
||||
[Token(Token = "0x600ADEC")]
|
||||
[Address(RVA = "0x18911A0", Offset = "0x188FFA0", VA = "0x1818911A0")]
|
||||
public SignerInputBuffer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x02001B57 RID: 6999
|
||||
[Token(Token = "0x2001B57")]
|
||||
private class SigStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600ADED RID: 44525 RVA: 0x0025D780 File Offset: 0x0025B980
|
||||
[Token(Token = "0x600ADED")]
|
||||
[Address(RVA = "0x18B1350", Offset = "0x18B0150", VA = "0x1818B1350")]
|
||||
internal SigStream(ISigner s)
|
||||
{
|
||||
this.s = s;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADEE RID: 44526 RVA: 0x0025D79C File Offset: 0x0025B99C
|
||||
[Token(Token = "0x600ADEE")]
|
||||
[Address(RVA = "0x197A6E0", Offset = "0x19794E0", VA = "0x18197A6E0", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
ISigner signer = this.s;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADEF RID: 44527 RVA: 0x0025D7B8 File Offset: 0x0025B9B8
|
||||
[Token(Token = "0x600ADEF")]
|
||||
[Address(RVA = "0x197A740", Offset = "0x1979540", VA = "0x18197A740", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
ISigner signer = this.s;
|
||||
}
|
||||
|
||||
// Token: 0x04006FC2 RID: 28610
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006FC2")]
|
||||
private readonly ISigner s;
|
||||
}
|
||||
}
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B58 RID: 7000
|
||||
[Token(Token = "0x2001B58")]
|
||||
public class SimulatedTlsSrpIdentityManager : TlsSrpIdentityManager
|
||||
{
|
||||
// Token: 0x0600ADF0 RID: 44528 RVA: 0x0025D7D4 File Offset: 0x0025B9D4
|
||||
[Token(Token = "0x600ADF0")]
|
||||
[Address(RVA = "0x197B000", Offset = "0x1979E00", VA = "0x18197B000")]
|
||||
public static SimulatedTlsSrpIdentityManager GetRfc5054Default(Srp6GroupParameters group, byte[] seedKey)
|
||||
{
|
||||
Srp6VerifierGenerator srp6VerifierGenerator = new Srp6VerifierGenerator();
|
||||
IDigest digest;
|
||||
HMac hmac = new HMac(digest);
|
||||
KeyParameter keyParameter = new KeyParameter(seedKey);
|
||||
IDigest underlyingDigest = hmac.GetUnderlyingDigest();
|
||||
SimulatedTlsSrpIdentityManager simulatedTlsSrpIdentityManager;
|
||||
simulatedTlsSrpIdentityManager.mGroup = group;
|
||||
simulatedTlsSrpIdentityManager.mVerifierGenerator = srp6VerifierGenerator;
|
||||
simulatedTlsSrpIdentityManager.mMac = hmac;
|
||||
return simulatedTlsSrpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF1 RID: 44529 RVA: 0x0025D820 File Offset: 0x0025BA20
|
||||
[Token(Token = "0x600ADF1")]
|
||||
[Address(RVA = "0x4A7B10", Offset = "0x4A6910", VA = "0x1804A7B10")]
|
||||
public SimulatedTlsSrpIdentityManager(Srp6GroupParameters group, Srp6VerifierGenerator verifierGenerator, IMac mac)
|
||||
{
|
||||
this.mGroup = group;
|
||||
this.mVerifierGenerator = verifierGenerator;
|
||||
this.mMac = mac;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF2 RID: 44530 RVA: 0x0025D848 File Offset: 0x0025BA48
|
||||
[Token(Token = "0x600ADF2")]
|
||||
[Address(RVA = "0x197AD90", Offset = "0x1979B90", VA = "0x18197AD90", Slot = "5")]
|
||||
public virtual TlsSrpLoginParameters GetLoginParameters(byte[] identity)
|
||||
{
|
||||
IMac mac = this.mMac;
|
||||
int length = SimulatedTlsSrpIdentityManager.PREFIX_SALT.Length;
|
||||
IMac mac2 = this.mMac;
|
||||
int length2 = identity.Length;
|
||||
IMac mac3 = this.mMac;
|
||||
byte[] array = new byte[length2];
|
||||
IMac mac4 = this.mMac;
|
||||
byte[] prefix_PASSWORD = SimulatedTlsSrpIdentityManager.PREFIX_PASSWORD;
|
||||
IMac mac5 = this.mMac;
|
||||
int length3 = prefix_PASSWORD.Length;
|
||||
IMac mac6 = this.mMac;
|
||||
int length4 = identity.Length;
|
||||
IMac mac7 = this.mMac;
|
||||
byte[] array2 = new byte[length4];
|
||||
IMac mac8 = this.mMac;
|
||||
Srp6VerifierGenerator srp6VerifierGenerator = this.mVerifierGenerator;
|
||||
TlsSrpLoginParameters tlsSrpLoginParameters;
|
||||
return tlsSrpLoginParameters;
|
||||
}
|
||||
|
||||
// Token: 0x04006FC3 RID: 28611
|
||||
[Token(Token = "0x4006FC3")]
|
||||
private static readonly byte[] PREFIX_PASSWORD = Strings.ToByteArray("password");
|
||||
|
||||
// Token: 0x04006FC4 RID: 28612
|
||||
[Token(Token = "0x4006FC4")]
|
||||
private static readonly byte[] PREFIX_SALT = Strings.ToByteArray("salt");
|
||||
|
||||
// Token: 0x04006FC5 RID: 28613
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FC5")]
|
||||
protected readonly Srp6GroupParameters mGroup;
|
||||
|
||||
// Token: 0x04006FC6 RID: 28614
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FC6")]
|
||||
protected readonly Srp6VerifierGenerator mVerifierGenerator;
|
||||
|
||||
// Token: 0x04006FC7 RID: 28615
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FC7")]
|
||||
protected readonly IMac mMac;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B59 RID: 7001
|
||||
[Token(Token = "0x2001B59")]
|
||||
public class SrpTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600ADF4 RID: 44532 RVA: 0x0025D910 File Offset: 0x0025BB10
|
||||
[Token(Token = "0x600ADF4")]
|
||||
[Address(RVA = "0x197B5A0", Offset = "0x197A3A0", VA = "0x18197B5A0")]
|
||||
public SrpTlsClient(byte[] identity, byte[] password)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsSrpGroupVerifier defaultTlsSrpGroupVerifier = new DefaultTlsSrpGroupVerifier();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF5 RID: 44533 RVA: 0x0025D92C File Offset: 0x0025BB2C
|
||||
[Token(Token = "0x600ADF5")]
|
||||
[Address(RVA = "0x197B650", Offset = "0x197A450", VA = "0x18197B650")]
|
||||
public SrpTlsClient(TlsCipherFactory cipherFactory, byte[] identity, byte[] password)
|
||||
{
|
||||
DefaultTlsSrpGroupVerifier defaultTlsSrpGroupVerifier = new DefaultTlsSrpGroupVerifier();
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF6 RID: 44534 RVA: 0x0025D940 File Offset: 0x0025BB40
|
||||
[Token(Token = "0x600ADF6")]
|
||||
[Address(RVA = "0x197B500", Offset = "0x197A300", VA = "0x18197B500")]
|
||||
public SrpTlsClient(TlsCipherFactory cipherFactory, TlsSrpGroupVerifier groupVerifier, byte[] identity, byte[] password)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mGroupVerifier = groupVerifier;
|
||||
byte[] array = Arrays.Clone(identity);
|
||||
this.mIdentity = array;
|
||||
byte[] array2;
|
||||
this.mPassword = array2;
|
||||
}
|
||||
|
||||
// Token: 0x17001B98 RID: 7064
|
||||
// (get) Token: 0x0600ADF7 RID: 44535 RVA: 0x0025D970 File Offset: 0x0025BB70
|
||||
[Token(Token = "0x17001B98")]
|
||||
protected virtual bool RequireSrpServerExtension
|
||||
{
|
||||
[Token(Token = "0x600ADF7")]
|
||||
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "61")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF8 RID: 44536 RVA: 0x0025D980 File Offset: 0x0025BB80
|
||||
[Token(Token = "0x600ADF8")]
|
||||
[Address(RVA = "0x197B2B0", Offset = "0x197A0B0", VA = "0x18197B2B0", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
return new int[] { (int)((ulong)49182L) };
|
||||
}
|
||||
|
||||
// Token: 0x0600ADF9 RID: 44537 RVA: 0x0025D9AC File Offset: 0x0025BBAC
|
||||
[Token(Token = "0x600ADF9")]
|
||||
[Address(RVA = "0x197B310", Offset = "0x197A110", VA = "0x18197B310", Slot = "47")]
|
||||
public override IDictionary GetClientExtensions()
|
||||
{
|
||||
IDictionary clientExtensions = base.GetClientExtensions();
|
||||
if (clientExtensions == 0)
|
||||
{
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
}
|
||||
byte[] array = this.mIdentity;
|
||||
TlsSrpUtilities.AddSrpExtension(clientExtensions, array);
|
||||
return clientExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFA RID: 44538 RVA: 0x0025D9DC File Offset: 0x0025BBDC
|
||||
[Token(Token = "0x600ADFA")]
|
||||
[Address(RVA = "0x197B440", Offset = "0x197A240", VA = "0x18197B440", Slot = "55")]
|
||||
public override void ProcessServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
}
|
||||
base.ProcessServerExtensions(serverExtensions);
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFB RID: 44539 RVA: 0x0025D9F4 File Offset: 0x0025BBF4
|
||||
[Token(Token = "0x600ADFB")]
|
||||
[Address(RVA = "0x197B390", Offset = "0x197A190", VA = "0x18197B390", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADFB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_2_18, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:SrpTlsClient[exp:AbstractTlsClient](this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFC RID: 44540 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600ADFC")]
|
||||
[Address(RVA = "0x197B260", Offset = "0x197A060", VA = "0x18197B260", Slot = "58")]
|
||||
public override TlsAuthentication GetAuthentication()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFD RID: 44541 RVA: 0x0025DA1C File Offset: 0x0025BC1C
|
||||
[Token(Token = "0x600ADFD")]
|
||||
[Address(RVA = "0x197B1C0", Offset = "0x1979FC0", VA = "0x18197B1C0", Slot = "62")]
|
||||
protected virtual TlsKeyExchange CreateSrpKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600ADFD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsClient::CreateSrpKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:SrpTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsSrpGroupVerifier(var_1_0D, ldfld:TlsSrpGroupVerifier(SrpTlsClient::mGroupVerifier, ldloc:SrpTlsClient(this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](SrpTlsClient::mIdentity, ldloc:SrpTlsClient(this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](SrpTlsClient::mPassword, ldloc:SrpTlsClient(this)))
|
||||
stloc:TlsSrpKeyExchange(var_4_26, newobj:TlsSrpKeyExchange(TlsSrpKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsSrpGroupVerifier(var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006FC8 RID: 28616
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006FC8")]
|
||||
protected TlsSrpGroupVerifier mGroupVerifier;
|
||||
|
||||
// Token: 0x04006FC9 RID: 28617
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006FC9")]
|
||||
protected byte[] mIdentity;
|
||||
|
||||
// Token: 0x04006FCA RID: 28618
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006FCA")]
|
||||
protected byte[] mPassword;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B5A RID: 7002
|
||||
[Token(Token = "0x2001B5A")]
|
||||
public class SrpTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x0600ADFE RID: 44542 RVA: 0x0025DA50 File Offset: 0x0025BC50
|
||||
[Token(Token = "0x600ADFE")]
|
||||
[Address(RVA = "0x197BB90", Offset = "0x197A990", VA = "0x18197BB90")]
|
||||
public SrpTlsServer(TlsSrpIdentityManager srpIdentityManager)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mSrpIdentityManager = srpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600ADFF RID: 44543 RVA: 0x0025DA74 File Offset: 0x0025BC74
|
||||
[Token(Token = "0x600ADFF")]
|
||||
[Address(RVA = "0x18BD080", Offset = "0x18BBE80", VA = "0x1818BD080")]
|
||||
public SrpTlsServer(TlsCipherFactory cipherFactory, TlsSrpIdentityManager srpIdentityManager)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mSrpIdentityManager = srpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE00 RID: 44544 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AE00")]
|
||||
[Address(RVA = "0x197B8C0", Offset = "0x197A6C0", VA = "0x18197B8C0", Slot = "63")]
|
||||
protected virtual TlsSignerCredentials GetDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AE01 RID: 44545 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AE01")]
|
||||
[Address(RVA = "0x197B9C0", Offset = "0x197A7C0", VA = "0x18197B9C0", Slot = "64")]
|
||||
protected virtual TlsSignerCredentials GetRsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AE02 RID: 44546 RVA: 0x0025DA90 File Offset: 0x0025BC90
|
||||
[Token(Token = "0x600AE02")]
|
||||
[Address(RVA = "0x197B790", Offset = "0x197A590", VA = "0x18197B790", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[6];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A6BA6E61D8DC7245D265FDFACD05778F1F6FA238).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE03 RID: 44547 RVA: 0x0025DAB0 File Offset: 0x0025BCB0
|
||||
[Token(Token = "0x600AE03")]
|
||||
[Address(RVA = "0x197BB50", Offset = "0x197A950", VA = "0x18197BB50", Slot = "50")]
|
||||
public override void ProcessClientExtensions(IDictionary clientExtensions)
|
||||
{
|
||||
base.ProcessClientExtensions(clientExtensions);
|
||||
byte[] srpExtension = TlsSrpUtilities.GetSrpExtension(clientExtensions);
|
||||
this.mSrpIdentity = srpExtension;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE04 RID: 44548 RVA: 0x0025DAD4 File Offset: 0x0025BCD4
|
||||
[Token(Token = "0x600AE04")]
|
||||
[Address(RVA = "0x197BA10", Offset = "0x197A810", VA = "0x18197BA10", Slot = "52")]
|
||||
public override int GetSelectedCipherSuite()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AE04)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetSelectedCipherSuite()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4C:
|
||||
stloc:TlsFatalAlert(var_5_53, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_6)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE05 RID: 44549 RVA: 0x0025DB38 File Offset: 0x0025BD38
|
||||
[Token(Token = "0x600AE05")]
|
||||
[Address(RVA = "0x197B7E0", Offset = "0x197A5E0", VA = "0x18197B7E0", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AE05)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCredentials BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetCredentials()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:TlsFatalAlert(var_2_1D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_3)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE06 RID: 44550 RVA: 0x0025DB64 File Offset: 0x0025BD64
|
||||
[Token(Token = "0x600AE06")]
|
||||
[Address(RVA = "0x197B910", Offset = "0x197A710", VA = "0x18197B910", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AE06)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsCompression(var_2_18, call:TlsCompression(AbstractTlsPeer::GetCompression, ldloc:SrpTlsServer[exp:AbstractTlsPeer](this)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE07 RID: 44551 RVA: 0x0025DB8C File Offset: 0x0025BD8C
|
||||
[Token(Token = "0x600AE07")]
|
||||
[Address(RVA = "0x197B6F0", Offset = "0x197A4F0", VA = "0x18197B6F0", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreateSrpKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AE07)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::CreateSrpKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:SrpTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_1_0D, ldfld:uint8[](SrpTlsServer::mSrpIdentity, ldloc:SrpTlsServer(this)))
|
||||
stloc:TlsSrpLoginParameters(var_2_14, ldfld:TlsSrpLoginParameters(SrpTlsServer::mLoginParameters, ldloc:SrpTlsServer(this)))
|
||||
stloc:TlsSrpKeyExchange(var_3_1E, newobj:TlsSrpKeyExchange(TlsSrpKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:uint8[](var_1_0D), ldloc:TlsSrpLoginParameters(var_2_14)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x04006FCB RID: 28619
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4006FCB")]
|
||||
protected TlsSrpIdentityManager mSrpIdentityManager;
|
||||
|
||||
// Token: 0x04006FCC RID: 28620
|
||||
[FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x4006FCC")]
|
||||
protected byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x04006FCD RID: 28621
|
||||
[FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x4006FCD")]
|
||||
protected TlsSrpLoginParameters mLoginParameters;
|
||||
}
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B5B RID: 7003
|
||||
[Token(Token = "0x2001B5B")]
|
||||
public abstract class SrtpProtectionProfile
|
||||
{
|
||||
// Token: 0x0600AE08 RID: 44552 RVA: 0x0025DBB8 File Offset: 0x0025BDB8
|
||||
[Token(Token = "0x600AE08")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected SrtpProtectionProfile()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FCE RID: 28622
|
||||
[Token(Token = "0x4006FCE")]
|
||||
public const int SRTP_AES128_CM_HMAC_SHA1_80 = 1;
|
||||
|
||||
// Token: 0x04006FCF RID: 28623
|
||||
[Token(Token = "0x4006FCF")]
|
||||
public const int SRTP_AES128_CM_HMAC_SHA1_32 = 2;
|
||||
|
||||
// Token: 0x04006FD0 RID: 28624
|
||||
[Token(Token = "0x4006FD0")]
|
||||
public const int SRTP_NULL_HMAC_SHA1_80 = 5;
|
||||
|
||||
// Token: 0x04006FD1 RID: 28625
|
||||
[Token(Token = "0x4006FD1")]
|
||||
public const int SRTP_NULL_HMAC_SHA1_32 = 6;
|
||||
|
||||
// Token: 0x04006FD2 RID: 28626
|
||||
[Token(Token = "0x4006FD2")]
|
||||
public const int SRTP_AEAD_AES_128_GCM = 7;
|
||||
|
||||
// Token: 0x04006FD3 RID: 28627
|
||||
[Token(Token = "0x4006FD3")]
|
||||
public const int SRTP_AEAD_AES_256_GCM = 8;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B5C RID: 7004
|
||||
[Token(Token = "0x2001B5C")]
|
||||
public class Ssl3Mac : IMac
|
||||
{
|
||||
// Token: 0x0600AE09 RID: 44553 RVA: 0x0025DBCC File Offset: 0x0025BDCC
|
||||
[Token(Token = "0x600AE09")]
|
||||
[Address(RVA = "0x197C280", Offset = "0x197B080", VA = "0x18197C280")]
|
||||
public Ssl3Mac(IDigest digest)
|
||||
{
|
||||
this.digest = digest;
|
||||
this.padLength = (int)((uint)48);
|
||||
}
|
||||
|
||||
// Token: 0x17001B99 RID: 7065
|
||||
// (get) Token: 0x0600AE0A RID: 44554 RVA: 0x0025DBF8 File Offset: 0x0025BDF8
|
||||
[Token(Token = "0x17001B99")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600AE0A")]
|
||||
[Address(RVA = "0x197C300", Offset = "0x197B100", VA = "0x18197C300", Slot = "11")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
string text;
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AE0B RID: 44555 RVA: 0x0025DC20 File Offset: 0x0025BE20
|
||||
[Token(Token = "0x600AE0B")]
|
||||
[Address(RVA = "0x197BF00", Offset = "0x197AD00", VA = "0x18197BF00", Slot = "12")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
while (parameters == 0 || parameters == 0)
|
||||
{
|
||||
}
|
||||
byte[] array2;
|
||||
byte[] array = Arrays.Clone(array2);
|
||||
this.secret = array;
|
||||
string algorithmName = ((IMac)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE0C RID: 44556 RVA: 0x0025DC58 File Offset: 0x0025BE58
|
||||
[Token(Token = "0x600AE0C")]
|
||||
[Address(RVA = "0x197BEB0", Offset = "0x197ACB0", VA = "0x18197BEB0", Slot = "13")]
|
||||
public virtual int GetMacSize()
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AE0D RID: 44557 RVA: 0x0025DC74 File Offset: 0x0025BE74
|
||||
[Token(Token = "0x600AE0D")]
|
||||
[Address(RVA = "0x197C120", Offset = "0x197AF20", VA = "0x18197C120", Slot = "14")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AE0E RID: 44558 RVA: 0x0025DC90 File Offset: 0x0025BE90
|
||||
[Token(Token = "0x600AE0E")]
|
||||
[Address(RVA = "0x197BC00", Offset = "0x197AA00", VA = "0x18197BC00", Slot = "15")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE0F RID: 44559 RVA: 0x0025DCAC File Offset: 0x0025BEAC
|
||||
[Token(Token = "0x600AE0F")]
|
||||
[Address(RVA = "0x197BC80", Offset = "0x197AA80", VA = "0x18197BC80", Slot = "16")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
byte[] array = new byte[0];
|
||||
IDigest digest2 = this.digest;
|
||||
byte[] array2 = this.secret;
|
||||
IDigest digest3 = this.digest;
|
||||
int length = array2.Length;
|
||||
IDigest digest4 = this.digest;
|
||||
int num = this.padLength;
|
||||
IDigest digest5 = this.digest;
|
||||
int length2 = array.Length;
|
||||
IDigest digest6 = this.digest;
|
||||
return length2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE10 RID: 44560 RVA: 0x0025DD1C File Offset: 0x0025BF1C
|
||||
[Token(Token = "0x600AE10")]
|
||||
[Address(RVA = "0x197C020", Offset = "0x197AE20", VA = "0x18197C020", Slot = "17")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
byte[] array = this.secret;
|
||||
IDigest digest2 = this.digest;
|
||||
int length = array.Length;
|
||||
IDigest digest3 = this.digest;
|
||||
int num = this.padLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE11 RID: 44561 RVA: 0x0025DD5C File Offset: 0x0025BF5C
|
||||
[Token(Token = "0x600AE11")]
|
||||
[Address(RVA = "0x197BE30", Offset = "0x197AC30", VA = "0x18197BE30")]
|
||||
private static byte[] GenPad(byte b, int count)
|
||||
{
|
||||
byte[] array = new byte[count];
|
||||
Arrays.Fill(array, b);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04006FD4 RID: 28628
|
||||
[Token(Token = "0x4006FD4")]
|
||||
private const byte IPAD_BYTE = 54;
|
||||
|
||||
// Token: 0x04006FD5 RID: 28629
|
||||
[Token(Token = "0x4006FD5")]
|
||||
private const byte OPAD_BYTE = 92;
|
||||
|
||||
// Token: 0x04006FD6 RID: 28630
|
||||
[Token(Token = "0x4006FD6")]
|
||||
internal static readonly byte[] IPAD = new byte[48];
|
||||
|
||||
// Token: 0x04006FD7 RID: 28631
|
||||
[Token(Token = "0x4006FD7")]
|
||||
internal static readonly byte[] OPAD = new byte[48];
|
||||
|
||||
// Token: 0x04006FD8 RID: 28632
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FD8")]
|
||||
private readonly IDigest digest;
|
||||
|
||||
// Token: 0x04006FD9 RID: 28633
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FD9")]
|
||||
private readonly int padLength;
|
||||
|
||||
// Token: 0x04006FDA RID: 28634
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FDA")]
|
||||
private byte[] secret;
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B5D RID: 7005
|
||||
[Token(Token = "0x2001B5D")]
|
||||
public class SupplementalDataEntry
|
||||
{
|
||||
// Token: 0x0600AE13 RID: 44563 RVA: 0x0025DDA0 File Offset: 0x0025BFA0
|
||||
[Token(Token = "0x600AE13")]
|
||||
[Address(RVA = "0x4E6E10", Offset = "0x4E5C10", VA = "0x1804E6E10")]
|
||||
public SupplementalDataEntry(int dataType, byte[] data)
|
||||
{
|
||||
this.mDataType = dataType;
|
||||
this.mData = data;
|
||||
}
|
||||
|
||||
// Token: 0x17001B9A RID: 7066
|
||||
// (get) Token: 0x0600AE14 RID: 44564 RVA: 0x0025DDC4 File Offset: 0x0025BFC4
|
||||
[Token(Token = "0x17001B9A")]
|
||||
public virtual int DataType
|
||||
{
|
||||
[Token(Token = "0x600AE14")]
|
||||
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mDataType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001B9B RID: 7067
|
||||
// (get) Token: 0x0600AE15 RID: 44565 RVA: 0x0025DDD8 File Offset: 0x0025BFD8
|
||||
[Token(Token = "0x17001B9B")]
|
||||
public virtual byte[] Data
|
||||
{
|
||||
[Token(Token = "0x600AE15")]
|
||||
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mData;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006FDB RID: 28635
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FDB")]
|
||||
protected readonly int mDataType;
|
||||
|
||||
// Token: 0x04006FDC RID: 28636
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FDC")]
|
||||
protected readonly byte[] mData;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B5E RID: 7006
|
||||
[Token(Token = "0x2001B5E")]
|
||||
public abstract class SupplementalDataType
|
||||
{
|
||||
// Token: 0x0600AE16 RID: 44566 RVA: 0x0025DDEC File Offset: 0x0025BFEC
|
||||
[Token(Token = "0x600AE16")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
protected SupplementalDataType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FDD RID: 28637
|
||||
[Token(Token = "0x4006FDD")]
|
||||
public const int user_mapping_data = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,239 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B5F RID: 7007
|
||||
[Token(Token = "0x2001B5F")]
|
||||
public class TlsAeadCipher : TlsCipher
|
||||
{
|
||||
// Token: 0x0600AE17 RID: 44567 RVA: 0x0025DE00 File Offset: 0x0025C000
|
||||
[Token(Token = "0x600AE17")]
|
||||
[Address(RVA = "0x197CCE0", Offset = "0x197BAE0", VA = "0x18197CCE0")]
|
||||
public TlsAeadCipher(TlsContext context, IAeadBlockCipher clientWriteCipher, IAeadBlockCipher serverWriteCipher, int cipherKeySize, int macSize)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AE18 RID: 44568 RVA: 0x0025DE10 File Offset: 0x0025C010
|
||||
[Token(Token = "0x600AE18")]
|
||||
[Address(RVA = "0x197CD10", Offset = "0x197BB10", VA = "0x18197CD10")]
|
||||
internal TlsAeadCipher(TlsContext context, IAeadBlockCipher clientWriteCipher, IAeadBlockCipher serverWriteCipher, int cipherKeySize, int macSize, int nonceMode)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AE18)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsAeadCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher,System.Int32,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_82:
|
||||
stloc:TlsFatalAlert(var_12_89, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_13)))
|
||||
stloc:TlsFatalAlert(var_14_92, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_15)))
|
||||
}
|
||||
|
||||
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 1660
|
||||
*/;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE19 RID: 44569 RVA: 0x0025DEB0 File Offset: 0x0025C0B0
|
||||
[Token(Token = "0x600AE19")]
|
||||
[Address(RVA = "0x197CCD0", Offset = "0x197BAD0", VA = "0x18197CCD0", Slot = "7")]
|
||||
public virtual int GetPlaintextLimit(int ciphertextLimit)
|
||||
{
|
||||
return ciphertextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE1A RID: 44570 RVA: 0x0025DEC0 File Offset: 0x0025C0C0
|
||||
[Token(Token = "0x600AE1A")]
|
||||
[Address(RVA = "0x197C7D0", Offset = "0x197B5D0", VA = "0x18197C7D0", Slot = "8")]
|
||||
public virtual byte[] EncodePlaintext(long seqNo, byte type, byte[] plaintext, int offset, int len)
|
||||
{
|
||||
byte[] array2;
|
||||
byte[] array4;
|
||||
for (;;)
|
||||
{
|
||||
byte[] array = this.encryptImplicitNonce;
|
||||
int num = this.record_iv_length;
|
||||
int length = array.Length;
|
||||
num += length;
|
||||
array2 = new byte[num];
|
||||
int num2 = this.nonceMode;
|
||||
if (num2 == 1)
|
||||
{
|
||||
byte[] array3 = this.encryptImplicitNonce;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array2, num3, length2);
|
||||
int length3 = this.encryptImplicitNonce.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length3);
|
||||
IAeadBlockCipher aeadBlockCipher = this.encryptCipher;
|
||||
int num5 = this.record_iv_length;
|
||||
num5 += num2;
|
||||
array4 = new byte[num5];
|
||||
int num6 = this.record_iv_length;
|
||||
if (num6 != 0)
|
||||
{
|
||||
int num7 = array2.Length;
|
||||
num7 -= num6;
|
||||
int num8 = 0;
|
||||
Array.Copy(array2, num7, array4, num8, num6);
|
||||
}
|
||||
int num9 = this.macSize;
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.encryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher3 = this.encryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher4 = this.encryptCipher;
|
||||
AeadParameters aeadParameters;
|
||||
num9 += aeadParameters;
|
||||
if (num9 == array4.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (num2 == 2)
|
||||
{
|
||||
goto Block_3;
|
||||
}
|
||||
}
|
||||
return array4;
|
||||
Block_3:
|
||||
int length4 = array2.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length4);
|
||||
int num10 = 0;
|
||||
int i = 0;
|
||||
byte[] array5 = this.encryptImplicitNonce;
|
||||
while (i >= array5.Length)
|
||||
{
|
||||
}
|
||||
num10++;
|
||||
byte[] array6 = this.encryptImplicitNonce;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AE1B RID: 44571 RVA: 0x0025E008 File Offset: 0x0025C208
|
||||
[Token(Token = "0x600AE1B")]
|
||||
[Address(RVA = "0x197C3B0", Offset = "0x197B1B0", VA = "0x18197C3B0", Slot = "9")]
|
||||
public virtual byte[] DecodeCiphertext(long seqNo, byte type, byte[] ciphertext, int offset, int len)
|
||||
{
|
||||
byte[] array6;
|
||||
for (;;)
|
||||
{
|
||||
byte[] array = this.decryptImplicitNonce;
|
||||
int num = this.record_iv_length;
|
||||
int length = array.Length;
|
||||
num += length;
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = this.nonceMode;
|
||||
if (num2 == 1)
|
||||
{
|
||||
byte[] array3 = this.decryptImplicitNonce;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array2, num3, length2);
|
||||
int num5 = this.record_iv_length;
|
||||
int num6 = array2.Length;
|
||||
num6 -= num5;
|
||||
Array.Copy(ciphertext, (int)seqNo, array2, num6, num5);
|
||||
}
|
||||
if (num2 == 2)
|
||||
{
|
||||
int length3 = array2.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length3);
|
||||
int num7 = 0;
|
||||
int num8 = 0;
|
||||
byte[] array4 = this.decryptImplicitNonce;
|
||||
if (num8 < array4.Length)
|
||||
{
|
||||
num7++;
|
||||
byte[] array5 = this.decryptImplicitNonce;
|
||||
}
|
||||
int num9 = this.record_iv_length;
|
||||
IAeadBlockCipher aeadBlockCipher = this.decryptCipher;
|
||||
array6 = new byte[num9];
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.decryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher3 = this.decryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher4 = this.decryptCipher;
|
||||
AeadParameters aeadParameters;
|
||||
aeadParameters += aeadParameters;
|
||||
if (aeadParameters == array6.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array6;
|
||||
}
|
||||
|
||||
// Token: 0x0600AE1C RID: 44572 RVA: 0x0025E128 File Offset: 0x0025C328
|
||||
[Token(Token = "0x600AE1C")]
|
||||
[Address(RVA = "0x197CBD0", Offset = "0x197B9D0", VA = "0x18197CBD0", Slot = "10")]
|
||||
protected virtual byte[] GetAdditionalData(long seqNo, byte type, int len)
|
||||
{
|
||||
byte[] array = new byte[13];
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint64(seqNo, array, num);
|
||||
TlsUtilities.WriteUint8(type, array, 8);
|
||||
TlsContext tlsContext = this.context;
|
||||
PngHelperInternal.WriteInt2tobytes(len, array, 11);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04006FDE RID: 28638
|
||||
[Token(Token = "0x4006FDE")]
|
||||
public const int NONCE_RFC5288 = 1;
|
||||
|
||||
// Token: 0x04006FDF RID: 28639
|
||||
[Token(Token = "0x4006FDF")]
|
||||
internal const int NONCE_DRAFT_CHACHA20_POLY1305 = 2;
|
||||
|
||||
// Token: 0x04006FE0 RID: 28640
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FE0")]
|
||||
protected readonly TlsContext context;
|
||||
|
||||
// Token: 0x04006FE1 RID: 28641
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FE1")]
|
||||
protected readonly int macSize;
|
||||
|
||||
// Token: 0x04006FE2 RID: 28642
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006FE2")]
|
||||
protected readonly int record_iv_length;
|
||||
|
||||
// Token: 0x04006FE3 RID: 28643
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FE3")]
|
||||
protected readonly IAeadBlockCipher encryptCipher;
|
||||
|
||||
// Token: 0x04006FE4 RID: 28644
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006FE4")]
|
||||
protected readonly IAeadBlockCipher decryptCipher;
|
||||
|
||||
// Token: 0x04006FE5 RID: 28645
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006FE5")]
|
||||
protected readonly byte[] encryptImplicitNonce;
|
||||
|
||||
// Token: 0x04006FE6 RID: 28646
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006FE6")]
|
||||
protected readonly byte[] decryptImplicitNonce;
|
||||
|
||||
// Token: 0x04006FE7 RID: 28647
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006FE7")]
|
||||
protected readonly int nonceMode;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001B60 RID: 7008
|
||||
[Token(Token = "0x2001B60")]
|
||||
public interface TlsAgreementCredentials : TlsCredentials
|
||||
{
|
||||
// Token: 0x0600AE1D RID: 44573
|
||||
[Token(Token = "0x600AE1D")]
|
||||
[Address(Slot = "0")]
|
||||
byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user