This commit is contained in:
niko
2026-04-10 22:50:51 +02:00
parent 6d1607d5a2
commit f18d448581
17033 changed files with 2863270 additions and 0 deletions
@@ -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()
{
}
}
}
@@ -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()
{
}
}
}
@@ -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 1663
*/;
}
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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()
{
}
}
}
@@ -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()
{
}
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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();
}
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
}
// Token: 0x0600ABD5 RID: 43989 RVA: 0x0025659C File Offset: 0x0025479C
[Token(Token = "0x600ABD5")]
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
protected AbstractTlsSignerCredentials()
{
}
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
}
// 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 1663
*/;
}
[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 1663
*/;
}
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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);
}
}
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
@@ -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();
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// Token: 0x0600AC71 RID: 44145 RVA: 0x00258108 File Offset: 0x00256308
[Token(Token = "0x600AC71")]
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
public DefaultTlsCipherFactory()
{
}
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// Token: 0x04006E4C RID: 28236
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4006E4C")]
protected TlsDHVerifier mDHVerifier;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// Token: 0x04006E79 RID: 28281
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006E79")]
protected readonly SecureRandom mSecureRandom;
}
}
@@ -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;
}
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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()
{
}
}
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
}
// 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 1663
*/;
}
// 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;
}
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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()
{
}
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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;
}
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
}
@@ -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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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 1663
*/;
}
// 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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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 1663
*/;
}
// 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;
}
}
@@ -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