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; } }