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