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: 0x02001BD3 RID: 7123 [Token(Token = "0x2001BD3")] internal abstract class AbstractTlsContext : TlsContext { // Token: 0x0600AF4A RID: 44874 RVA: 0x0025ED48 File Offset: 0x0025CF48 [Token(Token = "0x600AF4A")] [Address(RVA = "0x232C220", Offset = "0x232B220", VA = "0x18232C220")] private static long NextCounterValue() { long num; return num; } // Token: 0x0600AF4B RID: 44875 RVA: 0x0025ED58 File Offset: 0x0025CF58 [Token(Token = "0x600AF4B")] [Address(RVA = "0x232C2E0", Offset = "0x232B2E0", VA = "0x18232C2E0")] 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: 0x17001BD3 RID: 7123 // (get) Token: 0x0600AF4C RID: 44876 RVA: 0x0025EDB8 File Offset: 0x0025CFB8 [Token(Token = "0x17001BD3")] public virtual IRandomGenerator NonceRandomGenerator { [Token(Token = "0x600AF4C")] [Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "14")] get { return this.mNonceRandom; } } // Token: 0x17001BD4 RID: 7124 // (get) Token: 0x0600AF4D RID: 44877 RVA: 0x0025EDCC File Offset: 0x0025CFCC [Token(Token = "0x17001BD4")] public virtual SecureRandom SecureRandom { [Token(Token = "0x600AF4D")] [Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "15")] get { return this.mSecureRandom; } } // Token: 0x17001BD5 RID: 7125 // (get) Token: 0x0600AF4E RID: 44878 RVA: 0x0025EDE0 File Offset: 0x0025CFE0 [Token(Token = "0x17001BD5")] public virtual SecurityParameters SecurityParameters { [Token(Token = "0x600AF4E")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0", Slot = "16")] get { return this.mSecurityParameters; } } // Token: 0x17001BD6 RID: 7126 // (get) Token: 0x0600AF4F RID: 44879 [Token(Token = "0x17001BD6")] public abstract bool IsServer { [Token(Token = "0x600AF4F")] [Address(Slot = "17")] get; } // Token: 0x17001BD7 RID: 7127 // (get) Token: 0x0600AF50 RID: 44880 RVA: 0x0025EDF4 File Offset: 0x0025CFF4 [Token(Token = "0x17001BD7")] public virtual ProtocolVersion ClientVersion { [Token(Token = "0x600AF50")] [Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0", Slot = "18")] get { return this.mClientVersion; } } // Token: 0x0600AF51 RID: 44881 RVA: 0x0025EE08 File Offset: 0x0025D008 [Token(Token = "0x600AF51")] [Address(RVA = "0x415820", Offset = "0x414820", VA = "0x180415820", Slot = "19")] internal virtual void SetClientVersion(ProtocolVersion clientVersion) { this.mClientVersion = clientVersion; } // Token: 0x17001BD8 RID: 7128 // (get) Token: 0x0600AF52 RID: 44882 RVA: 0x0025EE1C File Offset: 0x0025D01C [Token(Token = "0x17001BD8")] public virtual ProtocolVersion ServerVersion { [Token(Token = "0x600AF52")] [Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0", Slot = "20")] get { return this.mServerVersion; } } // Token: 0x0600AF53 RID: 44883 RVA: 0x0025EE30 File Offset: 0x0025D030 [Token(Token = "0x600AF53")] [Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830", Slot = "21")] internal virtual void SetServerVersion(ProtocolVersion serverVersion) { this.mServerVersion = serverVersion; } // Token: 0x17001BD9 RID: 7129 // (get) Token: 0x0600AF54 RID: 44884 RVA: 0x0025EE44 File Offset: 0x0025D044 [Token(Token = "0x17001BD9")] public virtual TlsSession ResumableSession { [Token(Token = "0x600AF54")] [Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0", Slot = "22")] get { return this.mSession; } } // Token: 0x0600AF55 RID: 44885 RVA: 0x0025EE58 File Offset: 0x0025D058 [Token(Token = "0x600AF55")] [Address(RVA = "0x41CFF0", Offset = "0x41BFF0", VA = "0x18041CFF0", Slot = "23")] internal virtual void SetResumableSession(TlsSession session) { this.mSession = session; } // Token: 0x17001BDA RID: 7130 // (get) Token: 0x0600AF56 RID: 44886 RVA: 0x0025EE6C File Offset: 0x0025D06C // (set) Token: 0x0600AF57 RID: 44887 RVA: 0x0025EE80 File Offset: 0x0025D080 [Token(Token = "0x17001BDA")] public virtual object UserObject { [Token(Token = "0x600AF56")] [Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680", Slot = "24")] get { return this.mUserObject; } [Token(Token = "0x600AF57")] [Address(RVA = "0x417960", Offset = "0x416960", VA = "0x180417960", Slot = "25")] set { this.mUserObject = value; } } // Token: 0x0600AF58 RID: 44888 RVA: 0x0025EE94 File Offset: 0x0025D094 [Token(Token = "0x600AF58")] [Address(RVA = "0x232BF40", Offset = "0x232AF40", VA = "0x18232BF40", Slot = "26")] public virtual byte[] ExportKeyingMaterial(string asciiLabel, byte[] context_value, int length) { /* An exception occurred when decompiling this method (0600AF58) 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: 0x04006E70 RID: 28272 [Token(Token = "0x4006E70")] private static long counter = Times.NanoTime(); // Token: 0x04006E71 RID: 28273 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006E71")] private readonly IRandomGenerator mNonceRandom; // Token: 0x04006E72 RID: 28274 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006E72")] private readonly SecureRandom mSecureRandom; // Token: 0x04006E73 RID: 28275 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006E73")] private readonly SecurityParameters mSecurityParameters; // Token: 0x04006E74 RID: 28276 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006E74")] private ProtocolVersion mClientVersion; // Token: 0x04006E75 RID: 28277 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4006E75")] private ProtocolVersion mServerVersion; // Token: 0x04006E76 RID: 28278 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4006E76")] private TlsSession mSession; // Token: 0x04006E77 RID: 28279 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4006E77")] private object mUserObject; } }