using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001515 RID: 5397 [Token(Token = "0x2001515")] [StructLayout(3)] public abstract class AbstractTlsClient : AbstractTlsPeer, TlsClient, TlsPeer { // Token: 0x17001730 RID: 5936 // (get) Token: 0x06008F87 RID: 36743 RVA: 0x001FE3B4 File Offset: 0x001FC5B4 // (set) Token: 0x06008F88 RID: 36744 RVA: 0x001FE3C8 File Offset: 0x001FC5C8 [Token(Token = "0x17001730")] public List HostNames { [Token(Token = "0x6008F87")] [Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0", Slot = "20")] get; [Token(Token = "0x6008F88")] [Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0", Slot = "21")] set; } // Token: 0x06008F89 RID: 36745 RVA: 0x001FE3DC File Offset: 0x001FC5DC [Token(Token = "0x6008F89")] [Address(RVA = "0x1E38B50", Offset = "0x1E37550", VA = "0x181E38B50")] public AbstractTlsClient() { DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory(); base..ctor(); this.mCipherFactory = defaultTlsCipherFactory; } // Token: 0x06008F8A RID: 36746 RVA: 0x001FE3FC File Offset: 0x001FC5FC [Token(Token = "0x6008F8A")] [Address(RVA = "0x579A20", Offset = "0x578420", VA = "0x180579A20")] public AbstractTlsClient(TlsCipherFactory cipherFactory) { this.mCipherFactory = cipherFactory; } // Token: 0x06008F8B RID: 36747 RVA: 0x001FE418 File Offset: 0x001FC618 [Token(Token = "0x6008F8B")] [Address(RVA = "0x1E38210", Offset = "0x1E36C10", VA = "0x181E38210", 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: 0x06008F8C RID: 36748 RVA: 0x001FE444 File Offset: 0x001FC644 [Token(Token = "0x6008F8C")] [Address(RVA = "0x1E382C0", Offset = "0x1E36CC0", VA = "0x181E382C0", Slot = "41")] protected virtual void CheckForUnexpectedServerExtension(IDictionary serverExtensions, int extensionType) { byte[] extensionData; do { extensionData = TlsUtilities.GetExtensionData(serverExtensions, extensionType); } while (extensionData != 0 && extensionData == 0); } // Token: 0x06008F8D RID: 36749 RVA: 0x001FE464 File Offset: 0x001FC664 [Token(Token = "0x6008F8D")] [Address(RVA = "0x3C1280", Offset = "0x3BFC80", VA = "0x1803C1280", Slot = "42")] public virtual void Init(TlsClientContext context) { this.mContext = context; } // Token: 0x06008F8E RID: 36750 RVA: 0x001FE478 File Offset: 0x001FC678 [Token(Token = "0x6008F8E")] [Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "43")] public virtual TlsSession GetSessionToResume() { } // Token: 0x17001731 RID: 5937 // (get) Token: 0x06008F8F RID: 36751 RVA: 0x001FE488 File Offset: 0x001FC688 [Token(Token = "0x17001731")] public virtual ProtocolVersion ClientHelloRecordLayerVersion { [Token(Token = "0x6008F8F")] [Address(RVA = "0x17A3490", Offset = "0x17A1E90", VA = "0x1817A3490", Slot = "44")] get { /* An exception occurred when decompiling this method (06008F8F) 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: 0x17001732 RID: 5938 // (get) Token: 0x06008F90 RID: 36752 RVA: 0x001FE49C File Offset: 0x001FC69C [Token(Token = "0x17001732")] public virtual ProtocolVersion ClientVersion { [Token(Token = "0x6008F90")] [Address(RVA = "0x1E38BB0", Offset = "0x1E375B0", VA = "0x181E38BB0", Slot = "45")] get { return ProtocolVersion.TLSv12; } } // Token: 0x17001733 RID: 5939 // (get) Token: 0x06008F91 RID: 36753 RVA: 0x001FE4B0 File Offset: 0x001FC6B0 [Token(Token = "0x17001733")] public virtual bool IsFallback { [Token(Token = "0x6008F91")] [Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "46")] get { } } // Token: 0x06008F92 RID: 36754 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6008F92")] [Address(RVA = "0x1E38490", Offset = "0x1E36E90", VA = "0x181E38490", Slot = "47")] public virtual IDictionary GetClientExtensions() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x17001734 RID: 5940 // (get) Token: 0x06008F93 RID: 36755 RVA: 0x001FE4C0 File Offset: 0x001FC6C0 [Token(Token = "0x17001734")] public virtual ProtocolVersion MinimumVersion { [Token(Token = "0x6008F93")] [Address(RVA = "0x1E38C10", Offset = "0x1E37610", VA = "0x181E38C10", Slot = "48")] get { return ProtocolVersion.TLSv10; } } // Token: 0x06008F94 RID: 36756 RVA: 0x001FE4D4 File Offset: 0x001FC6D4 [Token(Token = "0x6008F94")] [Address(RVA = "0x1E38930", Offset = "0x1E37330", VA = "0x181E38930", Slot = "49")] public virtual void NotifyServerVersion(ProtocolVersion serverVersion) { bool flag; do { IDictionary clientExtensions = this.GetClientExtensions(); } while (!flag); } // Token: 0x06008F95 RID: 36757 [Token(Token = "0x6008F95")] [Address(Slot = "50")] public abstract int[] GetCipherSuites(); // Token: 0x06008F96 RID: 36758 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6008F96")] [Address(RVA = "0x1E38830", Offset = "0x1E37230", VA = "0x181E38830", Slot = "51")] public virtual byte[] GetCompressionMethods() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06008F97 RID: 36759 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6008F97")] [Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "52")] public virtual void NotifySessionID(byte[] sessionID) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06008F98 RID: 36760 RVA: 0x001FE4EC File Offset: 0x001FC6EC [Token(Token = "0x6008F98")] [Address(RVA = "0x4564B0", Offset = "0x454EB0", VA = "0x1804564B0", Slot = "53")] public virtual void NotifySelectedCipherSuite(int selectedCipherSuite) { this.mSelectedCipherSuite = selectedCipherSuite; } // Token: 0x06008F99 RID: 36761 RVA: 0x001FE500 File Offset: 0x001FC700 [Token(Token = "0x6008F99")] [Address(RVA = "0x1E38920", Offset = "0x1E37320", VA = "0x181E38920", Slot = "54")] public virtual void NotifySelectedCompressionMethod(byte selectedCompressionMethod) { this.mSelectedCompressionMethod = (short)selectedCompressionMethod; } // Token: 0x06008F9A RID: 36762 RVA: 0x001FE514 File Offset: 0x001FC714 [Token(Token = "0x6008F9A")] [Address(RVA = "0x1E389D0", Offset = "0x1E373D0", VA = "0x181E389D0", 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: 0x06008F9B RID: 36763 RVA: 0x001FE544 File Offset: 0x001FC744 [Token(Token = "0x6008F9B")] [Address(RVA = "0x1E38AF0", Offset = "0x1E374F0", VA = "0x181E38AF0", Slot = "56")] public virtual void ProcessServerSupplementalData(IList serverSupplementalData) { while (serverSupplementalData != 0) { } } // Token: 0x06008F9C RID: 36764 [Token(Token = "0x6008F9C")] [Address(Slot = "57")] public abstract TlsKeyExchange GetKeyExchange(); // Token: 0x06008F9D RID: 36765 [Token(Token = "0x6008F9D")] [Address(Slot = "58")] public abstract TlsAuthentication GetAuthentication(); // Token: 0x06008F9E RID: 36766 RVA: 0x001FE558 File Offset: 0x001FC758 [Token(Token = "0x6008F9E")] [Address(RVA = "0x3F8880", Offset = "0x3F7280", VA = "0x1803F8880", Slot = "59")] public virtual IList GetClientSupplementalData() { } // Token: 0x06008F9F RID: 36767 RVA: 0x001FE568 File Offset: 0x001FC768 [Token(Token = "0x6008F9F")] [Address(RVA = "0x1E38870", Offset = "0x1E37270", VA = "0x181E38870", Slot = "15")] public override TlsCompression GetCompression() { /* An exception occurred when decompiling this method (06008F9F) 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: 0x06008FA0 RID: 36768 RVA: 0x001FE588 File Offset: 0x001FC788 [Token(Token = "0x6008FA0")] [Address(RVA = "0x1E38380", Offset = "0x1E36D80", VA = "0x181E38380", Slot = "16")] public override TlsCipher GetCipher() { int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(this.mSelectedCipherSuite); int num = TlsUtilities.GetMacAlgorithm(this.mSelectedCipherSuite); TlsCipherFactory tlsCipherFactory = this.mCipherFactory; TlsClientContext tlsClientContext = this.mContext; int num2 = 0; num2 += num2; num2++; tlsClientContext += tlsClientContext; num += 19; throw new NullReferenceException(); } // Token: 0x06008FA1 RID: 36769 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6008FA1")] [Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "60")] public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04005E6B RID: 24171 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4005E6B")] protected TlsCipherFactory mCipherFactory; // Token: 0x04005E6C RID: 24172 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4005E6C")] protected TlsClientContext mContext; // Token: 0x04005E6D RID: 24173 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4005E6D")] protected IList mSupportedSignatureAlgorithms; // Token: 0x04005E6E RID: 24174 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4005E6E")] protected int[] mNamedCurves; // Token: 0x04005E6F RID: 24175 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4005E6F")] protected byte[] mClientECPointFormats; // Token: 0x04005E70 RID: 24176 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4005E70")] protected byte[] mServerECPointFormats; // Token: 0x04005E71 RID: 24177 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4005E71")] protected int mSelectedCipherSuite; // Token: 0x04005E72 RID: 24178 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x4005E72")] protected short mSelectedCompressionMethod; } }