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 HostNames { [Token(Token = "0x600AB61")] [Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170", Slot = "20")] get; [Token(Token = "0x600AB62")] [Address(RVA = "0x46AA50", Offset = "0x469850", VA = "0x18046AA50", Slot = "21")] set; } // Token: 0x0600AB63 RID: 43875 RVA: 0x00255AB0 File Offset: 0x00253CB0 [Token(Token = "0x600AB63")] [Address(RVA = "0x188EBF0", Offset = "0x188D9F0", VA = "0x18188EBF0")] public AbstractTlsClient() { DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory(); int num = 0; this.NotifyNewSessionTicket(num); this.mCipherFactory = defaultTlsCipherFactory; } // Token: 0x0600AB64 RID: 43876 RVA: 0x00255AD4 File Offset: 0x00253CD4 [Token(Token = "0x600AB64")] [Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")] public AbstractTlsClient(TlsCipherFactory cipherFactory) { int num = 0; this.NotifyNewSessionTicket(num); this.mCipherFactory = cipherFactory; } // Token: 0x0600AB65 RID: 43877 RVA: 0x00255AF4 File Offset: 0x00253CF4 [Token(Token = "0x600AB65")] [Address(RVA = "0x188E390", Offset = "0x188D190", VA = "0x18188E390", Slot = "40")] protected virtual bool AllowUnexpectedServerExtension(int extensionType, byte[] extensionData) { if (extensionType == 10) { int[] array = TlsEccUtilities.ReadSupportedEllipticCurvesExtension(extensionData); return true; } if (extensionType == 11) { byte[] array2 = TlsEccUtilities.ReadSupportedPointFormatsExtension(extensionData); return true; } } // Token: 0x0600AB66 RID: 43878 RVA: 0x00255B20 File Offset: 0x00253D20 [Token(Token = "0x600AB66")] [Address(RVA = "0x188E440", Offset = "0x188D240", VA = "0x18188E440", Slot = "41")] protected virtual void CheckForUnexpectedServerExtension(IDictionary serverExtensions, int extensionType) { byte[] extensionData; do { extensionData = TlsUtilities.GetExtensionData(serverExtensions, extensionType); } while (extensionData != 0 && extensionData == 0); } // Token: 0x0600AB67 RID: 43879 RVA: 0x00255B40 File Offset: 0x00253D40 [Token(Token = "0x600AB67")] [Address(RVA = "0x3F7210", Offset = "0x3F6010", VA = "0x1803F7210", Slot = "42")] public virtual void Init(TlsClientContext context) { this.mContext = context; } // Token: 0x0600AB68 RID: 43880 RVA: 0x00255B54 File Offset: 0x00253D54 [Token(Token = "0x600AB68")] [Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "43")] public virtual TlsSession GetSessionToResume() { } // Token: 0x17001B32 RID: 6962 // (get) Token: 0x0600AB69 RID: 43881 RVA: 0x00255B64 File Offset: 0x00253D64 [Token(Token = "0x17001B32")] public virtual ProtocolVersion ClientHelloRecordLayerVersion { [Token(Token = "0x600AB69")] [Address(RVA = "0xEE6310", Offset = "0xEE5110", VA = "0x180EE6310", Slot = "44")] get { /* An exception occurred when decompiling this method (0600AB69) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsClient::get_ClientHelloRecordLayerVersion() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:int32[](var_0_06, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:AbstractTlsClient(this))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660 */; } } // Token: 0x17001B33 RID: 6963 // (get) Token: 0x0600AB6A RID: 43882 RVA: 0x00255B78 File Offset: 0x00253D78 [Token(Token = "0x17001B33")] public virtual ProtocolVersion ClientVersion { [Token(Token = "0x600AB6A")] [Address(RVA = "0x188EC50", Offset = "0x188DA50", VA = "0x18188EC50", Slot = "45")] get { return ProtocolVersion.TLSv12; } } // Token: 0x17001B34 RID: 6964 // (get) Token: 0x0600AB6B RID: 43883 RVA: 0x00255B8C File Offset: 0x00253D8C [Token(Token = "0x17001B34")] public virtual bool IsFallback { [Token(Token = "0x600AB6B")] [Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "46")] get { } } // Token: 0x0600AB6C RID: 43884 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AB6C")] [Address(RVA = "0x188E5A0", Offset = "0x188D3A0", VA = "0x18188E5A0", Slot = "47")] public virtual IDictionary GetClientExtensions() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17001B35 RID: 6965 // (get) Token: 0x0600AB6D RID: 43885 RVA: 0x00255B9C File Offset: 0x00253D9C [Token(Token = "0x17001B35")] public virtual ProtocolVersion MinimumVersion { [Token(Token = "0x600AB6D")] [Address(RVA = "0x188ECB0", Offset = "0x188DAB0", VA = "0x18188ECB0", Slot = "48")] get { return ProtocolVersion.TLSv10; } } // Token: 0x0600AB6E RID: 43886 RVA: 0x00255BB0 File Offset: 0x00253DB0 [Token(Token = "0x600AB6E")] [Address(RVA = "0x188E9D0", Offset = "0x188D7D0", VA = "0x18188E9D0", Slot = "49")] public virtual void NotifyServerVersion(ProtocolVersion serverVersion) { bool flag; do { IDictionary clientExtensions = this.GetClientExtensions(); } while (!flag); } // Token: 0x0600AB6F RID: 43887 [Token(Token = "0x600AB6F")] [Address(Slot = "50")] public abstract int[] GetCipherSuites(); // Token: 0x0600AB70 RID: 43888 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AB70")] [Address(RVA = "0x188E8D0", Offset = "0x188D6D0", VA = "0x18188E8D0", Slot = "51")] public virtual byte[] GetCompressionMethods() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600AB71 RID: 43889 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AB71")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "52")] public virtual void NotifySessionID(byte[] sessionID) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600AB72 RID: 43890 RVA: 0x00255BC8 File Offset: 0x00253DC8 [Token(Token = "0x600AB72")] [Address(RVA = "0x445D00", Offset = "0x444B00", VA = "0x180445D00", Slot = "53")] public virtual void NotifySelectedCipherSuite(int selectedCipherSuite) { this.mSelectedCipherSuite = selectedCipherSuite; } // Token: 0x0600AB73 RID: 43891 RVA: 0x00255BDC File Offset: 0x00253DDC [Token(Token = "0x600AB73")] [Address(RVA = "0x188E9C0", Offset = "0x188D7C0", VA = "0x18188E9C0", Slot = "54")] public virtual void NotifySelectedCompressionMethod(byte selectedCompressionMethod) { this.mSelectedCompressionMethod = (short)selectedCompressionMethod; } // Token: 0x0600AB74 RID: 43892 RVA: 0x00255BF0 File Offset: 0x00253DF0 [Token(Token = "0x600AB74")] [Address(RVA = "0x188EA70", Offset = "0x188D870", VA = "0x18188EA70", Slot = "55")] public virtual void ProcessServerExtensions(IDictionary serverExtensions) { if (serverExtensions != 0) { if (!TlsEccUtilities.IsEccCipherSuite(this.mSelectedCipherSuite)) { } byte[] supportedPointFormatsExtension = TlsEccUtilities.GetSupportedPointFormatsExtension(serverExtensions); this.mServerECPointFormats = supportedPointFormatsExtension; } } // Token: 0x0600AB75 RID: 43893 RVA: 0x00255C20 File Offset: 0x00253E20 [Token(Token = "0x600AB75")] [Address(RVA = "0x188EB90", Offset = "0x188D990", VA = "0x18188EB90", Slot = "56")] public virtual void ProcessServerSupplementalData(IList serverSupplementalData) { while (serverSupplementalData != 0) { } } // Token: 0x0600AB76 RID: 43894 [Token(Token = "0x600AB76")] [Address(Slot = "57")] public abstract TlsKeyExchange GetKeyExchange(); // Token: 0x0600AB77 RID: 43895 [Token(Token = "0x600AB77")] [Address(Slot = "58")] public abstract TlsAuthentication GetAuthentication(); // Token: 0x0600AB78 RID: 43896 RVA: 0x00255C34 File Offset: 0x00253E34 [Token(Token = "0x600AB78")] [Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "59")] public virtual IList GetClientSupplementalData() { } // Token: 0x0600AB79 RID: 43897 RVA: 0x00255C44 File Offset: 0x00253E44 [Token(Token = "0x600AB79")] [Address(RVA = "0x188E910", Offset = "0x188D710", VA = "0x18188E910", Slot = "15")] public override TlsCompression GetCompression() { /* An exception occurred when decompiling this method (0600AB79) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCompression BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsClient::GetCompression() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:int16(var_0_06, ldfld:int16(AbstractTlsClient::mSelectedCompressionMethod, ldloc:AbstractTlsClient(this))) stloc:TlsNullCompression(var_1_0C, newobj:TlsNullCompression(TlsNullCompression::.ctor)) stloc:TlsDeflateCompression(var_2_12, newobj:TlsDeflateCompression(TlsDeflateCompression::.ctor)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1660 */; } // Token: 0x0600AB7A RID: 43898 RVA: 0x00255C64 File Offset: 0x00253E64 [Token(Token = "0x600AB7A")] [Address(RVA = "0x188E500", Offset = "0x188D300", VA = "0x18188E500", Slot = "16")] public override TlsCipher GetCipher() { int num = this.mSelectedCipherSuite; int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(num); int num2 = this.mSelectedCipherSuite; int macAlgorithm = TlsUtilities.GetMacAlgorithm(num2); TlsCipherFactory tlsCipherFactory = this.mCipherFactory; throw new NullReferenceException(); } // Token: 0x0600AB7B RID: 43899 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x600AB7B")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "60")] public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04006CAE RID: 27822 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006CAE")] protected TlsCipherFactory mCipherFactory; // Token: 0x04006CAF RID: 27823 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006CAF")] protected TlsClientContext mContext; // Token: 0x04006CB0 RID: 27824 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006CB0")] protected IList mSupportedSignatureAlgorithms; // Token: 0x04006CB1 RID: 27825 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006CB1")] protected int[] mNamedCurves; // Token: 0x04006CB2 RID: 27826 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4006CB2")] protected byte[] mClientECPointFormats; // Token: 0x04006CB3 RID: 27827 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4006CB3")] protected byte[] mServerECPointFormats; // Token: 0x04006CB4 RID: 27828 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4006CB4")] protected int mSelectedCipherSuite; // Token: 0x04006CB5 RID: 27829 [FieldOffset(Offset = "0x44")] [Token(Token = "0x4006CB5")] protected short mSelectedCompressionMethod; } }