237 lines
9.2 KiB
C#
237 lines
9.2 KiB
C#
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;
|
|
}
|
|
}
|