m
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD0 RID: 7120
|
||||
[Token(Token = "0x2001BD0")]
|
||||
public abstract class AbstractTlsAgreementCredentials : AbstractTlsCredentials, TlsAgreementCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x0600AF2B RID: 44843
|
||||
[Token(Token = "0x600AF2B")]
|
||||
[Address(Slot = "7")]
|
||||
public abstract byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey);
|
||||
|
||||
// Token: 0x0600AF2C RID: 44844 RVA: 0x0025EB0C File Offset: 0x0025CD0C
|
||||
[Token(Token = "0x600AF2C")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AbstractTlsAgreementCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD1 RID: 7121
|
||||
[Token(Token = "0x2001BD1")]
|
||||
public class AbstractTlsCipherFactory : TlsCipherFactory
|
||||
{
|
||||
// Token: 0x0600AF2D RID: 44845 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF2D")]
|
||||
[Address(RVA = "0x232B570", Offset = "0x232A570", VA = "0x18232B570", Slot = "5")]
|
||||
public virtual TlsCipher CreateCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF2E RID: 44846 RVA: 0x0025EB20 File Offset: 0x0025CD20
|
||||
[Token(Token = "0x600AF2E")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public AbstractTlsCipherFactory()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+350
@@ -0,0 +1,350 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD2 RID: 7122
|
||||
[Token(Token = "0x2001BD2")]
|
||||
public abstract class AbstractTlsClient : AbstractTlsPeer, TlsClient, TlsPeer
|
||||
{
|
||||
// Token: 0x17001BCE RID: 7118
|
||||
// (get) Token: 0x0600AF2F RID: 44847 RVA: 0x0025EB34 File Offset: 0x0025CD34
|
||||
// (set) Token: 0x0600AF30 RID: 44848 RVA: 0x0025EB48 File Offset: 0x0025CD48
|
||||
[Token(Token = "0x17001BCE")]
|
||||
public List<string> HostNames
|
||||
{
|
||||
[Token(Token = "0x600AF2F")]
|
||||
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0", Slot = "20")]
|
||||
get;
|
||||
[Token(Token = "0x600AF30")]
|
||||
[Address(RVA = "0x55BCF0", Offset = "0x55ACF0", VA = "0x18055BCF0", Slot = "21")]
|
||||
set;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF31 RID: 44849 RVA: 0x0025EB5C File Offset: 0x0025CD5C
|
||||
[Token(Token = "0x600AF31")]
|
||||
[Address(RVA = "0x232BE20", Offset = "0x232AE20", VA = "0x18232BE20")]
|
||||
public AbstractTlsClient()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
int num = 0;
|
||||
this.NotifyNewSessionTicket(num);
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF32 RID: 44850 RVA: 0x0025EB80 File Offset: 0x0025CD80
|
||||
[Token(Token = "0x600AF32")]
|
||||
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
||||
public AbstractTlsClient(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
int num = 0;
|
||||
this.NotifyNewSessionTicket(num);
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF33 RID: 44851 RVA: 0x0025EBA0 File Offset: 0x0025CDA0
|
||||
[Token(Token = "0x600AF33")]
|
||||
[Address(RVA = "0x232B5C0", Offset = "0x232A5C0", VA = "0x18232B5C0", 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: 0x0600AF34 RID: 44852 RVA: 0x0025EBCC File Offset: 0x0025CDCC
|
||||
[Token(Token = "0x600AF34")]
|
||||
[Address(RVA = "0x232B670", Offset = "0x232A670", VA = "0x18232B670", Slot = "41")]
|
||||
protected virtual void CheckForUnexpectedServerExtension(IDictionary serverExtensions, int extensionType)
|
||||
{
|
||||
byte[] extensionData;
|
||||
do
|
||||
{
|
||||
extensionData = TlsUtilities.GetExtensionData(serverExtensions, extensionType);
|
||||
}
|
||||
while (extensionData != 0 && extensionData == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AF35 RID: 44853 RVA: 0x0025EBEC File Offset: 0x0025CDEC
|
||||
[Token(Token = "0x600AF35")]
|
||||
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0", Slot = "42")]
|
||||
public virtual void Init(TlsClientContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF36 RID: 44854 RVA: 0x0025EC00 File Offset: 0x0025CE00
|
||||
[Token(Token = "0x600AF36")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "43")]
|
||||
public virtual TlsSession GetSessionToResume()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001BCF RID: 7119
|
||||
// (get) Token: 0x0600AF37 RID: 44855 RVA: 0x0025EC10 File Offset: 0x0025CE10
|
||||
[Token(Token = "0x17001BCF")]
|
||||
public virtual ProtocolVersion ClientHelloRecordLayerVersion
|
||||
{
|
||||
[Token(Token = "0x600AF37")]
|
||||
[Address(RVA = "0x19AF360", Offset = "0x19AE360", VA = "0x1819AF360", Slot = "44")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AF37)
|
||||
|
||||
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: 0x17001BD0 RID: 7120
|
||||
// (get) Token: 0x0600AF38 RID: 44856 RVA: 0x0025EC24 File Offset: 0x0025CE24
|
||||
[Token(Token = "0x17001BD0")]
|
||||
public virtual ProtocolVersion ClientVersion
|
||||
{
|
||||
[Token(Token = "0x600AF38")]
|
||||
[Address(RVA = "0x232BE80", Offset = "0x232AE80", VA = "0x18232BE80", Slot = "45")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv12;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BD1 RID: 7121
|
||||
// (get) Token: 0x0600AF39 RID: 44857 RVA: 0x0025EC38 File Offset: 0x0025CE38
|
||||
[Token(Token = "0x17001BD1")]
|
||||
public virtual bool IsFallback
|
||||
{
|
||||
[Token(Token = "0x600AF39")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "46")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF3A RID: 44858 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF3A")]
|
||||
[Address(RVA = "0x232B7D0", Offset = "0x232A7D0", VA = "0x18232B7D0", Slot = "47")]
|
||||
public virtual IDictionary GetClientExtensions()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001BD2 RID: 7122
|
||||
// (get) Token: 0x0600AF3B RID: 44859 RVA: 0x0025EC48 File Offset: 0x0025CE48
|
||||
[Token(Token = "0x17001BD2")]
|
||||
public virtual ProtocolVersion MinimumVersion
|
||||
{
|
||||
[Token(Token = "0x600AF3B")]
|
||||
[Address(RVA = "0x232BEE0", Offset = "0x232AEE0", VA = "0x18232BEE0", Slot = "48")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv10;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF3C RID: 44860 RVA: 0x0025EC5C File Offset: 0x0025CE5C
|
||||
[Token(Token = "0x600AF3C")]
|
||||
[Address(RVA = "0x232BC00", Offset = "0x232AC00", VA = "0x18232BC00", Slot = "49")]
|
||||
public virtual void NotifyServerVersion(ProtocolVersion serverVersion)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
IDictionary clientExtensions = this.GetClientExtensions();
|
||||
}
|
||||
while (!flag);
|
||||
}
|
||||
|
||||
// Token: 0x0600AF3D RID: 44861
|
||||
[Token(Token = "0x600AF3D")]
|
||||
[Address(Slot = "50")]
|
||||
public abstract int[] GetCipherSuites();
|
||||
|
||||
// Token: 0x0600AF3E RID: 44862 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF3E")]
|
||||
[Address(RVA = "0x232BB00", Offset = "0x232AB00", VA = "0x18232BB00", Slot = "51")]
|
||||
public virtual byte[] GetCompressionMethods()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF3F RID: 44863 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF3F")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "52")]
|
||||
public virtual void NotifySessionID(byte[] sessionID)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF40 RID: 44864 RVA: 0x0025EC74 File Offset: 0x0025CE74
|
||||
[Token(Token = "0x600AF40")]
|
||||
[Address(RVA = "0x678D30", Offset = "0x677D30", VA = "0x180678D30", Slot = "53")]
|
||||
public virtual void NotifySelectedCipherSuite(int selectedCipherSuite)
|
||||
{
|
||||
this.mSelectedCipherSuite = selectedCipherSuite;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF41 RID: 44865 RVA: 0x0025EC88 File Offset: 0x0025CE88
|
||||
[Token(Token = "0x600AF41")]
|
||||
[Address(RVA = "0x232BBF0", Offset = "0x232ABF0", VA = "0x18232BBF0", Slot = "54")]
|
||||
public virtual void NotifySelectedCompressionMethod(byte selectedCompressionMethod)
|
||||
{
|
||||
this.mSelectedCompressionMethod = (short)selectedCompressionMethod;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF42 RID: 44866 RVA: 0x0025EC9C File Offset: 0x0025CE9C
|
||||
[Token(Token = "0x600AF42")]
|
||||
[Address(RVA = "0x232BCA0", Offset = "0x232ACA0", VA = "0x18232BCA0", 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: 0x0600AF43 RID: 44867 RVA: 0x0025ECCC File Offset: 0x0025CECC
|
||||
[Token(Token = "0x600AF43")]
|
||||
[Address(RVA = "0x232BDC0", Offset = "0x232ADC0", VA = "0x18232BDC0", Slot = "56")]
|
||||
public virtual void ProcessServerSupplementalData(IList serverSupplementalData)
|
||||
{
|
||||
while (serverSupplementalData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF44 RID: 44868
|
||||
[Token(Token = "0x600AF44")]
|
||||
[Address(Slot = "57")]
|
||||
public abstract TlsKeyExchange GetKeyExchange();
|
||||
|
||||
// Token: 0x0600AF45 RID: 44869
|
||||
[Token(Token = "0x600AF45")]
|
||||
[Address(Slot = "58")]
|
||||
public abstract TlsAuthentication GetAuthentication();
|
||||
|
||||
// Token: 0x0600AF46 RID: 44870 RVA: 0x0025ECE0 File Offset: 0x0025CEE0
|
||||
[Token(Token = "0x600AF46")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "59")]
|
||||
public virtual IList GetClientSupplementalData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF47 RID: 44871 RVA: 0x0025ECF0 File Offset: 0x0025CEF0
|
||||
[Token(Token = "0x600AF47")]
|
||||
[Address(RVA = "0x232BB40", Offset = "0x232AB40", VA = "0x18232BB40", Slot = "15")]
|
||||
public override TlsCompression GetCompression()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AF47)
|
||||
|
||||
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: 0x0600AF48 RID: 44872 RVA: 0x0025ED10 File Offset: 0x0025CF10
|
||||
[Token(Token = "0x600AF48")]
|
||||
[Address(RVA = "0x232B730", Offset = "0x232A730", VA = "0x18232B730", Slot = "16")]
|
||||
public override TlsCipher GetCipher()
|
||||
{
|
||||
int num = this.mSelectedCipherSuite;
|
||||
int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(num);
|
||||
int num2 = this.mSelectedCipherSuite;
|
||||
int macAlgorithm = TlsUtilities.GetMacAlgorithm(num2);
|
||||
TlsCipherFactory tlsCipherFactory = this.mCipherFactory;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AF49 RID: 44873 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF49")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "60")]
|
||||
public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x04006E67 RID: 28263
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E67")]
|
||||
protected TlsCipherFactory mCipherFactory;
|
||||
|
||||
// Token: 0x04006E68 RID: 28264
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E68")]
|
||||
protected TlsClientContext mContext;
|
||||
|
||||
// Token: 0x04006E69 RID: 28265
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E69")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006E6A RID: 28266
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E6A")]
|
||||
protected int[] mNamedCurves;
|
||||
|
||||
// Token: 0x04006E6B RID: 28267
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E6B")]
|
||||
protected byte[] mClientECPointFormats;
|
||||
|
||||
// Token: 0x04006E6C RID: 28268
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006E6C")]
|
||||
protected byte[] mServerECPointFormats;
|
||||
|
||||
// Token: 0x04006E6D RID: 28269
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006E6D")]
|
||||
protected int mSelectedCipherSuite;
|
||||
|
||||
// Token: 0x04006E6E RID: 28270
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4006E6E")]
|
||||
protected short mSelectedCompressionMethod;
|
||||
}
|
||||
}
|
||||
+236
@@ -0,0 +1,236 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD4 RID: 7124
|
||||
[Token(Token = "0x2001BD4")]
|
||||
public abstract class AbstractTlsCredentials : TlsCredentials
|
||||
{
|
||||
// Token: 0x17001BDB RID: 7131
|
||||
// (get) Token: 0x0600AF5A RID: 44890
|
||||
[Token(Token = "0x17001BDB")]
|
||||
public abstract Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600AF5A")]
|
||||
[Address(Slot = "5")]
|
||||
get;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF5B RID: 44891 RVA: 0x0025EF9C File Offset: 0x0025D19C
|
||||
[Token(Token = "0x600AF5B")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AbstractTlsCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD5 RID: 7125
|
||||
[Token(Token = "0x2001BD5")]
|
||||
public abstract class AbstractTlsEncryptionCredentials : AbstractTlsCredentials, TlsEncryptionCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x0600AF5C RID: 44892
|
||||
[Token(Token = "0x600AF5C")]
|
||||
[Address(Slot = "7")]
|
||||
public abstract byte[] DecryptPreMasterSecret(byte[] encryptedPreMasterSecret);
|
||||
|
||||
// Token: 0x0600AF5D RID: 44893 RVA: 0x0025EFB0 File Offset: 0x0025D1B0
|
||||
[Token(Token = "0x600AF5D")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AbstractTlsEncryptionCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD6 RID: 7126
|
||||
[Token(Token = "0x2001BD6")]
|
||||
public abstract class AbstractTlsKeyExchange : TlsKeyExchange
|
||||
{
|
||||
// Token: 0x0600AF5E RID: 44894 RVA: 0x0025EFC4 File Offset: 0x0025D1C4
|
||||
[Token(Token = "0x600AF5E")]
|
||||
[Address(RVA = "0x49A4C0", Offset = "0x4994C0", VA = "0x18049A4C0")]
|
||||
protected AbstractTlsKeyExchange(int keyExchange, IList supportedSignatureAlgorithms)
|
||||
{
|
||||
int num = 0;
|
||||
this.ProcessServerCertificate(num);
|
||||
this.mKeyExchange = keyExchange;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF5F RID: 44895 RVA: 0x0025EFE8 File Offset: 0x0025D1E8
|
||||
[Token(Token = "0x600AF5F")]
|
||||
[Address(RVA = "0x232C750", Offset = "0x232B750", VA = "0x18232C750", 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: 0x0600AF60 RID: 44896 RVA: 0x0025F01C File Offset: 0x0025D21C
|
||||
[Token(Token = "0x600AF60")]
|
||||
[Address(RVA = "0x232C550", Offset = "0x232B550", VA = "0x18232C550", Slot = "20")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AF60)
|
||||
|
||||
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: 0x0600AF61 RID: 44897
|
||||
[Token(Token = "0x600AF61")]
|
||||
[Address(Slot = "21")]
|
||||
public abstract void SkipServerCredentials();
|
||||
|
||||
// Token: 0x0600AF62 RID: 44898 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF62")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "22")]
|
||||
public virtual void ProcessServerCertificate(Certificate serverCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF63 RID: 44899 RVA: 0x0025F090 File Offset: 0x0025D290
|
||||
[Token(Token = "0x600AF63")]
|
||||
[Address(RVA = "0x232C850", Offset = "0x232B850", VA = "0x18232C850", Slot = "23")]
|
||||
public virtual void ProcessServerCredentials(TlsCredentials serverCredentials)
|
||||
{
|
||||
this.SkipServerCredentials();
|
||||
}
|
||||
|
||||
// Token: 0x17001BDC RID: 7132
|
||||
// (get) Token: 0x0600AF64 RID: 44900 RVA: 0x0025F0AC File Offset: 0x0025D2AC
|
||||
[Token(Token = "0x17001BDC")]
|
||||
public virtual bool RequiresServerKeyExchange
|
||||
{
|
||||
[Token(Token = "0x600AF64")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "24")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF65 RID: 44901 RVA: 0x0025F0BC File Offset: 0x0025D2BC
|
||||
[Token(Token = "0x600AF65")]
|
||||
[Address(RVA = "0x232C4E0", Offset = "0x232B4E0", VA = "0x18232C4E0", Slot = "25")]
|
||||
public virtual byte[] GenerateServerKeyExchange()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF66 RID: 44902 RVA: 0x0025F0CC File Offset: 0x0025D2CC
|
||||
[Token(Token = "0x600AF66")]
|
||||
[Address(RVA = "0x232C930", Offset = "0x232B930", VA = "0x18232C930", Slot = "26")]
|
||||
public virtual void SkipServerKeyExchange()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF67 RID: 44903 RVA: 0x0025F0DC File Offset: 0x0025D2DC
|
||||
[Token(Token = "0x600AF67")]
|
||||
[Address(RVA = "0x232C8C0", Offset = "0x232B8C0", VA = "0x18232C8C0", Slot = "27")]
|
||||
public virtual void ProcessServerKeyExchange(Stream input)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF68 RID: 44904
|
||||
[Token(Token = "0x600AF68")]
|
||||
[Address(Slot = "28")]
|
||||
public abstract void ValidateCertificateRequest(CertificateRequest certificateRequest);
|
||||
|
||||
// Token: 0x0600AF69 RID: 44905 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF69")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "29")]
|
||||
public virtual void SkipClientCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF6A RID: 44906
|
||||
[Token(Token = "0x600AF6A")]
|
||||
[Address(Slot = "30")]
|
||||
public abstract void ProcessClientCredentials(TlsCredentials clientCredentials);
|
||||
|
||||
// Token: 0x0600AF6B RID: 44907 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF6B")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "31")]
|
||||
public virtual void ProcessClientCertificate(Certificate clientCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF6C RID: 44908
|
||||
[Token(Token = "0x600AF6C")]
|
||||
[Address(Slot = "32")]
|
||||
public abstract void GenerateClientKeyExchange(Stream output);
|
||||
|
||||
// Token: 0x0600AF6D RID: 44909 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF6D")]
|
||||
[Address(RVA = "0x232C800", Offset = "0x232B800", VA = "0x18232C800", Slot = "33")]
|
||||
public virtual void ProcessClientKeyExchange(Stream input)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF6E RID: 44910
|
||||
[Token(Token = "0x600AF6E")]
|
||||
[Address(Slot = "34")]
|
||||
public abstract byte[] GeneratePremasterSecret();
|
||||
|
||||
// Token: 0x04006E78 RID: 28280
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E78")]
|
||||
protected readonly int mKeyExchange;
|
||||
|
||||
// Token: 0x04006E79 RID: 28281
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E79")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006E7A RID: 28282
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E7A")]
|
||||
protected TlsContext mContext;
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD7 RID: 7127
|
||||
[Token(Token = "0x2001BD7")]
|
||||
public abstract class AbstractTlsPeer : TlsPeer
|
||||
{
|
||||
// Token: 0x0600AF6F RID: 44911 RVA: 0x0025F0EC File Offset: 0x0025D2EC
|
||||
[Token(Token = "0x600AF6F")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "12")]
|
||||
public virtual bool RequiresExtendedMasterSecret()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF70 RID: 44912 RVA: 0x0025F0FC File Offset: 0x0025D2FC
|
||||
[Token(Token = "0x600AF70")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "13")]
|
||||
public virtual bool ShouldUseGmtUnixTime()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF71 RID: 44913 RVA: 0x0025F10C File Offset: 0x0025D30C
|
||||
[Token(Token = "0x600AF71")]
|
||||
[Address(RVA = "0x232C9A0", Offset = "0x232B9A0", VA = "0x18232C9A0", Slot = "14")]
|
||||
public virtual void NotifySecureRenegotiation(bool secureRenegotiation)
|
||||
{
|
||||
while (!secureRenegotiation)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF72 RID: 44914
|
||||
[Token(Token = "0x600AF72")]
|
||||
[Address(Slot = "15")]
|
||||
public abstract TlsCompression GetCompression();
|
||||
|
||||
// Token: 0x0600AF73 RID: 44915
|
||||
[Token(Token = "0x600AF73")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract TlsCipher GetCipher();
|
||||
|
||||
// Token: 0x0600AF74 RID: 44916 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF74")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "17")]
|
||||
public virtual void NotifyAlertRaised(byte alertLevel, byte alertDescription, string message, Exception cause)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF75 RID: 44917 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF75")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "18")]
|
||||
public virtual void NotifyAlertReceived(byte alertLevel, byte alertDescription)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF76 RID: 44918 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF76")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "19")]
|
||||
public virtual void NotifyHandshakeComplete()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF77 RID: 44919 RVA: 0x0025F120 File Offset: 0x0025D320
|
||||
[Token(Token = "0x600AF77")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AbstractTlsPeer()
|
||||
{
|
||||
this.NotifyHandshakeComplete();
|
||||
}
|
||||
}
|
||||
}
|
||||
+514
@@ -0,0 +1,514 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD8 RID: 7128
|
||||
[Token(Token = "0x2001BD8")]
|
||||
public abstract class AbstractTlsServer : AbstractTlsPeer, TlsServer, TlsPeer
|
||||
{
|
||||
// Token: 0x0600AF78 RID: 44920 RVA: 0x0025F134 File Offset: 0x0025D334
|
||||
[Token(Token = "0x600AF78")]
|
||||
[Address(RVA = "0x232D6D0", Offset = "0x232C6D0", VA = "0x18232D6D0")]
|
||||
public AbstractTlsServer()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF79 RID: 44921 RVA: 0x0025F154 File Offset: 0x0025D354
|
||||
[Token(Token = "0x600AF79")]
|
||||
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
||||
public AbstractTlsServer(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x17001BDD RID: 7133
|
||||
// (get) Token: 0x0600AF7A RID: 44922 RVA: 0x0025F170 File Offset: 0x0025D370
|
||||
[Token(Token = "0x17001BDD")]
|
||||
protected virtual bool AllowEncryptThenMac
|
||||
{
|
||||
[Token(Token = "0x600AF7A")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "38")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BDE RID: 7134
|
||||
// (get) Token: 0x0600AF7B RID: 44923 RVA: 0x0025F180 File Offset: 0x0025D380
|
||||
[Token(Token = "0x17001BDE")]
|
||||
protected virtual bool AllowTruncatedHMac
|
||||
{
|
||||
[Token(Token = "0x600AF7B")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "39")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF7C RID: 44924 RVA: 0x0025F190 File Offset: 0x0025D390
|
||||
[Token(Token = "0x600AF7C")]
|
||||
[Address(RVA = "0x232CA00", Offset = "0x232BA00", VA = "0x18232CA00", Slot = "40")]
|
||||
protected virtual IDictionary CheckServerExtensions()
|
||||
{
|
||||
IDictionary dictionary = TlsExtensionsUtilities.EnsureExtensionsInitialised(this.mServerExtensions);
|
||||
this.mServerExtensions = dictionary;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF7D RID: 44925
|
||||
[Token(Token = "0x600AF7D")]
|
||||
[Address(Slot = "41")]
|
||||
protected abstract int[] GetCipherSuites();
|
||||
|
||||
// Token: 0x0600AF7E RID: 44926 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF7E")]
|
||||
[Address(RVA = "0x232CAD0", Offset = "0x232BAD0", VA = "0x18232CAD0")]
|
||||
protected byte[] GetCompressionMethods()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001BDF RID: 7135
|
||||
// (get) Token: 0x0600AF7F RID: 44927 RVA: 0x0025F1B4 File Offset: 0x0025D3B4
|
||||
[Token(Token = "0x17001BDF")]
|
||||
protected virtual ProtocolVersion MaximumVersion
|
||||
{
|
||||
[Token(Token = "0x600AF7F")]
|
||||
[Address(RVA = "0x232D730", Offset = "0x232C730", VA = "0x18232D730", Slot = "42")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv11;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BE0 RID: 7136
|
||||
// (get) Token: 0x0600AF80 RID: 44928 RVA: 0x0025F1C8 File Offset: 0x0025D3C8
|
||||
[Token(Token = "0x17001BE0")]
|
||||
protected virtual ProtocolVersion MinimumVersion
|
||||
{
|
||||
[Token(Token = "0x600AF80")]
|
||||
[Address(RVA = "0x232D790", Offset = "0x232C790", VA = "0x18232D790", Slot = "43")]
|
||||
get
|
||||
{
|
||||
return ProtocolVersion.TLSv10;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF81 RID: 44929 RVA: 0x0025F1DC File Offset: 0x0025D3DC
|
||||
[Token(Token = "0x600AF81")]
|
||||
[Address(RVA = "0x232D5D0", Offset = "0x232C5D0", VA = "0x18232D5D0", Slot = "44")]
|
||||
protected virtual bool SupportsClientEccCapabilities(int[] namedCurves, byte[] ecPointFormats)
|
||||
{
|
||||
if (namedCurves != 0)
|
||||
{
|
||||
int num = 0;
|
||||
int length = namedCurves.Length;
|
||||
if (num < length)
|
||||
{
|
||||
int num2 = namedCurves[num];
|
||||
if (!NamedCurve.IsValid(num2) || (NamedCurve.RefersToASpecificNamedCurve(num2) && !TlsEccUtilities.IsSupportedNamedCurve(num2)))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return TlsEccUtilities.HasAnySupportedNamedCurves();
|
||||
}
|
||||
|
||||
// Token: 0x0600AF82 RID: 44930 RVA: 0x0025F234 File Offset: 0x0025D434
|
||||
[Token(Token = "0x600AF82")]
|
||||
[Address(RVA = "0x4157F0", Offset = "0x4147F0", VA = "0x1804157F0", Slot = "45")]
|
||||
public virtual void Init(TlsServerContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF83 RID: 44931 RVA: 0x0025F248 File Offset: 0x0025D448
|
||||
[Token(Token = "0x600AF83")]
|
||||
[Address(RVA = "0x415810", Offset = "0x414810", VA = "0x180415810", Slot = "46")]
|
||||
public virtual void NotifyClientVersion(ProtocolVersion clientVersion)
|
||||
{
|
||||
this.mClientVersion = clientVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF84 RID: 44932 RVA: 0x0025F25C File Offset: 0x0025D45C
|
||||
[Token(Token = "0x600AF84")]
|
||||
[Address(RVA = "0x232D2E0", Offset = "0x232C2E0", VA = "0x18232D2E0", Slot = "47")]
|
||||
public virtual void NotifyFallback(bool isFallback)
|
||||
{
|
||||
while (isFallback)
|
||||
{
|
||||
int[] cipherSuites = this.GetCipherSuites();
|
||||
ProtocolVersion protocolVersion = this.mClientVersion;
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF85 RID: 44933 RVA: 0x0025F280 File Offset: 0x0025D480
|
||||
[Token(Token = "0x600AF85")]
|
||||
[Address(RVA = "0x232D380", Offset = "0x232C380", VA = "0x18232D380", Slot = "48")]
|
||||
public virtual void NotifyOfferedCipherSuites(int[] offeredCipherSuites)
|
||||
{
|
||||
this.mOfferedCipherSuites = offeredCipherSuites;
|
||||
bool flag = TlsEccUtilities.ContainsEccCipherSuites(offeredCipherSuites);
|
||||
this.mEccCipherSuitesOffered = flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF86 RID: 44934 RVA: 0x0025F2A4 File Offset: 0x0025D4A4
|
||||
[Token(Token = "0x600AF86")]
|
||||
[Address(RVA = "0x415830", Offset = "0x414830", VA = "0x180415830", Slot = "49")]
|
||||
public virtual void NotifyOfferedCompressionMethods(byte[] offeredCompressionMethods)
|
||||
{
|
||||
this.mOfferedCompressionMethods = offeredCompressionMethods;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF87 RID: 44935 RVA: 0x0025F2B8 File Offset: 0x0025D4B8
|
||||
[Token(Token = "0x600AF87")]
|
||||
[Address(RVA = "0x232D3F0", Offset = "0x232C3F0", VA = "0x18232D3F0", Slot = "50")]
|
||||
public virtual void ProcessClientExtensions(IDictionary clientExtensions)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
this.mClientExtensions = clientExtensions;
|
||||
if (clientExtensions == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
bool flag = TlsExtensionsUtilities.HasEncryptThenMacExtension(clientExtensions);
|
||||
this.mEncryptThenMacOffered = flag;
|
||||
short maxFragmentLengthExtension = TlsExtensionsUtilities.GetMaxFragmentLengthExtension(clientExtensions);
|
||||
this.mMaxFragmentLengthOffered = maxFragmentLengthExtension;
|
||||
if (MaxFragmentLength.IsValid((byte)maxFragmentLengthExtension))
|
||||
{
|
||||
bool flag2 = TlsExtensionsUtilities.HasTruncatedHMacExtension(clientExtensions);
|
||||
this.mTruncatedHMacOffered = flag2;
|
||||
IList signatureAlgorithmsExtension = TlsUtilities.GetSignatureAlgorithmsExtension(clientExtensions);
|
||||
this.mSupportedSignatureAlgorithms = signatureAlgorithmsExtension;
|
||||
if (signatureAlgorithmsExtension == 0 || TlsUtilities.IsSignatureAlgorithmsExtensionAllowed(this.mClientVersion))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int[] supportedEllipticCurvesExtension = TlsEccUtilities.GetSupportedEllipticCurvesExtension(clientExtensions);
|
||||
this.mNamedCurves = supportedEllipticCurvesExtension;
|
||||
byte[] supportedPointFormatsExtension = TlsEccUtilities.GetSupportedPointFormatsExtension(clientExtensions);
|
||||
this.mClientECPointFormats = supportedPointFormatsExtension;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF88 RID: 44936 RVA: 0x0025F344 File Offset: 0x0025D544
|
||||
[Token(Token = "0x600AF88")]
|
||||
[Address(RVA = "0x232D1A0", Offset = "0x232C1A0", VA = "0x18232D1A0", Slot = "51")]
|
||||
public virtual ProtocolVersion GetServerVersion()
|
||||
{
|
||||
int[] cipherSuites;
|
||||
ProtocolVersion protocolVersion3;
|
||||
for (;;)
|
||||
{
|
||||
ProtocolVersion maximumVersion = this.MaximumVersion;
|
||||
ProtocolVersion protocolVersion = this.mClientVersion;
|
||||
if (maximumVersion.IsEqualOrEarlierVersionOf(protocolVersion))
|
||||
{
|
||||
cipherSuites = this.GetCipherSuites();
|
||||
ProtocolVersion protocolVersion2 = this.mClientVersion;
|
||||
protocolVersion3 = this.mClientVersion;
|
||||
bool flag;
|
||||
if (flag)
|
||||
{
|
||||
goto IL_3F;
|
||||
}
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mServerVersion = cipherSuites;
|
||||
IL_3F:
|
||||
this.mServerVersion = protocolVersion3;
|
||||
return protocolVersion3;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF89 RID: 44937 RVA: 0x0025F3A0 File Offset: 0x0025D5A0
|
||||
[Token(Token = "0x600AF89")]
|
||||
[Address(RVA = "0x232CC20", Offset = "0x232BC20", VA = "0x18232CC20", Slot = "52")]
|
||||
public virtual int GetSelectedCipherSuite()
|
||||
{
|
||||
ProtocolVersion minimumVersion;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
IList usableSignatureAlgorithms = TlsUtilities.GetUsableSignatureAlgorithms(this.mSupportedSignatureAlgorithms);
|
||||
minimumVersion = this.MinimumVersion;
|
||||
IDictionary dictionary = this.CheckServerExtensions();
|
||||
num = 0;
|
||||
}
|
||||
while (num >= this);
|
||||
bool flag;
|
||||
bool flag2;
|
||||
bool flag3;
|
||||
if (!Arrays.Contains(this.mOfferedCipherSuites, num) || (minimumVersion == 0 && flag) || !flag2 || !flag3)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AF8A RID: 44938 RVA: 0x0025F3F8 File Offset: 0x0025D5F8
|
||||
[Token(Token = "0x600AF8A")]
|
||||
[Address(RVA = "0x232CE30", Offset = "0x232BE30", VA = "0x18232CE30", Slot = "53")]
|
||||
public virtual byte GetSelectedCompressionMethod()
|
||||
{
|
||||
int num;
|
||||
int length;
|
||||
do
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
num = 0;
|
||||
length = array.Length;
|
||||
}
|
||||
while (num >= length);
|
||||
byte b;
|
||||
if (!Arrays.Contains(this.mOfferedCompressionMethods, b))
|
||||
{
|
||||
num++;
|
||||
}
|
||||
byte b2;
|
||||
this.mSelectedCompressionMethod = b2;
|
||||
return b2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF8B RID: 44939 RVA: 0x0025F43C File Offset: 0x0025D63C
|
||||
[Token(Token = "0x600AF8B")]
|
||||
[Address(RVA = "0x232CF70", Offset = "0x232BF70", VA = "0x18232CF70", Slot = "54")]
|
||||
public virtual IDictionary GetServerExtensions()
|
||||
{
|
||||
if (this.mEncryptThenMacOffered && this.GetNewSessionTicket() != 0 && TlsUtilities.IsBlockCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
bool allowTruncatedHMac = this.AllowTruncatedHMac;
|
||||
}
|
||||
short num = this.mMaxFragmentLengthOffered;
|
||||
bool flag;
|
||||
if (flag && MaxFragmentLength.IsValid((byte)this.mMaxFragmentLengthOffered))
|
||||
{
|
||||
bool allowTruncatedHMac2 = this.AllowTruncatedHMac;
|
||||
}
|
||||
if (this.mTruncatedHMacOffered && this.AllowEncryptThenMac)
|
||||
{
|
||||
bool allowTruncatedHMac3 = this.AllowTruncatedHMac;
|
||||
}
|
||||
if (this.mClientECPointFormats != (ulong)0L && TlsEccUtilities.IsEccCipherSuite(this.mSelectedCipherSuite))
|
||||
{
|
||||
byte[] array = new byte[3];
|
||||
array[0] = (byte)((ulong)1L);
|
||||
array[0] = (byte)((ulong)2L);
|
||||
this.mServerECPointFormats = array;
|
||||
bool allowTruncatedHMac4 = this.AllowTruncatedHMac;
|
||||
}
|
||||
return this.mServerExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF8C RID: 44940 RVA: 0x0025F500 File Offset: 0x0025D700
|
||||
[Token(Token = "0x600AF8C")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "55")]
|
||||
public virtual IList GetServerSupplementalData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF8D RID: 44941
|
||||
[Token(Token = "0x600AF8D")]
|
||||
[Address(Slot = "56")]
|
||||
public abstract TlsCredentials GetCredentials();
|
||||
|
||||
// Token: 0x0600AF8E RID: 44942 RVA: 0x0025F510 File Offset: 0x0025D710
|
||||
[Token(Token = "0x600AF8E")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "57")]
|
||||
public virtual CertificateStatus GetCertificateStatus()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF8F RID: 44943
|
||||
[Token(Token = "0x600AF8F")]
|
||||
[Address(Slot = "58")]
|
||||
public abstract TlsKeyExchange GetKeyExchange();
|
||||
|
||||
// Token: 0x0600AF90 RID: 44944 RVA: 0x0025F520 File Offset: 0x0025D720
|
||||
[Token(Token = "0x600AF90")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "59")]
|
||||
public virtual CertificateRequest GetCertificateRequest()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AF91 RID: 44945 RVA: 0x0025F530 File Offset: 0x0025D730
|
||||
[Token(Token = "0x600AF91")]
|
||||
[Address(RVA = "0x232D570", Offset = "0x232C570", VA = "0x18232D570", Slot = "60")]
|
||||
public virtual void ProcessClientSupplementalData(IList clientSupplementalData)
|
||||
{
|
||||
while (clientSupplementalData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AF92 RID: 44946 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AF92")]
|
||||
[Address(RVA = "0x232D290", Offset = "0x232C290", VA = "0x18232D290", Slot = "61")]
|
||||
public virtual void NotifyClientCertificate(Certificate clientCertificate)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AF93 RID: 44947 RVA: 0x0025F544 File Offset: 0x0025D744
|
||||
[Token(Token = "0x600AF93")]
|
||||
[Address(RVA = "0x232CB10", Offset = "0x232BB10", VA = "0x18232CB10", Slot = "15")]
|
||||
public override TlsCompression GetCompression()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AF93)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCompression BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsServer::GetCompression()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsNullCompression(var_0_05, newobj:TlsNullCompression(TlsNullCompression::.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: 0x0600AF94 RID: 44948 RVA: 0x0025F558 File Offset: 0x0025D758
|
||||
[Token(Token = "0x600AF94")]
|
||||
[Address(RVA = "0x232CA30", Offset = "0x232BA30", VA = "0x18232CA30", Slot = "16")]
|
||||
public override TlsCipher GetCipher()
|
||||
{
|
||||
int num = this.mSelectedCipherSuite;
|
||||
int encryptionAlgorithm = TlsUtilities.GetEncryptionAlgorithm(num);
|
||||
int num2 = this.mSelectedCipherSuite;
|
||||
int macAlgorithm = TlsUtilities.GetMacAlgorithm(num2);
|
||||
TlsCipherFactory tlsCipherFactory = this.mCipherFactory;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AF95 RID: 44949 RVA: 0x0025F590 File Offset: 0x0025D790
|
||||
[Token(Token = "0x600AF95")]
|
||||
[Address(RVA = "0x232CB90", Offset = "0x232BB90", VA = "0x18232CB90", Slot = "62")]
|
||||
public virtual NewSessionTicket GetNewSessionTicket()
|
||||
{
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
int num;
|
||||
NewSessionTicket newSessionTicket = new NewSessionTicket((long)num, emptyBytes);
|
||||
num = 0;
|
||||
return newSessionTicket;
|
||||
}
|
||||
|
||||
// Token: 0x04006E7B RID: 28283
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E7B")]
|
||||
protected TlsCipherFactory mCipherFactory;
|
||||
|
||||
// Token: 0x04006E7C RID: 28284
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006E7C")]
|
||||
protected TlsServerContext mContext;
|
||||
|
||||
// Token: 0x04006E7D RID: 28285
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006E7D")]
|
||||
protected ProtocolVersion mClientVersion;
|
||||
|
||||
// Token: 0x04006E7E RID: 28286
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006E7E")]
|
||||
protected int[] mOfferedCipherSuites;
|
||||
|
||||
// Token: 0x04006E7F RID: 28287
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006E7F")]
|
||||
protected byte[] mOfferedCompressionMethods;
|
||||
|
||||
// Token: 0x04006E80 RID: 28288
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4006E80")]
|
||||
protected IDictionary mClientExtensions;
|
||||
|
||||
// Token: 0x04006E81 RID: 28289
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4006E81")]
|
||||
protected bool mEncryptThenMacOffered;
|
||||
|
||||
// Token: 0x04006E82 RID: 28290
|
||||
[FieldOffset(Offset = "0x42")]
|
||||
[Token(Token = "0x4006E82")]
|
||||
protected short mMaxFragmentLengthOffered;
|
||||
|
||||
// Token: 0x04006E83 RID: 28291
|
||||
[FieldOffset(Offset = "0x44")]
|
||||
[Token(Token = "0x4006E83")]
|
||||
protected bool mTruncatedHMacOffered;
|
||||
|
||||
// Token: 0x04006E84 RID: 28292
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4006E84")]
|
||||
protected IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006E85 RID: 28293
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4006E85")]
|
||||
protected bool mEccCipherSuitesOffered;
|
||||
|
||||
// Token: 0x04006E86 RID: 28294
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4006E86")]
|
||||
protected int[] mNamedCurves;
|
||||
|
||||
// Token: 0x04006E87 RID: 28295
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4006E87")]
|
||||
protected byte[] mClientECPointFormats;
|
||||
|
||||
// Token: 0x04006E88 RID: 28296
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4006E88")]
|
||||
protected byte[] mServerECPointFormats;
|
||||
|
||||
// Token: 0x04006E89 RID: 28297
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4006E89")]
|
||||
protected ProtocolVersion mServerVersion;
|
||||
|
||||
// Token: 0x04006E8A RID: 28298
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4006E8A")]
|
||||
protected int mSelectedCipherSuite;
|
||||
|
||||
// Token: 0x04006E8B RID: 28299
|
||||
[FieldOffset(Offset = "0x7C")]
|
||||
[Token(Token = "0x4006E8B")]
|
||||
protected byte mSelectedCompressionMethod;
|
||||
|
||||
// Token: 0x04006E8C RID: 28300
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4006E8C")]
|
||||
protected IDictionary mServerExtensions;
|
||||
}
|
||||
}
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BD9 RID: 7129
|
||||
[Token(Token = "0x2001BD9")]
|
||||
public abstract class AbstractTlsSigner : TlsSigner
|
||||
{
|
||||
// Token: 0x0600AF96 RID: 44950 RVA: 0x0025F5B0 File Offset: 0x0025D7B0
|
||||
[Token(Token = "0x600AF96")]
|
||||
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800", Slot = "14")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF97 RID: 44951 RVA: 0x0025F5C4 File Offset: 0x0025D7C4
|
||||
[Token(Token = "0x600AF97")]
|
||||
[Address(RVA = "0x232D890", Offset = "0x232C890", VA = "0x18232D890", Slot = "15")]
|
||||
public virtual byte[] GenerateRawSignature(AsymmetricKeyParameter privateKey, byte[] md5AndSha1)
|
||||
{
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF98 RID: 44952
|
||||
[Token(Token = "0x600AF98")]
|
||||
[Address(Slot = "16")]
|
||||
public abstract byte[] GenerateRawSignature(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey, byte[] hash);
|
||||
|
||||
// Token: 0x0600AF99 RID: 44953 RVA: 0x0025F5D4 File Offset: 0x0025D7D4
|
||||
[Token(Token = "0x600AF99")]
|
||||
[Address(RVA = "0x232D8C0", Offset = "0x232C8C0", VA = "0x18232D8C0", Slot = "17")]
|
||||
public virtual bool VerifyRawSignature(byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] md5AndSha1)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600AF9A RID: 44954
|
||||
[Token(Token = "0x600AF9A")]
|
||||
[Address(Slot = "18")]
|
||||
public abstract bool VerifyRawSignature(SignatureAndHashAlgorithm algorithm, byte[] sigBytes, AsymmetricKeyParameter publicKey, byte[] hash);
|
||||
|
||||
// Token: 0x0600AF9B RID: 44955 RVA: 0x0025F5E4 File Offset: 0x0025D7E4
|
||||
[Token(Token = "0x600AF9B")]
|
||||
[Address(RVA = "0x232D850", Offset = "0x232C850", VA = "0x18232D850", Slot = "19")]
|
||||
public virtual ISigner CreateSigner(AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
int num = 0;
|
||||
return this.CreateSigner(num, privateKey);
|
||||
}
|
||||
|
||||
// Token: 0x0600AF9C RID: 44956
|
||||
[Token(Token = "0x600AF9C")]
|
||||
[Address(Slot = "20")]
|
||||
public abstract ISigner CreateSigner(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter privateKey);
|
||||
|
||||
// Token: 0x0600AF9D RID: 44957 RVA: 0x0025F5FC File Offset: 0x0025D7FC
|
||||
[Token(Token = "0x600AF9D")]
|
||||
[Address(RVA = "0x232D870", Offset = "0x232C870", VA = "0x18232D870", Slot = "21")]
|
||||
public virtual ISigner CreateVerifyer(AsymmetricKeyParameter publicKey)
|
||||
{
|
||||
int num = 0;
|
||||
return this.CreateSigner(num, publicKey);
|
||||
}
|
||||
|
||||
// Token: 0x0600AF9E RID: 44958
|
||||
[Token(Token = "0x600AF9E")]
|
||||
[Address(Slot = "22")]
|
||||
public abstract ISigner CreateVerifyer(SignatureAndHashAlgorithm algorithm, AsymmetricKeyParameter publicKey);
|
||||
|
||||
// Token: 0x0600AF9F RID: 44959
|
||||
[Token(Token = "0x600AF9F")]
|
||||
[Address(Slot = "23")]
|
||||
public abstract bool IsValidPublicKey(AsymmetricKeyParameter publicKey);
|
||||
|
||||
// Token: 0x0600AFA0 RID: 44960 RVA: 0x0025F614 File Offset: 0x0025D814
|
||||
[Token(Token = "0x600AFA0")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AbstractTlsSigner()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E8D RID: 28301
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006E8D")]
|
||||
protected TlsContext mContext;
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BDA RID: 7130
|
||||
[Token(Token = "0x2001BDA")]
|
||||
public abstract class AbstractTlsSignerCredentials : AbstractTlsCredentials, TlsSignerCredentials, TlsCredentials
|
||||
{
|
||||
// Token: 0x0600AFA1 RID: 44961
|
||||
[Token(Token = "0x600AFA1")]
|
||||
[Address(Slot = "8")]
|
||||
public abstract byte[] GenerateCertificateSignature(byte[] hash);
|
||||
|
||||
// Token: 0x17001BE1 RID: 7137
|
||||
// (get) Token: 0x0600AFA2 RID: 44962 RVA: 0x0025F628 File Offset: 0x0025D828
|
||||
[Token(Token = "0x17001BE1")]
|
||||
public virtual SignatureAndHashAlgorithm SignatureAndHashAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600AFA2")]
|
||||
[Address(RVA = "0x232D7F0", Offset = "0x232C7F0", VA = "0x18232D7F0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFA2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.AbstractTlsSignerCredentials::get_SignatureAndHashAlgorithm()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("TlsSignerCredentials implementation does not support (D)TLS 1.2+")))
|
||||
}
|
||||
|
||||
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: 0x0600AFA3 RID: 44963 RVA: 0x0025F640 File Offset: 0x0025D840
|
||||
[Token(Token = "0x600AFA3")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AbstractTlsSignerCredentials()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+174
@@ -0,0 +1,174 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BDB RID: 7131
|
||||
[Token(Token = "0x2001BDB")]
|
||||
public abstract class AlertDescription
|
||||
{
|
||||
// Token: 0x0600AFA4 RID: 44964 RVA: 0x0025F654 File Offset: 0x0025D854
|
||||
[Token(Token = "0x600AFA4")]
|
||||
[Address(RVA = "0x232D8F0", Offset = "0x232C8F0", VA = "0x18232D8F0")]
|
||||
public static string GetName(byte alertDescription)
|
||||
{
|
||||
return "user_canceled";
|
||||
}
|
||||
|
||||
// Token: 0x0600AFA5 RID: 44965 RVA: 0x0025F720 File Offset: 0x0025D920
|
||||
[Token(Token = "0x600AFA5")]
|
||||
[Address(RVA = "0x232DBD0", Offset = "0x232CBD0", VA = "0x18232DBD0")]
|
||||
public static string GetText(byte alertDescription)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("bad_record_mac" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "bad_record_mac";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFA6 RID: 44966 RVA: 0x0025F790 File Offset: 0x0025D990
|
||||
[Token(Token = "0x600AFA6")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AlertDescription()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006E8E RID: 28302
|
||||
[Token(Token = "0x4006E8E")]
|
||||
public const byte close_notify = 0;
|
||||
|
||||
// Token: 0x04006E8F RID: 28303
|
||||
[Token(Token = "0x4006E8F")]
|
||||
public const byte unexpected_message = 10;
|
||||
|
||||
// Token: 0x04006E90 RID: 28304
|
||||
[Token(Token = "0x4006E90")]
|
||||
public const byte bad_record_mac = 20;
|
||||
|
||||
// Token: 0x04006E91 RID: 28305
|
||||
[Token(Token = "0x4006E91")]
|
||||
public const byte decryption_failed = 21;
|
||||
|
||||
// Token: 0x04006E92 RID: 28306
|
||||
[Token(Token = "0x4006E92")]
|
||||
public const byte record_overflow = 22;
|
||||
|
||||
// Token: 0x04006E93 RID: 28307
|
||||
[Token(Token = "0x4006E93")]
|
||||
public const byte decompression_failure = 30;
|
||||
|
||||
// Token: 0x04006E94 RID: 28308
|
||||
[Token(Token = "0x4006E94")]
|
||||
public const byte handshake_failure = 40;
|
||||
|
||||
// Token: 0x04006E95 RID: 28309
|
||||
[Token(Token = "0x4006E95")]
|
||||
public const byte no_certificate = 41;
|
||||
|
||||
// Token: 0x04006E96 RID: 28310
|
||||
[Token(Token = "0x4006E96")]
|
||||
public const byte bad_certificate = 42;
|
||||
|
||||
// Token: 0x04006E97 RID: 28311
|
||||
[Token(Token = "0x4006E97")]
|
||||
public const byte unsupported_certificate = 43;
|
||||
|
||||
// Token: 0x04006E98 RID: 28312
|
||||
[Token(Token = "0x4006E98")]
|
||||
public const byte certificate_revoked = 44;
|
||||
|
||||
// Token: 0x04006E99 RID: 28313
|
||||
[Token(Token = "0x4006E99")]
|
||||
public const byte certificate_expired = 45;
|
||||
|
||||
// Token: 0x04006E9A RID: 28314
|
||||
[Token(Token = "0x4006E9A")]
|
||||
public const byte certificate_unknown = 46;
|
||||
|
||||
// Token: 0x04006E9B RID: 28315
|
||||
[Token(Token = "0x4006E9B")]
|
||||
public const byte illegal_parameter = 47;
|
||||
|
||||
// Token: 0x04006E9C RID: 28316
|
||||
[Token(Token = "0x4006E9C")]
|
||||
public const byte unknown_ca = 48;
|
||||
|
||||
// Token: 0x04006E9D RID: 28317
|
||||
[Token(Token = "0x4006E9D")]
|
||||
public const byte access_denied = 49;
|
||||
|
||||
// Token: 0x04006E9E RID: 28318
|
||||
[Token(Token = "0x4006E9E")]
|
||||
public const byte decode_error = 50;
|
||||
|
||||
// Token: 0x04006E9F RID: 28319
|
||||
[Token(Token = "0x4006E9F")]
|
||||
public const byte decrypt_error = 51;
|
||||
|
||||
// Token: 0x04006EA0 RID: 28320
|
||||
[Token(Token = "0x4006EA0")]
|
||||
public const byte export_restriction = 60;
|
||||
|
||||
// Token: 0x04006EA1 RID: 28321
|
||||
[Token(Token = "0x4006EA1")]
|
||||
public const byte protocol_version = 70;
|
||||
|
||||
// Token: 0x04006EA2 RID: 28322
|
||||
[Token(Token = "0x4006EA2")]
|
||||
public const byte insufficient_security = 71;
|
||||
|
||||
// Token: 0x04006EA3 RID: 28323
|
||||
[Token(Token = "0x4006EA3")]
|
||||
public const byte internal_error = 80;
|
||||
|
||||
// Token: 0x04006EA4 RID: 28324
|
||||
[Token(Token = "0x4006EA4")]
|
||||
public const byte user_canceled = 90;
|
||||
|
||||
// Token: 0x04006EA5 RID: 28325
|
||||
[Token(Token = "0x4006EA5")]
|
||||
public const byte no_renegotiation = 100;
|
||||
|
||||
// Token: 0x04006EA6 RID: 28326
|
||||
[Token(Token = "0x4006EA6")]
|
||||
public const byte unsupported_extension = 110;
|
||||
|
||||
// Token: 0x04006EA7 RID: 28327
|
||||
[Token(Token = "0x4006EA7")]
|
||||
public const byte certificate_unobtainable = 111;
|
||||
|
||||
// Token: 0x04006EA8 RID: 28328
|
||||
[Token(Token = "0x4006EA8")]
|
||||
public const byte unrecognized_name = 112;
|
||||
|
||||
// Token: 0x04006EA9 RID: 28329
|
||||
[Token(Token = "0x4006EA9")]
|
||||
public const byte bad_certificate_status_response = 113;
|
||||
|
||||
// Token: 0x04006EAA RID: 28330
|
||||
[Token(Token = "0x4006EAA")]
|
||||
public const byte bad_certificate_hash_value = 114;
|
||||
|
||||
// Token: 0x04006EAB RID: 28331
|
||||
[Token(Token = "0x4006EAB")]
|
||||
public const byte unknown_psk_identity = 115;
|
||||
|
||||
// Token: 0x04006EAC RID: 28332
|
||||
[Token(Token = "0x4006EAC")]
|
||||
public const byte inappropriate_fallback = 86;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BDC RID: 7132
|
||||
[Token(Token = "0x2001BDC")]
|
||||
public abstract class AlertLevel
|
||||
{
|
||||
// Token: 0x0600AFA7 RID: 44967 RVA: 0x0025F7A4 File Offset: 0x0025D9A4
|
||||
[Token(Token = "0x600AFA7")]
|
||||
[Address(RVA = "0x232E040", Offset = "0x232D040", VA = "0x18232E040")]
|
||||
public static string GetName(byte alertDescription)
|
||||
{
|
||||
return "warning";
|
||||
}
|
||||
|
||||
// Token: 0x0600AFA8 RID: 44968 RVA: 0x0025F7B8 File Offset: 0x0025D9B8
|
||||
[Token(Token = "0x600AFA8")]
|
||||
[Address(RVA = "0x232E090", Offset = "0x232D090", VA = "0x18232E090")]
|
||||
public static string GetText(byte alertDescription)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
string text;
|
||||
if (text != 0)
|
||||
{
|
||||
}
|
||||
array[0] = text;
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFA9 RID: 44969 RVA: 0x0025F820 File Offset: 0x0025DA20
|
||||
[Token(Token = "0x600AFA9")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected AlertLevel()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EAD RID: 28333
|
||||
[Token(Token = "0x4006EAD")]
|
||||
public const byte warning = 1;
|
||||
|
||||
// Token: 0x04006EAE RID: 28334
|
||||
[Token(Token = "0x4006EAE")]
|
||||
public const byte fatal = 2;
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BDD RID: 7133
|
||||
[Token(Token = "0x2001BDD")]
|
||||
public class BasicTlsPskIdentity : TlsPskIdentity
|
||||
{
|
||||
// Token: 0x0600AFAA RID: 44970 RVA: 0x0025F834 File Offset: 0x0025DA34
|
||||
[Token(Token = "0x600AFAA")]
|
||||
[Address(RVA = "0x232E2A0", Offset = "0x232D2A0", VA = "0x18232E2A0")]
|
||||
public BasicTlsPskIdentity(byte[] identity, byte[] psk)
|
||||
{
|
||||
this.SkipIdentityHint();
|
||||
byte[] array = Arrays.Clone(identity);
|
||||
this.mIdentity = array;
|
||||
byte[] array2 = Arrays.Clone(psk);
|
||||
this.mPsk = array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFAB RID: 44971 RVA: 0x0025F864 File Offset: 0x0025DA64
|
||||
[Token(Token = "0x600AFAB")]
|
||||
[Address(RVA = "0x232E330", Offset = "0x232D330", VA = "0x18232E330")]
|
||||
public BasicTlsPskIdentity(string identity, byte[] psk)
|
||||
{
|
||||
this.SkipIdentityHint();
|
||||
byte[] array = Arrays.Clone(psk);
|
||||
this.mPsk = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFAC RID: 44972 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AFAC")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "8")]
|
||||
public virtual void SkipIdentityHint()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AFAD RID: 44973 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AFAD")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "9")]
|
||||
public virtual void NotifyIdentityHint(byte[] psk_identity_hint)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AFAE RID: 44974 RVA: 0x0025F888 File Offset: 0x0025DA88
|
||||
[Token(Token = "0x600AFAE")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "10")]
|
||||
public virtual byte[] GetPskIdentity()
|
||||
{
|
||||
return this.mIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFAF RID: 44975 RVA: 0x0025F89C File Offset: 0x0025DA9C
|
||||
[Token(Token = "0x600AFAF")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "11")]
|
||||
public virtual byte[] GetPsk()
|
||||
{
|
||||
return this.mPsk;
|
||||
}
|
||||
|
||||
// Token: 0x04006EAF RID: 28335
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EAF")]
|
||||
protected byte[] mIdentity;
|
||||
|
||||
// Token: 0x04006EB0 RID: 28336
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EB0")]
|
||||
protected byte[] mPsk;
|
||||
}
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BDE RID: 7134
|
||||
[Token(Token = "0x2001BDE")]
|
||||
public abstract class BulkCipherAlgorithm
|
||||
{
|
||||
// Token: 0x0600AFB0 RID: 44976 RVA: 0x0025F8B0 File Offset: 0x0025DAB0
|
||||
[Token(Token = "0x600AFB0")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected BulkCipherAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EB1 RID: 28337
|
||||
[Token(Token = "0x4006EB1")]
|
||||
public const int cls_null = 0;
|
||||
|
||||
// Token: 0x04006EB2 RID: 28338
|
||||
[Token(Token = "0x4006EB2")]
|
||||
public const int rc4 = 1;
|
||||
|
||||
// Token: 0x04006EB3 RID: 28339
|
||||
[Token(Token = "0x4006EB3")]
|
||||
public const int rc2 = 2;
|
||||
|
||||
// Token: 0x04006EB4 RID: 28340
|
||||
[Token(Token = "0x4006EB4")]
|
||||
public const int des = 3;
|
||||
|
||||
// Token: 0x04006EB5 RID: 28341
|
||||
[Token(Token = "0x4006EB5")]
|
||||
public const int cls_3des = 4;
|
||||
|
||||
// Token: 0x04006EB6 RID: 28342
|
||||
[Token(Token = "0x4006EB6")]
|
||||
public const int des40 = 5;
|
||||
|
||||
// Token: 0x04006EB7 RID: 28343
|
||||
[Token(Token = "0x4006EB7")]
|
||||
public const int aes = 6;
|
||||
|
||||
// Token: 0x04006EB8 RID: 28344
|
||||
[Token(Token = "0x4006EB8")]
|
||||
public const int idea = 7;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,210 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BDF RID: 7135
|
||||
[Token(Token = "0x2001BDF")]
|
||||
public class ByteQueue
|
||||
{
|
||||
// Token: 0x0600AFB1 RID: 44977 RVA: 0x0025F8C4 File Offset: 0x0025DAC4
|
||||
[Token(Token = "0x600AFB1")]
|
||||
[Address(RVA = "0x232ED80", Offset = "0x232DD80", VA = "0x18232ED80")]
|
||||
public static int NextTwoPow(int i)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB2 RID: 44978 RVA: 0x0025F8D4 File Offset: 0x0025DAD4
|
||||
[Token(Token = "0x600AFB2")]
|
||||
[Address(RVA = "0x232F580", Offset = "0x232E580", VA = "0x18232F580")]
|
||||
public ByteQueue()
|
||||
{
|
||||
byte[] array = new byte[1024];
|
||||
this.databuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB3 RID: 44979 RVA: 0x0025F900 File Offset: 0x0025DB00
|
||||
[Token(Token = "0x600AFB3")]
|
||||
[Address(RVA = "0x232F4E0", Offset = "0x232E4E0", VA = "0x18232F4E0")]
|
||||
public ByteQueue(int capacity)
|
||||
{
|
||||
if (capacity == 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[capacity];
|
||||
this.databuf = array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB4 RID: 44980 RVA: 0x0025F92C File Offset: 0x0025DB2C
|
||||
[Token(Token = "0x600AFB4")]
|
||||
[Address(RVA = "0x232F5E0", Offset = "0x232E5E0", VA = "0x18232F5E0")]
|
||||
public ByteQueue(byte[] buf, int off, int len)
|
||||
{
|
||||
this.databuf = buf;
|
||||
this.available = len;
|
||||
this.skipped = off;
|
||||
this.readOnlyBuf = true;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB5 RID: 44981 RVA: 0x0025F95C File Offset: 0x0025DB5C
|
||||
[Token(Token = "0x600AFB5")]
|
||||
[Address(RVA = "0x232EA70", Offset = "0x232DA70", VA = "0x18232EA70")]
|
||||
public void AddData(byte[] data, int offset, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFB5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueue::AddData(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_85:
|
||||
stloc:InvalidOperationException(var_11_8F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot add data to read-only buffer")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001BE2 RID: 7138
|
||||
// (get) Token: 0x0600AFB6 RID: 44982 RVA: 0x0025F9FC File Offset: 0x0025DBFC
|
||||
[Token(Token = "0x17001BE2")]
|
||||
public int Available
|
||||
{
|
||||
[Token(Token = "0x600AFB6")]
|
||||
[Address(RVA = "0x497590", Offset = "0x496590", VA = "0x180497590")]
|
||||
get
|
||||
{
|
||||
return this.available;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB7 RID: 44983 RVA: 0x0025FA10 File Offset: 0x0025DC10
|
||||
[Token(Token = "0x600AFB7")]
|
||||
[Address(RVA = "0x232EBE0", Offset = "0x232DBE0", VA = "0x18232EBE0")]
|
||||
public void CopyTo(Stream output, int length)
|
||||
{
|
||||
int num = output.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB8 RID: 44984 RVA: 0x0025FA88 File Offset: 0x0025DC88
|
||||
[Token(Token = "0x600AFB8")]
|
||||
[Address(RVA = "0x232EF70", Offset = "0x232DF70", VA = "0x18232EF70")]
|
||||
public void Read(byte[] buf, int offset, int len, int skip)
|
||||
{
|
||||
int num = buf.Length;
|
||||
num -= offset;
|
||||
int num2 = this.available;
|
||||
int num3 = this.skipped;
|
||||
byte[] array = this.databuf;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFB9 RID: 44985 RVA: 0x0025FABC File Offset: 0x0025DCBC
|
||||
[Token(Token = "0x600AFB9")]
|
||||
[Address(RVA = "0x232EDB0", Offset = "0x232DDB0", VA = "0x18232EDB0")]
|
||||
public MemoryStream ReadFrom(int length)
|
||||
{
|
||||
int num = this.available;
|
||||
int num2 = this.skipped;
|
||||
num -= length;
|
||||
byte[] array = this.databuf;
|
||||
this.available = num;
|
||||
this.skipped = num;
|
||||
ulong num3;
|
||||
return new MemoryStream(array, num2, length, num3 != 0UL);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFBA RID: 44986 RVA: 0x0025FB58 File Offset: 0x0025DD58
|
||||
[Token(Token = "0x600AFBA")]
|
||||
[Address(RVA = "0x232F1D0", Offset = "0x232E1D0", VA = "0x18232F1D0")]
|
||||
public void RemoveData(int i)
|
||||
{
|
||||
int num = this.available;
|
||||
num -= i;
|
||||
this.available = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFBB RID: 44987 RVA: 0x0025FBD4 File Offset: 0x0025DDD4
|
||||
[Token(Token = "0x600AFBB")]
|
||||
[Address(RVA = "0x232F180", Offset = "0x232E180", VA = "0x18232F180")]
|
||||
public void RemoveData(byte[] buf, int off, int len, int skip)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600AFBC RID: 44988 RVA: 0x0025FBE4 File Offset: 0x0025DDE4
|
||||
[Token(Token = "0x600AFBC")]
|
||||
[Address(RVA = "0x232F340", Offset = "0x232E340", VA = "0x18232F340")]
|
||||
public byte[] RemoveData(int len, int skip)
|
||||
{
|
||||
byte[] array = new byte[len];
|
||||
int num = 0;
|
||||
this.Read(array, num, len, skip);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFBD RID: 44989 RVA: 0x0025FC08 File Offset: 0x0025DE08
|
||||
[Token(Token = "0x600AFBD")]
|
||||
[Address(RVA = "0x232F3D0", Offset = "0x232E3D0", VA = "0x18232F3D0")]
|
||||
public void Shrink()
|
||||
{
|
||||
int num = this.available;
|
||||
if (num != 0)
|
||||
{
|
||||
byte[] array = this.databuf;
|
||||
num++;
|
||||
if (num < array.Length)
|
||||
{
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = this.available;
|
||||
int num3 = 0;
|
||||
int num4 = this.skipped;
|
||||
Array.Copy(this.databuf, num4, array2, num3, num2);
|
||||
this.databuf = array2;
|
||||
this.skipped = (int)((ulong)0L);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
this.databuf = emptyBytes;
|
||||
this.skipped = (int)((ulong)0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04006EB9 RID: 28345
|
||||
[Token(Token = "0x4006EB9")]
|
||||
private const int DefaultCapacity = 1024;
|
||||
|
||||
// Token: 0x04006EBA RID: 28346
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EBA")]
|
||||
private byte[] databuf;
|
||||
|
||||
// Token: 0x04006EBB RID: 28347
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EBB")]
|
||||
private int skipped;
|
||||
|
||||
// Token: 0x04006EBC RID: 28348
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4006EBC")]
|
||||
private int available;
|
||||
|
||||
// Token: 0x04006EBD RID: 28349
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006EBD")]
|
||||
private bool readOnlyBuf;
|
||||
}
|
||||
}
|
||||
+325
@@ -0,0 +1,325 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE0 RID: 7136
|
||||
[Token(Token = "0x2001BE0")]
|
||||
public class ByteQueueStream : Stream
|
||||
{
|
||||
// Token: 0x0600AFBE RID: 44990 RVA: 0x0025FC90 File Offset: 0x0025DE90
|
||||
[Token(Token = "0x600AFBE")]
|
||||
[Address(RVA = "0x232E8A0", Offset = "0x232D8A0", VA = "0x18232E8A0")]
|
||||
public ByteQueueStream()
|
||||
{
|
||||
ByteQueue byteQueue = new ByteQueue();
|
||||
byte[] array = new byte[1024];
|
||||
byteQueue.databuf = array;
|
||||
this.buffer = byteQueue;
|
||||
}
|
||||
|
||||
// Token: 0x17001BE3 RID: 7139
|
||||
// (get) Token: 0x0600AFBF RID: 44991 RVA: 0x0025FCC8 File Offset: 0x0025DEC8
|
||||
[Token(Token = "0x17001BE3")]
|
||||
public virtual int Available
|
||||
{
|
||||
[Token(Token = "0x600AFBF")]
|
||||
[Address(RVA = "0x232E960", Offset = "0x232D960", VA = "0x18232E960", Slot = "31")]
|
||||
get
|
||||
{
|
||||
return this.buffer.available;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BE4 RID: 7140
|
||||
// (get) Token: 0x0600AFC0 RID: 44992 RVA: 0x0025FCE8 File Offset: 0x0025DEE8
|
||||
[Token(Token = "0x17001BE4")]
|
||||
public override bool CanRead
|
||||
{
|
||||
[Token(Token = "0x600AFC0")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BE5 RID: 7141
|
||||
// (get) Token: 0x0600AFC1 RID: 44993 RVA: 0x0025FCF8 File Offset: 0x0025DEF8
|
||||
[Token(Token = "0x17001BE5")]
|
||||
public override bool CanSeek
|
||||
{
|
||||
[Token(Token = "0x600AFC1")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "8")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BE6 RID: 7142
|
||||
// (get) Token: 0x0600AFC2 RID: 44994 RVA: 0x0025FD08 File Offset: 0x0025DF08
|
||||
[Token(Token = "0x17001BE6")]
|
||||
public override bool CanWrite
|
||||
{
|
||||
[Token(Token = "0x600AFC2")]
|
||||
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFC3 RID: 44995 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AFC3")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "17")]
|
||||
public override void Flush()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x17001BE7 RID: 7143
|
||||
// (get) Token: 0x0600AFC4 RID: 44996 RVA: 0x0025FD18 File Offset: 0x0025DF18
|
||||
[Token(Token = "0x17001BE7")]
|
||||
public override long Length
|
||||
{
|
||||
[Token(Token = "0x600AFC4")]
|
||||
[Address(RVA = "0x232E980", Offset = "0x232D980", VA = "0x18232E980", Slot = "10")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFC4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Length()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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: 0x0600AFC5 RID: 44997 RVA: 0x0025FD2C File Offset: 0x0025DF2C
|
||||
[Token(Token = "0x600AFC5")]
|
||||
[Address(RVA = "0x232E3C0", Offset = "0x232D3C0", VA = "0x18232E3C0", Slot = "32")]
|
||||
public virtual int Peek(byte[] buf)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int length = buf.Length;
|
||||
int num2 = Math.Min(num, length);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
byteQueue.Read(buf, num4, num, num3);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x17001BE8 RID: 7144
|
||||
// (get) Token: 0x0600AFC6 RID: 44998 RVA: 0x0025FD78 File Offset: 0x0025DF78
|
||||
// (set) Token: 0x0600AFC7 RID: 44999 RVA: 0x0025FD8C File Offset: 0x0025DF8C
|
||||
[Token(Token = "0x17001BE8")]
|
||||
public override long Position
|
||||
{
|
||||
[Token(Token = "0x600AFC6")]
|
||||
[Address(RVA = "0x232E9D0", Offset = "0x232D9D0", VA = "0x18232E9D0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFC6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::get_Position()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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(Token = "0x600AFC7")]
|
||||
[Address(RVA = "0x232EA20", Offset = "0x232DA20", VA = "0x18232EA20", Slot = "12")]
|
||||
set
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFC7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::set_Position(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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: 0x0600AFC8 RID: 45000 RVA: 0x0025FDA0 File Offset: 0x0025DFA0
|
||||
[Token(Token = "0x600AFC8")]
|
||||
[Address(RVA = "0x232E610", Offset = "0x232D610", VA = "0x18232E610", Slot = "33")]
|
||||
public virtual int Read(byte[] buf)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AFC9 RID: 45001 RVA: 0x0025FDB4 File Offset: 0x0025DFB4
|
||||
[Token(Token = "0x600AFC9")]
|
||||
[Address(RVA = "0x232E540", Offset = "0x232D540", VA = "0x18232E540", Slot = "27")]
|
||||
public override int Read(byte[] buf, int off, int len)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int num2 = Math.Min(num, len);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
int num3 = 0;
|
||||
byteQueue.Read(buf, off, len, num3);
|
||||
byteQueue.RemoveData(num);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFCA RID: 45002 RVA: 0x0025FDF8 File Offset: 0x0025DFF8
|
||||
[Token(Token = "0x600AFCA")]
|
||||
[Address(RVA = "0x232E470", Offset = "0x232D470", VA = "0x18232E470", Slot = "28")]
|
||||
public override int ReadByte()
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
if (byteQueue.available != 0)
|
||||
{
|
||||
byte[] array = new byte[1];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
byteQueue.Read(array, num, 1, num2);
|
||||
byteQueue.RemoveData(1);
|
||||
byte b = array[0];
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFCB RID: 45003 RVA: 0x0025FE44 File Offset: 0x0025E044
|
||||
[Token(Token = "0x600AFCB")]
|
||||
[Address(RVA = "0x232E650", Offset = "0x232D650", VA = "0x18232E650", Slot = "25")]
|
||||
public override long Seek(long offset, SeekOrigin origin)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFCB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::Seek(System.Int64,System.IO.SeekOrigin)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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: 0x0600AFCC RID: 45004 RVA: 0x0025FE58 File Offset: 0x0025E058
|
||||
[Token(Token = "0x600AFCC")]
|
||||
[Address(RVA = "0x232E6A0", Offset = "0x232D6A0", VA = "0x18232E6A0", Slot = "26")]
|
||||
public override void SetLength(long value)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFCC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ByteQueueStream::SetLength(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:NotSupportedException(var_0_05, newobj:NotSupportedException(NotSupportedException::.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: 0x0600AFCD RID: 45005 RVA: 0x0025FE6C File Offset: 0x0025E06C
|
||||
[Token(Token = "0x600AFCD")]
|
||||
[Address(RVA = "0x232E6F0", Offset = "0x232D6F0", VA = "0x18232E6F0", Slot = "34")]
|
||||
public virtual int Skip(int n)
|
||||
{
|
||||
int num = this.buffer.available;
|
||||
int num2 = Math.Min(num, n);
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
num = num2;
|
||||
byteQueue.RemoveData(n);
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFCE RID: 45006 RVA: 0x0025FEA8 File Offset: 0x0025E0A8
|
||||
[Token(Token = "0x600AFCE")]
|
||||
[Address(RVA = "0x232E830", Offset = "0x232D830", VA = "0x18232E830", Slot = "35")]
|
||||
public virtual void Write(byte[] buf)
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
int length = buf.Length;
|
||||
int num = 0;
|
||||
byteQueue.AddData(buf, num, length);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFCF RID: 45007 RVA: 0x0025FED4 File Offset: 0x0025E0D4
|
||||
[Token(Token = "0x600AFCF")]
|
||||
[Address(RVA = "0x232E870", Offset = "0x232D870", VA = "0x18232E870", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
this.buffer.AddData(buf, off, len);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFD0 RID: 45008 RVA: 0x0025FEF8 File Offset: 0x0025E0F8
|
||||
[Token(Token = "0x600AFD0")]
|
||||
[Address(RVA = "0x232E790", Offset = "0x232D790", VA = "0x18232E790", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
ByteQueue byteQueue = this.buffer;
|
||||
byte[] array = new byte[] { b };
|
||||
int num = 0;
|
||||
byteQueue.AddData(array, num, 1);
|
||||
}
|
||||
|
||||
// Token: 0x04006EBE RID: 28350
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006EBE")]
|
||||
private readonly ByteQueue buffer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE1 RID: 7137
|
||||
[Token(Token = "0x2001BE1")]
|
||||
public abstract class CertChainType
|
||||
{
|
||||
// Token: 0x0600AFD1 RID: 45009 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AFD1")]
|
||||
[Address(RVA = "0x232F630", Offset = "0x232E630", VA = "0x18232F630")]
|
||||
public static bool IsValid(byte certChainType)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AFD2 RID: 45010 RVA: 0x0025FF2C File Offset: 0x0025E12C
|
||||
[Token(Token = "0x600AFD2")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected CertChainType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006EBF RID: 28351
|
||||
[Token(Token = "0x4006EBF")]
|
||||
public const byte individual_certs = 0;
|
||||
|
||||
// Token: 0x04006EC0 RID: 28352
|
||||
[Token(Token = "0x4006EC0")]
|
||||
public const byte pkipath = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE2 RID: 7138
|
||||
[Token(Token = "0x2001BE2")]
|
||||
public class Certificate
|
||||
{
|
||||
// Token: 0x0600AFD3 RID: 45011 RVA: 0x0025FF40 File Offset: 0x0025E140
|
||||
[Token(Token = "0x600AFD3")]
|
||||
[Address(RVA = "0x2331A10", Offset = "0x2330A10", VA = "0x182331A10")]
|
||||
public Certificate(X509CertificateStructure[] certificateList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFD3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("certificateList")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600AFD4 RID: 45012 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AFD4")]
|
||||
[Address(RVA = "0xC8D4E0", Offset = "0xC8C4E0", VA = "0x180C8D4E0", Slot = "4")]
|
||||
public virtual X509CertificateStructure[] GetCertificateList()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AFD5 RID: 45013 RVA: 0x0025FF6C File Offset: 0x0025E16C
|
||||
[Token(Token = "0x600AFD5")]
|
||||
[Address(RVA = "0x470B20", Offset = "0x46FB20", VA = "0x180470B20", Slot = "5")]
|
||||
public virtual X509CertificateStructure GetCertificateAt(int index)
|
||||
{
|
||||
return this.mCertificateList[index];
|
||||
}
|
||||
|
||||
// Token: 0x17001BE9 RID: 7145
|
||||
// (get) Token: 0x0600AFD6 RID: 45014 RVA: 0x0025FF8C File Offset: 0x0025E18C
|
||||
[Token(Token = "0x17001BE9")]
|
||||
public virtual int Length
|
||||
{
|
||||
[Token(Token = "0x600AFD6")]
|
||||
[Address(RVA = "0x73E8F0", Offset = "0x73D8F0", VA = "0x18073E8F0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateList.Length;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BEA RID: 7146
|
||||
// (get) Token: 0x0600AFD7 RID: 45015 RVA: 0x0025FFAC File Offset: 0x0025E1AC
|
||||
[Token(Token = "0x17001BEA")]
|
||||
public virtual bool IsEmpty
|
||||
{
|
||||
[Token(Token = "0x600AFD7")]
|
||||
[Address(RVA = "0x2331A90", Offset = "0x2330A90", VA = "0x182331A90", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateList.Length == 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFD8 RID: 45016 RVA: 0x0025FFD0 File Offset: 0x0025E1D0
|
||||
[Token(Token = "0x600AFD8")]
|
||||
[Address(RVA = "0x2331170", Offset = "0x2330170", VA = "0x182331170", Slot = "8")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IList list = Platform.CreateArrayList(this.mCertificateList.Length);
|
||||
X509CertificateStructure[] array = this.mCertificateList;
|
||||
int length = array.Length;
|
||||
if (num < length)
|
||||
{
|
||||
X509CertificateStructure x509CertificateStructure = array[num];
|
||||
int num2 = 0;
|
||||
byte[] encoded = x509CertificateStructure.GetEncoded("DER");
|
||||
if (num < num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += 3;
|
||||
num++;
|
||||
num += num;
|
||||
}
|
||||
TlsUtilities.CheckUint24(num);
|
||||
TlsUtilities.WriteUint24(num, output);
|
||||
if (num < list)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
int num3 = 0;
|
||||
if (list != 0)
|
||||
{
|
||||
if (num < num3)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num += 19;
|
||||
num++;
|
||||
num += 19;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFD9 RID: 45017 RVA: 0x00260084 File Offset: 0x0025E284
|
||||
[Token(Token = "0x600AFD9")]
|
||||
[Address(RVA = "0x2331520", Offset = "0x2330520", VA = "0x182331520")]
|
||||
public static Certificate Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFD9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_D1:
|
||||
stloc:ArgumentNullException(var_15_DB, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("certificateList")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600AFDA RID: 45018 RVA: 0x00260170 File Offset: 0x0025E370
|
||||
[Token(Token = "0x600AFDA")]
|
||||
[Address(RVA = "0x23310F0", Offset = "0x23300F0", VA = "0x1823310F0", Slot = "9")]
|
||||
protected virtual X509CertificateStructure[] CloneCertificateList()
|
||||
{
|
||||
X509CertificateStructure[] array = this.mCertificateList;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006EC1 RID: 28353
|
||||
[Token(Token = "0x4006EC1")]
|
||||
public static readonly Certificate EmptyChain = new Certificate(new X509CertificateStructure[0]);
|
||||
|
||||
// Token: 0x04006EC2 RID: 28354
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EC2")]
|
||||
protected readonly X509CertificateStructure[] mCertificateList;
|
||||
}
|
||||
}
|
||||
+187
@@ -0,0 +1,187 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE3 RID: 7139
|
||||
[Token(Token = "0x2001BE3")]
|
||||
public class CertificateRequest
|
||||
{
|
||||
// Token: 0x0600AFDC RID: 45020 RVA: 0x002601AC File Offset: 0x0025E3AC
|
||||
[Token(Token = "0x600AFDC")]
|
||||
[Address(RVA = "0x466000", Offset = "0x465000", VA = "0x180466000")]
|
||||
public CertificateRequest(byte[] certificateTypes, IList supportedSignatureAlgorithms, IList certificateAuthorities)
|
||||
{
|
||||
this.mCertificateTypes = certificateTypes;
|
||||
this.mSupportedSignatureAlgorithms = supportedSignatureAlgorithms;
|
||||
this.mCertificateAuthorities = certificateAuthorities;
|
||||
}
|
||||
|
||||
// Token: 0x17001BEB RID: 7147
|
||||
// (get) Token: 0x0600AFDD RID: 45021 RVA: 0x002601D4 File Offset: 0x0025E3D4
|
||||
[Token(Token = "0x17001BEB")]
|
||||
public virtual byte[] CertificateTypes
|
||||
{
|
||||
[Token(Token = "0x600AFDD")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateTypes;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BEC RID: 7148
|
||||
// (get) Token: 0x0600AFDE RID: 45022 RVA: 0x002601E8 File Offset: 0x0025E3E8
|
||||
[Token(Token = "0x17001BEC")]
|
||||
public virtual IList SupportedSignatureAlgorithms
|
||||
{
|
||||
[Token(Token = "0x600AFDE")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSupportedSignatureAlgorithms;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BED RID: 7149
|
||||
// (get) Token: 0x0600AFDF RID: 45023 RVA: 0x002601FC File Offset: 0x0025E3FC
|
||||
[Token(Token = "0x17001BED")]
|
||||
public virtual IList CertificateAuthorities
|
||||
{
|
||||
[Token(Token = "0x600AFDF")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFE0 RID: 45024 RVA: 0x00260210 File Offset: 0x0025E410
|
||||
[Token(Token = "0x600AFE0")]
|
||||
[Address(RVA = "0x232F640", Offset = "0x232E640", VA = "0x18232F640", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
byte[] array = this.mCertificateTypes;
|
||||
if (array != 0 && array.Length != num)
|
||||
{
|
||||
TlsUtilities.WriteUint8ArrayWithUint8Length(array, output);
|
||||
}
|
||||
TlsUtilities.WriteUint8(0, output);
|
||||
IList list = this.mSupportedSignatureAlgorithms;
|
||||
if (list != 0)
|
||||
{
|
||||
int num2 = 0;
|
||||
TlsUtilities.EncodeSupportedSignatureAlgorithms(list, num2 != 0, output);
|
||||
}
|
||||
if (this.mCertificateAuthorities == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IList list2 = this.mCertificateAuthorities;
|
||||
IList list3 = this.mCertificateAuthorities;
|
||||
IList list4;
|
||||
if (list4 != 0)
|
||||
{
|
||||
if (num < list4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
ulong num3;
|
||||
list4 += num3;
|
||||
if (list4 == 0 || list4 == 0)
|
||||
{
|
||||
goto IL_F9;
|
||||
}
|
||||
int num4 = 0;
|
||||
if (num < num4)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array2;
|
||||
int num5 = array2.Length;
|
||||
num5 += 2;
|
||||
num += num5;
|
||||
array2 += array2;
|
||||
}
|
||||
if (num != 0)
|
||||
{
|
||||
goto IL_105;
|
||||
}
|
||||
if (num == -1 || "{il2cpp array field local25->}" == (ulong)190L)
|
||||
{
|
||||
}
|
||||
TlsUtilities.CheckUint16(num);
|
||||
TlsUtilities.WriteUint16(num, output);
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
if (1 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
return;
|
||||
IL_F9:
|
||||
throw new NullReferenceException();
|
||||
IL_105:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AFE1 RID: 45025 RVA: 0x00260328 File Offset: 0x0025E528
|
||||
[Token(Token = "0x600AFE1")]
|
||||
[Address(RVA = "0x232FBF0", Offset = "0x232EBF0", VA = "0x18232FBF0")]
|
||||
public static CertificateRequest Parse(TlsContext context, Stream input)
|
||||
{
|
||||
byte[] array = new byte[(int)TlsUtilities.ReadUint8(input)];
|
||||
int num = 0;
|
||||
byte b = TlsUtilities.ReadUint8(input);
|
||||
num++;
|
||||
IList list;
|
||||
if (TlsUtilities.IsTlsV12(context))
|
||||
{
|
||||
list = TlsUtilities.ParseSupportedSignatureAlgorithms(false, input);
|
||||
}
|
||||
IList list2 = Platform.CreateArrayList();
|
||||
int num2;
|
||||
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadOpaque16(input), num2 != 0);
|
||||
num2 = 0;
|
||||
long length = memoryStream.Length;
|
||||
bool canWrite = memoryStream.CanWrite;
|
||||
if (length < (canWrite ? 1L : 0L))
|
||||
{
|
||||
X509Name instance = X509Name.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
|
||||
}
|
||||
CertificateRequest certificateRequest;
|
||||
certificateRequest.mCertificateAuthorities = list2;
|
||||
certificateRequest.mCertificateTypes = array;
|
||||
certificateRequest.mSupportedSignatureAlgorithms = list;
|
||||
return certificateRequest;
|
||||
}
|
||||
|
||||
// Token: 0x04006EC3 RID: 28355
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EC3")]
|
||||
protected readonly byte[] mCertificateTypes;
|
||||
|
||||
// Token: 0x04006EC4 RID: 28356
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EC4")]
|
||||
protected readonly IList mSupportedSignatureAlgorithms;
|
||||
|
||||
// Token: 0x04006EC5 RID: 28357
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006EC5")]
|
||||
protected readonly IList mCertificateAuthorities;
|
||||
}
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE4 RID: 7140
|
||||
[Token(Token = "0x2001BE4")]
|
||||
public class CertificateStatus
|
||||
{
|
||||
// Token: 0x0600AFE2 RID: 45026 RVA: 0x002603C8 File Offset: 0x0025E5C8
|
||||
[Token(Token = "0x600AFE2")]
|
||||
[Address(RVA = "0x2330880", Offset = "0x232F880", VA = "0x182330880")]
|
||||
public CertificateStatus(byte statusType, object response)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFE2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001BEE RID: 7150
|
||||
// (get) Token: 0x0600AFE3 RID: 45027 RVA: 0x00260404 File Offset: 0x0025E604
|
||||
[Token(Token = "0x17001BEE")]
|
||||
public virtual byte StatusType
|
||||
{
|
||||
[Token(Token = "0x600AFE3")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mStatusType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BEF RID: 7151
|
||||
// (get) Token: 0x0600AFE4 RID: 45028 RVA: 0x00260418 File Offset: 0x0025E618
|
||||
[Token(Token = "0x17001BEF")]
|
||||
public virtual object Response
|
||||
{
|
||||
[Token(Token = "0x600AFE4")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mResponse;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFE5 RID: 45029 RVA: 0x0026042C File Offset: 0x0025E62C
|
||||
[Token(Token = "0x600AFE5")]
|
||||
[Address(RVA = "0x2330530", Offset = "0x232F530", VA = "0x182330530", Slot = "6")]
|
||||
public virtual OcspResponse GetOcspResponse()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFE5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp.OcspResponse BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::GetOcspResponse()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_5_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'response' is not an OcspResponse")))
|
||||
}
|
||||
|
||||
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: 0x0600AFE6 RID: 45030 RVA: 0x0026046C File Offset: 0x0025E66C
|
||||
[Token(Token = "0x600AFE6")]
|
||||
[Address(RVA = "0x23303B0", Offset = "0x232F3B0", VA = "0x1823303B0", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
do
|
||||
{
|
||||
byte b = this.mStatusType;
|
||||
TlsUtilities.WriteUint8(b, output);
|
||||
obj = this.mResponse;
|
||||
}
|
||||
while (obj == 0 || obj == 0);
|
||||
byte[] array;
|
||||
TlsUtilities.WriteOpaque24(array, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFE7 RID: 45031 RVA: 0x002604AC File Offset: 0x0025E6AC
|
||||
[Token(Token = "0x600AFE7")]
|
||||
[Address(RVA = "0x2330720", Offset = "0x232F720", VA = "0x182330720")]
|
||||
public static CertificateStatus Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFE7)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatus::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2E:
|
||||
stloc:ArgumentException(var_4_3D, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600AFE8 RID: 45032 RVA: 0x002604F8 File Offset: 0x0025E6F8
|
||||
[Token(Token = "0x600AFE8")]
|
||||
[Address(RVA = "0x2330650", Offset = "0x232F650", VA = "0x182330650")]
|
||||
protected static bool IsCorrectType(byte statusType, object response)
|
||||
{
|
||||
if (response == 0)
|
||||
{
|
||||
return 0 != 0;
|
||||
}
|
||||
return response != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04006EC6 RID: 28358
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EC6")]
|
||||
protected readonly byte mStatusType;
|
||||
|
||||
// Token: 0x04006EC7 RID: 28359
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EC7")]
|
||||
protected readonly object mResponse;
|
||||
}
|
||||
}
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE5 RID: 7141
|
||||
[Token(Token = "0x2001BE5")]
|
||||
public class CertificateStatusRequest
|
||||
{
|
||||
// Token: 0x0600AFE9 RID: 45033 RVA: 0x0026052C File Offset: 0x0025E72C
|
||||
[Token(Token = "0x600AFE9")]
|
||||
[Address(RVA = "0x2330310", Offset = "0x232F310", VA = "0x182330310")]
|
||||
public CertificateStatusRequest(byte statusType, object request)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFE9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("request")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001BF0 RID: 7152
|
||||
// (get) Token: 0x0600AFEA RID: 45034 RVA: 0x00260568 File Offset: 0x0025E768
|
||||
[Token(Token = "0x17001BF0")]
|
||||
public virtual byte StatusType
|
||||
{
|
||||
[Token(Token = "0x600AFEA")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mStatusType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BF1 RID: 7153
|
||||
// (get) Token: 0x0600AFEB RID: 45035 RVA: 0x0026057C File Offset: 0x0025E77C
|
||||
[Token(Token = "0x17001BF1")]
|
||||
public virtual object Request
|
||||
{
|
||||
[Token(Token = "0x600AFEB")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mRequest;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFEC RID: 45036 RVA: 0x00260590 File Offset: 0x0025E790
|
||||
[Token(Token = "0x600AFEC")]
|
||||
[Address(RVA = "0x232FFF0", Offset = "0x232EFF0", VA = "0x18232FFF0", Slot = "6")]
|
||||
public virtual OcspStatusRequest GetOcspStatusRequest()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFEC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.OcspStatusRequest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::GetOcspStatusRequest()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_25:
|
||||
stloc:InvalidOperationException(var_5_2F, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'request' is not an OCSPStatusRequest")))
|
||||
}
|
||||
|
||||
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: 0x0600AFED RID: 45037 RVA: 0x002605D0 File Offset: 0x0025E7D0
|
||||
[Token(Token = "0x600AFED")]
|
||||
[Address(RVA = "0x232FEA0", Offset = "0x232EEA0", VA = "0x18232FEA0", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
do
|
||||
{
|
||||
byte b = this.mStatusType;
|
||||
TlsUtilities.WriteUint8(b, output);
|
||||
obj = this.mRequest;
|
||||
}
|
||||
while (obj == 0 || obj == 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFEE RID: 45038 RVA: 0x00260608 File Offset: 0x0025E808
|
||||
[Token(Token = "0x600AFEE")]
|
||||
[Address(RVA = "0x23301E0", Offset = "0x232F1E0", VA = "0x1823301E0")]
|
||||
public static CertificateStatusRequest Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFEE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateStatusRequest::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:ArgumentException(var_4_33, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("request")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600AFEF RID: 45039 RVA: 0x0026064C File Offset: 0x0025E84C
|
||||
[Token(Token = "0x600AFEF")]
|
||||
[Address(RVA = "0x2330110", Offset = "0x232F110", VA = "0x182330110")]
|
||||
protected static bool IsCorrectType(byte statusType, object request)
|
||||
{
|
||||
if (request == 0)
|
||||
{
|
||||
return 0 != 0;
|
||||
}
|
||||
return request != 0;
|
||||
}
|
||||
|
||||
// Token: 0x04006EC8 RID: 28360
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006EC8")]
|
||||
protected readonly byte mStatusType;
|
||||
|
||||
// Token: 0x04006EC9 RID: 28361
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006EC9")]
|
||||
protected readonly object mRequest;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE6 RID: 7142
|
||||
[Token(Token = "0x2001BE6")]
|
||||
public abstract class CertificateStatusType
|
||||
{
|
||||
// Token: 0x0600AFF0 RID: 45040 RVA: 0x00260680 File Offset: 0x0025E880
|
||||
[Token(Token = "0x600AFF0")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected CertificateStatusType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006ECA RID: 28362
|
||||
[Token(Token = "0x4006ECA")]
|
||||
public const byte ocsp = 1;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE7 RID: 7143
|
||||
[Token(Token = "0x2001BE7")]
|
||||
public class CertificateType
|
||||
{
|
||||
// Token: 0x0600AFF1 RID: 45041 RVA: 0x00260694 File Offset: 0x0025E894
|
||||
[Token(Token = "0x600AFF1")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public CertificateType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006ECB RID: 28363
|
||||
[Token(Token = "0x4006ECB")]
|
||||
public const byte X509 = 0;
|
||||
|
||||
// Token: 0x04006ECC RID: 28364
|
||||
[Token(Token = "0x4006ECC")]
|
||||
public const byte OpenPGP = 1;
|
||||
|
||||
// Token: 0x04006ECD RID: 28365
|
||||
[Token(Token = "0x4006ECD")]
|
||||
public const byte RawPublicKey = 2;
|
||||
}
|
||||
}
|
||||
+175
@@ -0,0 +1,175 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BE8 RID: 7144
|
||||
[Token(Token = "0x2001BE8")]
|
||||
public class CertificateUrl
|
||||
{
|
||||
// Token: 0x0600AFF2 RID: 45042 RVA: 0x002606A8 File Offset: 0x0025E8A8
|
||||
[Token(Token = "0x600AFF2")]
|
||||
[Address(RVA = "0x2330CA0", Offset = "0x232FCA0", VA = "0x182330CA0")]
|
||||
public CertificateUrl(byte type, IList urlAndHashList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFF2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl::.ctor(System.Byte,System.Collections.IList)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_29:
|
||||
stloc:ArgumentException(var_1_38, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length > 0"), ldstr:string("urlAndHashList")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001BF2 RID: 7154
|
||||
// (get) Token: 0x0600AFF3 RID: 45043 RVA: 0x002606F0 File Offset: 0x0025E8F0
|
||||
[Token(Token = "0x17001BF2")]
|
||||
public virtual byte Type
|
||||
{
|
||||
[Token(Token = "0x600AFF3")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BF3 RID: 7155
|
||||
// (get) Token: 0x0600AFF4 RID: 45044 RVA: 0x00260704 File Offset: 0x0025E904
|
||||
[Token(Token = "0x17001BF3")]
|
||||
public virtual IList UrlAndHashList
|
||||
{
|
||||
[Token(Token = "0x600AFF4")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mUrlAndHashList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600AFF5 RID: 45045 RVA: 0x00260718 File Offset: 0x0025E918
|
||||
[Token(Token = "0x600AFF5")]
|
||||
[Address(RVA = "0x2330920", Offset = "0x232F920", VA = "0x182330920", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
CertificateUrl.ListBuffer16 listBuffer;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint8(this.mType, output);
|
||||
listBuffer = new CertificateUrl.ListBuffer16();
|
||||
TlsUtilities.WriteUint16(0, listBuffer);
|
||||
IList list = this.mUrlAndHashList;
|
||||
if (listBuffer != 0)
|
||||
{
|
||||
if (num < listBuffer)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
ulong num2;
|
||||
listBuffer += num2;
|
||||
if (listBuffer == 0 || listBuffer == 0)
|
||||
{
|
||||
goto IL_6F;
|
||||
}
|
||||
if (listBuffer.InitializeLifetimeService() != 0)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
bool canWrite = listBuffer.CanWrite;
|
||||
long position = listBuffer.Position;
|
||||
Streams.WriteBufTo(listBuffer, output);
|
||||
return;
|
||||
IL_6F:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AFF6 RID: 45046 RVA: 0x002607A0 File Offset: 0x0025E9A0
|
||||
[Token(Token = "0x600AFF6")]
|
||||
[Address(RVA = "0x2330D90", Offset = "0x232FD90", VA = "0x182330D90")]
|
||||
public static CertificateUrl parse(TlsContext context, Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600AFF6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CertificateUrl::parse(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_86:
|
||||
stloc:ArgumentException(var_13_95, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("must have length > 0"), ldstr:string("urlAndHashList")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x04006ECE RID: 28366
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006ECE")]
|
||||
protected readonly byte mType;
|
||||
|
||||
// Token: 0x04006ECF RID: 28367
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006ECF")]
|
||||
protected readonly IList mUrlAndHashList;
|
||||
|
||||
// Token: 0x02001BE9 RID: 7145
|
||||
[Token(Token = "0x2001BE9")]
|
||||
internal class ListBuffer16 : MemoryStream
|
||||
{
|
||||
// Token: 0x0600AFF7 RID: 45047 RVA: 0x00260844 File Offset: 0x0025EA44
|
||||
[Token(Token = "0x600AFF7")]
|
||||
[Address(RVA = "0x23414C0", Offset = "0x23404C0", VA = "0x1823414C0")]
|
||||
internal ListBuffer16()
|
||||
{
|
||||
TlsUtilities.WriteUint16(0, this);
|
||||
}
|
||||
|
||||
// Token: 0x0600AFF8 RID: 45048 RVA: 0x00260860 File Offset: 0x0025EA60
|
||||
[Token(Token = "0x600AFF8")]
|
||||
[Address(RVA = "0x23413E0", Offset = "0x23403E0", VA = "0x1823413E0")]
|
||||
internal void EncodeTo(Stream output)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
long position = this.Position;
|
||||
Streams.WriteBufTo(this, output);
|
||||
Platform.Dispose(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+199
@@ -0,0 +1,199 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Engines;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BEA RID: 7146
|
||||
[Token(Token = "0x2001BEA")]
|
||||
public class Chacha20Poly1305 : TlsCipher
|
||||
{
|
||||
// Token: 0x0600AFF9 RID: 45049 RVA: 0x00260888 File Offset: 0x0025EA88
|
||||
[Token(Token = "0x600AFF9")]
|
||||
[Address(RVA = "0x2332570", Offset = "0x2331570", VA = "0x182332570")]
|
||||
public Chacha20Poly1305(TlsContext context)
|
||||
{
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
}
|
||||
while (!TlsUtilities.IsTlsV12(context));
|
||||
this.context = context;
|
||||
byte[] array = TlsUtilities.CalculateKeyBlock(context, 88);
|
||||
int num;
|
||||
KeyParameter keyParameter = new KeyParameter(array, num, 32);
|
||||
num = 0;
|
||||
KeyParameter keyParameter2 = new KeyParameter(array, 32, 32);
|
||||
byte[] array2 = Arrays.CopyOfRange(array, 64, 76);
|
||||
byte[] array3 = Arrays.CopyOfRange(array, 76, 88);
|
||||
ChaCha7539Engine chaCha7539Engine = new ChaCha7539Engine();
|
||||
this.encryptCipher = chaCha7539Engine;
|
||||
ChaCha7539Engine chaCha7539Engine2 = new ChaCha7539Engine();
|
||||
this.decryptCipher = chaCha7539Engine2;
|
||||
if (chaCha7539Engine2 == 0)
|
||||
{
|
||||
}
|
||||
this.encryptIV = array3;
|
||||
this.decryptIV = array2;
|
||||
ChaCha7539Engine chaCha7539Engine3 = this.encryptCipher;
|
||||
byte[] array4 = this.encryptIV;
|
||||
ParametersWithIV parametersWithIV = new ParametersWithIV(keyParameter2, array4);
|
||||
chaCha7539Engine3.Reset();
|
||||
ChaCha7539Engine chaCha7539Engine4 = this.decryptCipher;
|
||||
byte[] array5 = this.decryptIV;
|
||||
ParametersWithIV parametersWithIV2 = new ParametersWithIV(keyParameter, array5);
|
||||
string algorithmName = ((IStreamCipher)chaCha7539Engine4).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFFA RID: 45050 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600AFFA")]
|
||||
[Address(RVA = "0x23322C0", Offset = "0x23312C0", VA = "0x1823322C0", Slot = "7")]
|
||||
public virtual int GetPlaintextLimit(int ciphertextLimit)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600AFFB RID: 45051 RVA: 0x00260960 File Offset: 0x0025EB60
|
||||
[Token(Token = "0x600AFFB")]
|
||||
[Address(RVA = "0x2331EF0", Offset = "0x2330EF0", VA = "0x182331EF0", Slot = "8")]
|
||||
public virtual byte[] EncodePlaintext(long seqNo, byte type, byte[] plaintext, int offset, int len)
|
||||
{
|
||||
byte[] array = this.encryptIV;
|
||||
byte[] array2 = new byte[this.encryptCipher];
|
||||
this.encryptCipher.AdvanceCounter();
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFFC RID: 45052 RVA: 0x00260994 File Offset: 0x0025EB94
|
||||
[Token(Token = "0x600AFFC")]
|
||||
[Address(RVA = "0x2331CE0", Offset = "0x2330CE0", VA = "0x182331CE0", Slot = "9")]
|
||||
public virtual byte[] DecodeCiphertext(long seqNo, byte type, byte[] ciphertext, int offset, int len)
|
||||
{
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
byte[] array = this.decryptIV;
|
||||
}
|
||||
while (!flag);
|
||||
byte[] array3;
|
||||
byte[] array2 = new byte[array3];
|
||||
this.decryptCipher.AdvanceCounter();
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFFD RID: 45053 RVA: 0x002609C4 File Offset: 0x0025EBC4
|
||||
[Token(Token = "0x600AFFD")]
|
||||
[Address(RVA = "0x23322D0", Offset = "0x23312D0", VA = "0x1823322D0", Slot = "10")]
|
||||
protected virtual KeyParameter InitRecord(IStreamCipher cipher, bool forEncryption, long seqNo, byte[] iv)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600AFFE RID: 45054 RVA: 0x002609D8 File Offset: 0x0025EBD8
|
||||
[Token(Token = "0x600AFFE")]
|
||||
[Address(RVA = "0x2331AB0", Offset = "0x2330AB0", VA = "0x182331AB0", Slot = "11")]
|
||||
protected virtual byte[] CalculateNonce(long seqNo, byte[] iv)
|
||||
{
|
||||
byte[] array = new byte[12];
|
||||
TlsUtilities.WriteUint64(seqNo, array, 4);
|
||||
int num = 0;
|
||||
num++;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600AFFF RID: 45055 RVA: 0x00260A04 File Offset: 0x0025EC04
|
||||
[Token(Token = "0x600AFFF")]
|
||||
[Address(RVA = "0x2332060", Offset = "0x2331060", VA = "0x182332060", Slot = "12")]
|
||||
protected virtual KeyParameter GenerateRecordMacKey(IStreamCipher cipher)
|
||||
{
|
||||
byte[] array = new byte[64];
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
int num2;
|
||||
uint num3;
|
||||
KeyParameter keyParameter = new KeyParameter(array, num2, (int)num3);
|
||||
num2 = 0;
|
||||
int num4 = 0;
|
||||
Arrays.Fill(array, (byte)num4);
|
||||
return keyParameter;
|
||||
}
|
||||
|
||||
// Token: 0x0600B000 RID: 45056 RVA: 0x00260A4C File Offset: 0x0025EC4C
|
||||
[Token(Token = "0x600B000")]
|
||||
[Address(RVA = "0x2331B90", Offset = "0x2330B90", VA = "0x182331B90", Slot = "13")]
|
||||
protected virtual byte[] CalculateRecordMac(KeyParameter macKey, byte[] additionalData, byte[] buf, int off, int len)
|
||||
{
|
||||
Poly1305 poly = new Poly1305();
|
||||
int length = additionalData.Length;
|
||||
return MacUtilities.DoFinal(poly);
|
||||
}
|
||||
|
||||
// Token: 0x0600B001 RID: 45057 RVA: 0x00260A74 File Offset: 0x0025EC74
|
||||
[Token(Token = "0x600B001")]
|
||||
[Address(RVA = "0x23323B0", Offset = "0x23313B0", VA = "0x1823323B0", Slot = "14")]
|
||||
protected virtual void UpdateRecordMacLength(IMac mac, int len)
|
||||
{
|
||||
int length = Pack.UInt64_To_LE((ulong)len).Length;
|
||||
}
|
||||
|
||||
// Token: 0x0600B002 RID: 45058 RVA: 0x00260A94 File Offset: 0x0025EC94
|
||||
[Token(Token = "0x600B002")]
|
||||
[Address(RVA = "0x2332430", Offset = "0x2331430", VA = "0x182332430", Slot = "15")]
|
||||
protected virtual void UpdateRecordMacText(IMac mac, byte[] buf, int off, int len)
|
||||
{
|
||||
if (mac < 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B003 RID: 45059 RVA: 0x00260AAC File Offset: 0x0025ECAC
|
||||
[Token(Token = "0x600B003")]
|
||||
[Address(RVA = "0x23321C0", Offset = "0x23311C0", VA = "0x1823321C0", Slot = "16")]
|
||||
protected virtual byte[] GetAdditionalData(long seqNo, byte type, int len)
|
||||
{
|
||||
byte[] array = new byte[13];
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint64(seqNo, array, num);
|
||||
TlsUtilities.WriteUint8(type, array, 8);
|
||||
TlsContext tlsContext = this.context;
|
||||
PngHelperInternal.WriteInt2tobytes(len, array, 11);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04006ED0 RID: 28368
|
||||
[Token(Token = "0x4006ED0")]
|
||||
private static readonly byte[] Zeroes = new byte[15];
|
||||
|
||||
// Token: 0x04006ED1 RID: 28369
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006ED1")]
|
||||
protected readonly TlsContext context;
|
||||
|
||||
// Token: 0x04006ED2 RID: 28370
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006ED2")]
|
||||
protected readonly ChaCha7539Engine encryptCipher;
|
||||
|
||||
// Token: 0x04006ED3 RID: 28371
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006ED3")]
|
||||
protected readonly ChaCha7539Engine decryptCipher;
|
||||
|
||||
// Token: 0x04006ED4 RID: 28372
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4006ED4")]
|
||||
protected readonly byte[] encryptIV;
|
||||
|
||||
// Token: 0x04006ED5 RID: 28373
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4006ED5")]
|
||||
protected readonly byte[] decryptIV;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BEB RID: 7147
|
||||
[Token(Token = "0x2001BEB")]
|
||||
public abstract class ChangeCipherSpec
|
||||
{
|
||||
// Token: 0x0600B005 RID: 45061 RVA: 0x00260B08 File Offset: 0x0025ED08
|
||||
[Token(Token = "0x600B005")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ChangeCipherSpec()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006ED6 RID: 28374
|
||||
[Token(Token = "0x4006ED6")]
|
||||
public const byte change_cipher_spec = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,1108 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BEC RID: 7148
|
||||
[Token(Token = "0x2001BEC")]
|
||||
public abstract class CipherSuite
|
||||
{
|
||||
// Token: 0x0600B006 RID: 45062 RVA: 0x00260B1C File Offset: 0x0025ED1C
|
||||
[Token(Token = "0x600B006")]
|
||||
[Address(RVA = "0x2332820", Offset = "0x2331820", VA = "0x182332820")]
|
||||
public static bool IsScsv(int cipherSuite)
|
||||
{
|
||||
if (cipherSuite == 255 || cipherSuite != 22016)
|
||||
{
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600B007 RID: 45063 RVA: 0x00260B3C File Offset: 0x0025ED3C
|
||||
[Token(Token = "0x600B007")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected CipherSuite()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006ED7 RID: 28375
|
||||
[Token(Token = "0x4006ED7")]
|
||||
public const int TLS_NULL_WITH_NULL_NULL = 0;
|
||||
|
||||
// Token: 0x04006ED8 RID: 28376
|
||||
[Token(Token = "0x4006ED8")]
|
||||
public const int TLS_RSA_WITH_NULL_MD5 = 1;
|
||||
|
||||
// Token: 0x04006ED9 RID: 28377
|
||||
[Token(Token = "0x4006ED9")]
|
||||
public const int TLS_RSA_WITH_NULL_SHA = 2;
|
||||
|
||||
// Token: 0x04006EDA RID: 28378
|
||||
[Token(Token = "0x4006EDA")]
|
||||
public const int TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 3;
|
||||
|
||||
// Token: 0x04006EDB RID: 28379
|
||||
[Token(Token = "0x4006EDB")]
|
||||
public const int TLS_RSA_WITH_RC4_128_MD5 = 4;
|
||||
|
||||
// Token: 0x04006EDC RID: 28380
|
||||
[Token(Token = "0x4006EDC")]
|
||||
public const int TLS_RSA_WITH_RC4_128_SHA = 5;
|
||||
|
||||
// Token: 0x04006EDD RID: 28381
|
||||
[Token(Token = "0x4006EDD")]
|
||||
public const int TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 6;
|
||||
|
||||
// Token: 0x04006EDE RID: 28382
|
||||
[Token(Token = "0x4006EDE")]
|
||||
public const int TLS_RSA_WITH_IDEA_CBC_SHA = 7;
|
||||
|
||||
// Token: 0x04006EDF RID: 28383
|
||||
[Token(Token = "0x4006EDF")]
|
||||
public const int TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 8;
|
||||
|
||||
// Token: 0x04006EE0 RID: 28384
|
||||
[Token(Token = "0x4006EE0")]
|
||||
public const int TLS_RSA_WITH_DES_CBC_SHA = 9;
|
||||
|
||||
// Token: 0x04006EE1 RID: 28385
|
||||
[Token(Token = "0x4006EE1")]
|
||||
public const int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10;
|
||||
|
||||
// Token: 0x04006EE2 RID: 28386
|
||||
[Token(Token = "0x4006EE2")]
|
||||
public const int TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 11;
|
||||
|
||||
// Token: 0x04006EE3 RID: 28387
|
||||
[Token(Token = "0x4006EE3")]
|
||||
public const int TLS_DH_DSS_WITH_DES_CBC_SHA = 12;
|
||||
|
||||
// Token: 0x04006EE4 RID: 28388
|
||||
[Token(Token = "0x4006EE4")]
|
||||
public const int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13;
|
||||
|
||||
// Token: 0x04006EE5 RID: 28389
|
||||
[Token(Token = "0x4006EE5")]
|
||||
public const int TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 14;
|
||||
|
||||
// Token: 0x04006EE6 RID: 28390
|
||||
[Token(Token = "0x4006EE6")]
|
||||
public const int TLS_DH_RSA_WITH_DES_CBC_SHA = 15;
|
||||
|
||||
// Token: 0x04006EE7 RID: 28391
|
||||
[Token(Token = "0x4006EE7")]
|
||||
public const int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16;
|
||||
|
||||
// Token: 0x04006EE8 RID: 28392
|
||||
[Token(Token = "0x4006EE8")]
|
||||
public const int TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 17;
|
||||
|
||||
// Token: 0x04006EE9 RID: 28393
|
||||
[Token(Token = "0x4006EE9")]
|
||||
public const int TLS_DHE_DSS_WITH_DES_CBC_SHA = 18;
|
||||
|
||||
// Token: 0x04006EEA RID: 28394
|
||||
[Token(Token = "0x4006EEA")]
|
||||
public const int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19;
|
||||
|
||||
// Token: 0x04006EEB RID: 28395
|
||||
[Token(Token = "0x4006EEB")]
|
||||
public const int TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 20;
|
||||
|
||||
// Token: 0x04006EEC RID: 28396
|
||||
[Token(Token = "0x4006EEC")]
|
||||
public const int TLS_DHE_RSA_WITH_DES_CBC_SHA = 21;
|
||||
|
||||
// Token: 0x04006EED RID: 28397
|
||||
[Token(Token = "0x4006EED")]
|
||||
public const int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22;
|
||||
|
||||
// Token: 0x04006EEE RID: 28398
|
||||
[Token(Token = "0x4006EEE")]
|
||||
public const int TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23;
|
||||
|
||||
// Token: 0x04006EEF RID: 28399
|
||||
[Token(Token = "0x4006EEF")]
|
||||
public const int TLS_DH_anon_WITH_RC4_128_MD5 = 24;
|
||||
|
||||
// Token: 0x04006EF0 RID: 28400
|
||||
[Token(Token = "0x4006EF0")]
|
||||
public const int TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 25;
|
||||
|
||||
// Token: 0x04006EF1 RID: 28401
|
||||
[Token(Token = "0x4006EF1")]
|
||||
public const int TLS_DH_anon_WITH_DES_CBC_SHA = 26;
|
||||
|
||||
// Token: 0x04006EF2 RID: 28402
|
||||
[Token(Token = "0x4006EF2")]
|
||||
public const int TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27;
|
||||
|
||||
// Token: 0x04006EF3 RID: 28403
|
||||
[Token(Token = "0x4006EF3")]
|
||||
public const int TLS_RSA_WITH_AES_128_CBC_SHA = 47;
|
||||
|
||||
// Token: 0x04006EF4 RID: 28404
|
||||
[Token(Token = "0x4006EF4")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48;
|
||||
|
||||
// Token: 0x04006EF5 RID: 28405
|
||||
[Token(Token = "0x4006EF5")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49;
|
||||
|
||||
// Token: 0x04006EF6 RID: 28406
|
||||
[Token(Token = "0x4006EF6")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50;
|
||||
|
||||
// Token: 0x04006EF7 RID: 28407
|
||||
[Token(Token = "0x4006EF7")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51;
|
||||
|
||||
// Token: 0x04006EF8 RID: 28408
|
||||
[Token(Token = "0x4006EF8")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_CBC_SHA = 52;
|
||||
|
||||
// Token: 0x04006EF9 RID: 28409
|
||||
[Token(Token = "0x4006EF9")]
|
||||
public const int TLS_RSA_WITH_AES_256_CBC_SHA = 53;
|
||||
|
||||
// Token: 0x04006EFA RID: 28410
|
||||
[Token(Token = "0x4006EFA")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54;
|
||||
|
||||
// Token: 0x04006EFB RID: 28411
|
||||
[Token(Token = "0x4006EFB")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55;
|
||||
|
||||
// Token: 0x04006EFC RID: 28412
|
||||
[Token(Token = "0x4006EFC")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56;
|
||||
|
||||
// Token: 0x04006EFD RID: 28413
|
||||
[Token(Token = "0x4006EFD")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57;
|
||||
|
||||
// Token: 0x04006EFE RID: 28414
|
||||
[Token(Token = "0x4006EFE")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_CBC_SHA = 58;
|
||||
|
||||
// Token: 0x04006EFF RID: 28415
|
||||
[Token(Token = "0x4006EFF")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 65;
|
||||
|
||||
// Token: 0x04006F00 RID: 28416
|
||||
[Token(Token = "0x4006F00")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 66;
|
||||
|
||||
// Token: 0x04006F01 RID: 28417
|
||||
[Token(Token = "0x4006F01")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 67;
|
||||
|
||||
// Token: 0x04006F02 RID: 28418
|
||||
[Token(Token = "0x4006F02")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 68;
|
||||
|
||||
// Token: 0x04006F03 RID: 28419
|
||||
[Token(Token = "0x4006F03")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 69;
|
||||
|
||||
// Token: 0x04006F04 RID: 28420
|
||||
[Token(Token = "0x4006F04")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA = 70;
|
||||
|
||||
// Token: 0x04006F05 RID: 28421
|
||||
[Token(Token = "0x4006F05")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 132;
|
||||
|
||||
// Token: 0x04006F06 RID: 28422
|
||||
[Token(Token = "0x4006F06")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 133;
|
||||
|
||||
// Token: 0x04006F07 RID: 28423
|
||||
[Token(Token = "0x4006F07")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 134;
|
||||
|
||||
// Token: 0x04006F08 RID: 28424
|
||||
[Token(Token = "0x4006F08")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 135;
|
||||
|
||||
// Token: 0x04006F09 RID: 28425
|
||||
[Token(Token = "0x4006F09")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 136;
|
||||
|
||||
// Token: 0x04006F0A RID: 28426
|
||||
[Token(Token = "0x4006F0A")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA = 137;
|
||||
|
||||
// Token: 0x04006F0B RID: 28427
|
||||
[Token(Token = "0x4006F0B")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 186;
|
||||
|
||||
// Token: 0x04006F0C RID: 28428
|
||||
[Token(Token = "0x4006F0C")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 187;
|
||||
|
||||
// Token: 0x04006F0D RID: 28429
|
||||
[Token(Token = "0x4006F0D")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 188;
|
||||
|
||||
// Token: 0x04006F0E RID: 28430
|
||||
[Token(Token = "0x4006F0E")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 189;
|
||||
|
||||
// Token: 0x04006F0F RID: 28431
|
||||
[Token(Token = "0x4006F0F")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 190;
|
||||
|
||||
// Token: 0x04006F10 RID: 28432
|
||||
[Token(Token = "0x4006F10")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 = 191;
|
||||
|
||||
// Token: 0x04006F11 RID: 28433
|
||||
[Token(Token = "0x4006F11")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 192;
|
||||
|
||||
// Token: 0x04006F12 RID: 28434
|
||||
[Token(Token = "0x4006F12")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 193;
|
||||
|
||||
// Token: 0x04006F13 RID: 28435
|
||||
[Token(Token = "0x4006F13")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 194;
|
||||
|
||||
// Token: 0x04006F14 RID: 28436
|
||||
[Token(Token = "0x4006F14")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 195;
|
||||
|
||||
// Token: 0x04006F15 RID: 28437
|
||||
[Token(Token = "0x4006F15")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 196;
|
||||
|
||||
// Token: 0x04006F16 RID: 28438
|
||||
[Token(Token = "0x4006F16")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 = 197;
|
||||
|
||||
// Token: 0x04006F17 RID: 28439
|
||||
[Token(Token = "0x4006F17")]
|
||||
public const int TLS_RSA_WITH_SEED_CBC_SHA = 150;
|
||||
|
||||
// Token: 0x04006F18 RID: 28440
|
||||
[Token(Token = "0x4006F18")]
|
||||
public const int TLS_DH_DSS_WITH_SEED_CBC_SHA = 151;
|
||||
|
||||
// Token: 0x04006F19 RID: 28441
|
||||
[Token(Token = "0x4006F19")]
|
||||
public const int TLS_DH_RSA_WITH_SEED_CBC_SHA = 152;
|
||||
|
||||
// Token: 0x04006F1A RID: 28442
|
||||
[Token(Token = "0x4006F1A")]
|
||||
public const int TLS_DHE_DSS_WITH_SEED_CBC_SHA = 153;
|
||||
|
||||
// Token: 0x04006F1B RID: 28443
|
||||
[Token(Token = "0x4006F1B")]
|
||||
public const int TLS_DHE_RSA_WITH_SEED_CBC_SHA = 154;
|
||||
|
||||
// Token: 0x04006F1C RID: 28444
|
||||
[Token(Token = "0x4006F1C")]
|
||||
public const int TLS_DH_anon_WITH_SEED_CBC_SHA = 155;
|
||||
|
||||
// Token: 0x04006F1D RID: 28445
|
||||
[Token(Token = "0x4006F1D")]
|
||||
public const int TLS_PSK_WITH_RC4_128_SHA = 138;
|
||||
|
||||
// Token: 0x04006F1E RID: 28446
|
||||
[Token(Token = "0x4006F1E")]
|
||||
public const int TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139;
|
||||
|
||||
// Token: 0x04006F1F RID: 28447
|
||||
[Token(Token = "0x4006F1F")]
|
||||
public const int TLS_PSK_WITH_AES_128_CBC_SHA = 140;
|
||||
|
||||
// Token: 0x04006F20 RID: 28448
|
||||
[Token(Token = "0x4006F20")]
|
||||
public const int TLS_PSK_WITH_AES_256_CBC_SHA = 141;
|
||||
|
||||
// Token: 0x04006F21 RID: 28449
|
||||
[Token(Token = "0x4006F21")]
|
||||
public const int TLS_DHE_PSK_WITH_RC4_128_SHA = 142;
|
||||
|
||||
// Token: 0x04006F22 RID: 28450
|
||||
[Token(Token = "0x4006F22")]
|
||||
public const int TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 143;
|
||||
|
||||
// Token: 0x04006F23 RID: 28451
|
||||
[Token(Token = "0x4006F23")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 144;
|
||||
|
||||
// Token: 0x04006F24 RID: 28452
|
||||
[Token(Token = "0x4006F24")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 145;
|
||||
|
||||
// Token: 0x04006F25 RID: 28453
|
||||
[Token(Token = "0x4006F25")]
|
||||
public const int TLS_RSA_PSK_WITH_RC4_128_SHA = 146;
|
||||
|
||||
// Token: 0x04006F26 RID: 28454
|
||||
[Token(Token = "0x4006F26")]
|
||||
public const int TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 147;
|
||||
|
||||
// Token: 0x04006F27 RID: 28455
|
||||
[Token(Token = "0x4006F27")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 148;
|
||||
|
||||
// Token: 0x04006F28 RID: 28456
|
||||
[Token(Token = "0x4006F28")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 149;
|
||||
|
||||
// Token: 0x04006F29 RID: 28457
|
||||
[Token(Token = "0x4006F29")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_NULL_SHA = 49153;
|
||||
|
||||
// Token: 0x04006F2A RID: 28458
|
||||
[Token(Token = "0x4006F2A")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 49154;
|
||||
|
||||
// Token: 0x04006F2B RID: 28459
|
||||
[Token(Token = "0x4006F2B")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 49155;
|
||||
|
||||
// Token: 0x04006F2C RID: 28460
|
||||
[Token(Token = "0x4006F2C")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 49156;
|
||||
|
||||
// Token: 0x04006F2D RID: 28461
|
||||
[Token(Token = "0x4006F2D")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 49157;
|
||||
|
||||
// Token: 0x04006F2E RID: 28462
|
||||
[Token(Token = "0x4006F2E")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_NULL_SHA = 49158;
|
||||
|
||||
// Token: 0x04006F2F RID: 28463
|
||||
[Token(Token = "0x4006F2F")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 49159;
|
||||
|
||||
// Token: 0x04006F30 RID: 28464
|
||||
[Token(Token = "0x4006F30")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160;
|
||||
|
||||
// Token: 0x04006F31 RID: 28465
|
||||
[Token(Token = "0x4006F31")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161;
|
||||
|
||||
// Token: 0x04006F32 RID: 28466
|
||||
[Token(Token = "0x4006F32")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162;
|
||||
|
||||
// Token: 0x04006F33 RID: 28467
|
||||
[Token(Token = "0x4006F33")]
|
||||
public const int TLS_ECDH_RSA_WITH_NULL_SHA = 49163;
|
||||
|
||||
// Token: 0x04006F34 RID: 28468
|
||||
[Token(Token = "0x4006F34")]
|
||||
public const int TLS_ECDH_RSA_WITH_RC4_128_SHA = 49164;
|
||||
|
||||
// Token: 0x04006F35 RID: 28469
|
||||
[Token(Token = "0x4006F35")]
|
||||
public const int TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 49165;
|
||||
|
||||
// Token: 0x04006F36 RID: 28470
|
||||
[Token(Token = "0x4006F36")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 49166;
|
||||
|
||||
// Token: 0x04006F37 RID: 28471
|
||||
[Token(Token = "0x4006F37")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 49167;
|
||||
|
||||
// Token: 0x04006F38 RID: 28472
|
||||
[Token(Token = "0x4006F38")]
|
||||
public const int TLS_ECDHE_RSA_WITH_NULL_SHA = 49168;
|
||||
|
||||
// Token: 0x04006F39 RID: 28473
|
||||
[Token(Token = "0x4006F39")]
|
||||
public const int TLS_ECDHE_RSA_WITH_RC4_128_SHA = 49169;
|
||||
|
||||
// Token: 0x04006F3A RID: 28474
|
||||
[Token(Token = "0x4006F3A")]
|
||||
public const int TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170;
|
||||
|
||||
// Token: 0x04006F3B RID: 28475
|
||||
[Token(Token = "0x4006F3B")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171;
|
||||
|
||||
// Token: 0x04006F3C RID: 28476
|
||||
[Token(Token = "0x4006F3C")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172;
|
||||
|
||||
// Token: 0x04006F3D RID: 28477
|
||||
[Token(Token = "0x4006F3D")]
|
||||
public const int TLS_ECDH_anon_WITH_NULL_SHA = 49173;
|
||||
|
||||
// Token: 0x04006F3E RID: 28478
|
||||
[Token(Token = "0x4006F3E")]
|
||||
public const int TLS_ECDH_anon_WITH_RC4_128_SHA = 49174;
|
||||
|
||||
// Token: 0x04006F3F RID: 28479
|
||||
[Token(Token = "0x4006F3F")]
|
||||
public const int TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA = 49175;
|
||||
|
||||
// Token: 0x04006F40 RID: 28480
|
||||
[Token(Token = "0x4006F40")]
|
||||
public const int TLS_ECDH_anon_WITH_AES_128_CBC_SHA = 49176;
|
||||
|
||||
// Token: 0x04006F41 RID: 28481
|
||||
[Token(Token = "0x4006F41")]
|
||||
public const int TLS_ECDH_anon_WITH_AES_256_CBC_SHA = 49177;
|
||||
|
||||
// Token: 0x04006F42 RID: 28482
|
||||
[Token(Token = "0x4006F42")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA = 44;
|
||||
|
||||
// Token: 0x04006F43 RID: 28483
|
||||
[Token(Token = "0x4006F43")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA = 45;
|
||||
|
||||
// Token: 0x04006F44 RID: 28484
|
||||
[Token(Token = "0x4006F44")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA = 46;
|
||||
|
||||
// Token: 0x04006F45 RID: 28485
|
||||
[Token(Token = "0x4006F45")]
|
||||
public const int TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 49178;
|
||||
|
||||
// Token: 0x04006F46 RID: 28486
|
||||
[Token(Token = "0x4006F46")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 49179;
|
||||
|
||||
// Token: 0x04006F47 RID: 28487
|
||||
[Token(Token = "0x4006F47")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 49180;
|
||||
|
||||
// Token: 0x04006F48 RID: 28488
|
||||
[Token(Token = "0x4006F48")]
|
||||
public const int TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 49181;
|
||||
|
||||
// Token: 0x04006F49 RID: 28489
|
||||
[Token(Token = "0x4006F49")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 49182;
|
||||
|
||||
// Token: 0x04006F4A RID: 28490
|
||||
[Token(Token = "0x4006F4A")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 49183;
|
||||
|
||||
// Token: 0x04006F4B RID: 28491
|
||||
[Token(Token = "0x4006F4B")]
|
||||
public const int TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 49184;
|
||||
|
||||
// Token: 0x04006F4C RID: 28492
|
||||
[Token(Token = "0x4006F4C")]
|
||||
public const int TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 49185;
|
||||
|
||||
// Token: 0x04006F4D RID: 28493
|
||||
[Token(Token = "0x4006F4D")]
|
||||
public const int TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 49186;
|
||||
|
||||
// Token: 0x04006F4E RID: 28494
|
||||
[Token(Token = "0x4006F4E")]
|
||||
public const int TLS_RSA_WITH_NULL_SHA256 = 59;
|
||||
|
||||
// Token: 0x04006F4F RID: 28495
|
||||
[Token(Token = "0x4006F4F")]
|
||||
public const int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60;
|
||||
|
||||
// Token: 0x04006F50 RID: 28496
|
||||
[Token(Token = "0x4006F50")]
|
||||
public const int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61;
|
||||
|
||||
// Token: 0x04006F51 RID: 28497
|
||||
[Token(Token = "0x4006F51")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62;
|
||||
|
||||
// Token: 0x04006F52 RID: 28498
|
||||
[Token(Token = "0x4006F52")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63;
|
||||
|
||||
// Token: 0x04006F53 RID: 28499
|
||||
[Token(Token = "0x4006F53")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64;
|
||||
|
||||
// Token: 0x04006F54 RID: 28500
|
||||
[Token(Token = "0x4006F54")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103;
|
||||
|
||||
// Token: 0x04006F55 RID: 28501
|
||||
[Token(Token = "0x4006F55")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104;
|
||||
|
||||
// Token: 0x04006F56 RID: 28502
|
||||
[Token(Token = "0x4006F56")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105;
|
||||
|
||||
// Token: 0x04006F57 RID: 28503
|
||||
[Token(Token = "0x4006F57")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106;
|
||||
|
||||
// Token: 0x04006F58 RID: 28504
|
||||
[Token(Token = "0x4006F58")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107;
|
||||
|
||||
// Token: 0x04006F59 RID: 28505
|
||||
[Token(Token = "0x4006F59")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108;
|
||||
|
||||
// Token: 0x04006F5A RID: 28506
|
||||
[Token(Token = "0x4006F5A")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109;
|
||||
|
||||
// Token: 0x04006F5B RID: 28507
|
||||
[Token(Token = "0x4006F5B")]
|
||||
public const int TLS_RSA_WITH_AES_128_GCM_SHA256 = 156;
|
||||
|
||||
// Token: 0x04006F5C RID: 28508
|
||||
[Token(Token = "0x4006F5C")]
|
||||
public const int TLS_RSA_WITH_AES_256_GCM_SHA384 = 157;
|
||||
|
||||
// Token: 0x04006F5D RID: 28509
|
||||
[Token(Token = "0x4006F5D")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158;
|
||||
|
||||
// Token: 0x04006F5E RID: 28510
|
||||
[Token(Token = "0x4006F5E")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159;
|
||||
|
||||
// Token: 0x04006F5F RID: 28511
|
||||
[Token(Token = "0x4006F5F")]
|
||||
public const int TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 160;
|
||||
|
||||
// Token: 0x04006F60 RID: 28512
|
||||
[Token(Token = "0x4006F60")]
|
||||
public const int TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 161;
|
||||
|
||||
// Token: 0x04006F61 RID: 28513
|
||||
[Token(Token = "0x4006F61")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 162;
|
||||
|
||||
// Token: 0x04006F62 RID: 28514
|
||||
[Token(Token = "0x4006F62")]
|
||||
public const int TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 163;
|
||||
|
||||
// Token: 0x04006F63 RID: 28515
|
||||
[Token(Token = "0x4006F63")]
|
||||
public const int TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 164;
|
||||
|
||||
// Token: 0x04006F64 RID: 28516
|
||||
[Token(Token = "0x4006F64")]
|
||||
public const int TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 165;
|
||||
|
||||
// Token: 0x04006F65 RID: 28517
|
||||
[Token(Token = "0x4006F65")]
|
||||
public const int TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166;
|
||||
|
||||
// Token: 0x04006F66 RID: 28518
|
||||
[Token(Token = "0x4006F66")]
|
||||
public const int TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167;
|
||||
|
||||
// Token: 0x04006F67 RID: 28519
|
||||
[Token(Token = "0x4006F67")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187;
|
||||
|
||||
// Token: 0x04006F68 RID: 28520
|
||||
[Token(Token = "0x4006F68")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188;
|
||||
|
||||
// Token: 0x04006F69 RID: 28521
|
||||
[Token(Token = "0x4006F69")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 49189;
|
||||
|
||||
// Token: 0x04006F6A RID: 28522
|
||||
[Token(Token = "0x4006F6A")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 49190;
|
||||
|
||||
// Token: 0x04006F6B RID: 28523
|
||||
[Token(Token = "0x4006F6B")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191;
|
||||
|
||||
// Token: 0x04006F6C RID: 28524
|
||||
[Token(Token = "0x4006F6C")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192;
|
||||
|
||||
// Token: 0x04006F6D RID: 28525
|
||||
[Token(Token = "0x4006F6D")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 49193;
|
||||
|
||||
// Token: 0x04006F6E RID: 28526
|
||||
[Token(Token = "0x4006F6E")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 49194;
|
||||
|
||||
// Token: 0x04006F6F RID: 28527
|
||||
[Token(Token = "0x4006F6F")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195;
|
||||
|
||||
// Token: 0x04006F70 RID: 28528
|
||||
[Token(Token = "0x4006F70")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196;
|
||||
|
||||
// Token: 0x04006F71 RID: 28529
|
||||
[Token(Token = "0x4006F71")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 49197;
|
||||
|
||||
// Token: 0x04006F72 RID: 28530
|
||||
[Token(Token = "0x4006F72")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 49198;
|
||||
|
||||
// Token: 0x04006F73 RID: 28531
|
||||
[Token(Token = "0x4006F73")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199;
|
||||
|
||||
// Token: 0x04006F74 RID: 28532
|
||||
[Token(Token = "0x4006F74")]
|
||||
public const int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200;
|
||||
|
||||
// Token: 0x04006F75 RID: 28533
|
||||
[Token(Token = "0x4006F75")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 49201;
|
||||
|
||||
// Token: 0x04006F76 RID: 28534
|
||||
[Token(Token = "0x4006F76")]
|
||||
public const int TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 49202;
|
||||
|
||||
// Token: 0x04006F77 RID: 28535
|
||||
[Token(Token = "0x4006F77")]
|
||||
public const int TLS_PSK_WITH_AES_128_GCM_SHA256 = 168;
|
||||
|
||||
// Token: 0x04006F78 RID: 28536
|
||||
[Token(Token = "0x4006F78")]
|
||||
public const int TLS_PSK_WITH_AES_256_GCM_SHA384 = 169;
|
||||
|
||||
// Token: 0x04006F79 RID: 28537
|
||||
[Token(Token = "0x4006F79")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170;
|
||||
|
||||
// Token: 0x04006F7A RID: 28538
|
||||
[Token(Token = "0x4006F7A")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171;
|
||||
|
||||
// Token: 0x04006F7B RID: 28539
|
||||
[Token(Token = "0x4006F7B")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 172;
|
||||
|
||||
// Token: 0x04006F7C RID: 28540
|
||||
[Token(Token = "0x4006F7C")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 173;
|
||||
|
||||
// Token: 0x04006F7D RID: 28541
|
||||
[Token(Token = "0x4006F7D")]
|
||||
public const int TLS_PSK_WITH_AES_128_CBC_SHA256 = 174;
|
||||
|
||||
// Token: 0x04006F7E RID: 28542
|
||||
[Token(Token = "0x4006F7E")]
|
||||
public const int TLS_PSK_WITH_AES_256_CBC_SHA384 = 175;
|
||||
|
||||
// Token: 0x04006F7F RID: 28543
|
||||
[Token(Token = "0x4006F7F")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA256 = 176;
|
||||
|
||||
// Token: 0x04006F80 RID: 28544
|
||||
[Token(Token = "0x4006F80")]
|
||||
public const int TLS_PSK_WITH_NULL_SHA384 = 177;
|
||||
|
||||
// Token: 0x04006F81 RID: 28545
|
||||
[Token(Token = "0x4006F81")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 178;
|
||||
|
||||
// Token: 0x04006F82 RID: 28546
|
||||
[Token(Token = "0x4006F82")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 179;
|
||||
|
||||
// Token: 0x04006F83 RID: 28547
|
||||
[Token(Token = "0x4006F83")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA256 = 180;
|
||||
|
||||
// Token: 0x04006F84 RID: 28548
|
||||
[Token(Token = "0x4006F84")]
|
||||
public const int TLS_DHE_PSK_WITH_NULL_SHA384 = 181;
|
||||
|
||||
// Token: 0x04006F85 RID: 28549
|
||||
[Token(Token = "0x4006F85")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 182;
|
||||
|
||||
// Token: 0x04006F86 RID: 28550
|
||||
[Token(Token = "0x4006F86")]
|
||||
public const int TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 183;
|
||||
|
||||
// Token: 0x04006F87 RID: 28551
|
||||
[Token(Token = "0x4006F87")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA256 = 184;
|
||||
|
||||
// Token: 0x04006F88 RID: 28552
|
||||
[Token(Token = "0x4006F88")]
|
||||
public const int TLS_RSA_PSK_WITH_NULL_SHA384 = 185;
|
||||
|
||||
// Token: 0x04006F89 RID: 28553
|
||||
[Token(Token = "0x4006F89")]
|
||||
public const int TLS_ECDHE_PSK_WITH_RC4_128_SHA = 49203;
|
||||
|
||||
// Token: 0x04006F8A RID: 28554
|
||||
[Token(Token = "0x4006F8A")]
|
||||
public const int TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 49204;
|
||||
|
||||
// Token: 0x04006F8B RID: 28555
|
||||
[Token(Token = "0x4006F8B")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 49205;
|
||||
|
||||
// Token: 0x04006F8C RID: 28556
|
||||
[Token(Token = "0x4006F8C")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 49206;
|
||||
|
||||
// Token: 0x04006F8D RID: 28557
|
||||
[Token(Token = "0x4006F8D")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 49207;
|
||||
|
||||
// Token: 0x04006F8E RID: 28558
|
||||
[Token(Token = "0x4006F8E")]
|
||||
public const int TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 49208;
|
||||
|
||||
// Token: 0x04006F8F RID: 28559
|
||||
[Token(Token = "0x4006F8F")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA = 49209;
|
||||
|
||||
// Token: 0x04006F90 RID: 28560
|
||||
[Token(Token = "0x4006F90")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA256 = 49210;
|
||||
|
||||
// Token: 0x04006F91 RID: 28561
|
||||
[Token(Token = "0x4006F91")]
|
||||
public const int TLS_ECDHE_PSK_WITH_NULL_SHA384 = 49211;
|
||||
|
||||
// Token: 0x04006F92 RID: 28562
|
||||
[Token(Token = "0x4006F92")]
|
||||
public const int TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 255;
|
||||
|
||||
// Token: 0x04006F93 RID: 28563
|
||||
[Token(Token = "0x4006F93")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49266;
|
||||
|
||||
// Token: 0x04006F94 RID: 28564
|
||||
[Token(Token = "0x4006F94")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49267;
|
||||
|
||||
// Token: 0x04006F95 RID: 28565
|
||||
[Token(Token = "0x4006F95")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 49268;
|
||||
|
||||
// Token: 0x04006F96 RID: 28566
|
||||
[Token(Token = "0x4006F96")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 49269;
|
||||
|
||||
// Token: 0x04006F97 RID: 28567
|
||||
[Token(Token = "0x4006F97")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49270;
|
||||
|
||||
// Token: 0x04006F98 RID: 28568
|
||||
[Token(Token = "0x4006F98")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49271;
|
||||
|
||||
// Token: 0x04006F99 RID: 28569
|
||||
[Token(Token = "0x4006F99")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 49272;
|
||||
|
||||
// Token: 0x04006F9A RID: 28570
|
||||
[Token(Token = "0x4006F9A")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 49273;
|
||||
|
||||
// Token: 0x04006F9B RID: 28571
|
||||
[Token(Token = "0x4006F9B")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49274;
|
||||
|
||||
// Token: 0x04006F9C RID: 28572
|
||||
[Token(Token = "0x4006F9C")]
|
||||
public const int TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49275;
|
||||
|
||||
// Token: 0x04006F9D RID: 28573
|
||||
[Token(Token = "0x4006F9D")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49276;
|
||||
|
||||
// Token: 0x04006F9E RID: 28574
|
||||
[Token(Token = "0x4006F9E")]
|
||||
public const int TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49277;
|
||||
|
||||
// Token: 0x04006F9F RID: 28575
|
||||
[Token(Token = "0x4006F9F")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49278;
|
||||
|
||||
// Token: 0x04006FA0 RID: 28576
|
||||
[Token(Token = "0x4006FA0")]
|
||||
public const int TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49279;
|
||||
|
||||
// Token: 0x04006FA1 RID: 28577
|
||||
[Token(Token = "0x4006FA1")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49280;
|
||||
|
||||
// Token: 0x04006FA2 RID: 28578
|
||||
[Token(Token = "0x4006FA2")]
|
||||
public const int TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49281;
|
||||
|
||||
// Token: 0x04006FA3 RID: 28579
|
||||
[Token(Token = "0x4006FA3")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 49282;
|
||||
|
||||
// Token: 0x04006FA4 RID: 28580
|
||||
[Token(Token = "0x4006FA4")]
|
||||
public const int TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 49283;
|
||||
|
||||
// Token: 0x04006FA5 RID: 28581
|
||||
[Token(Token = "0x4006FA5")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 = 49284;
|
||||
|
||||
// Token: 0x04006FA6 RID: 28582
|
||||
[Token(Token = "0x4006FA6")]
|
||||
public const int TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 = 49285;
|
||||
|
||||
// Token: 0x04006FA7 RID: 28583
|
||||
[Token(Token = "0x4006FA7")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49286;
|
||||
|
||||
// Token: 0x04006FA8 RID: 28584
|
||||
[Token(Token = "0x4006FA8")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49287;
|
||||
|
||||
// Token: 0x04006FA9 RID: 28585
|
||||
[Token(Token = "0x4006FA9")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 49288;
|
||||
|
||||
// Token: 0x04006FAA RID: 28586
|
||||
[Token(Token = "0x4006FAA")]
|
||||
public const int TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 49289;
|
||||
|
||||
// Token: 0x04006FAB RID: 28587
|
||||
[Token(Token = "0x4006FAB")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49290;
|
||||
|
||||
// Token: 0x04006FAC RID: 28588
|
||||
[Token(Token = "0x4006FAC")]
|
||||
public const int TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49291;
|
||||
|
||||
// Token: 0x04006FAD RID: 28589
|
||||
[Token(Token = "0x4006FAD")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 49292;
|
||||
|
||||
// Token: 0x04006FAE RID: 28590
|
||||
[Token(Token = "0x4006FAE")]
|
||||
public const int TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 49293;
|
||||
|
||||
// Token: 0x04006FAF RID: 28591
|
||||
[Token(Token = "0x4006FAF")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49294;
|
||||
|
||||
// Token: 0x04006FB0 RID: 28592
|
||||
[Token(Token = "0x4006FB0")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49295;
|
||||
|
||||
// Token: 0x04006FB1 RID: 28593
|
||||
[Token(Token = "0x4006FB1")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49296;
|
||||
|
||||
// Token: 0x04006FB2 RID: 28594
|
||||
[Token(Token = "0x4006FB2")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49297;
|
||||
|
||||
// Token: 0x04006FB3 RID: 28595
|
||||
[Token(Token = "0x4006FB3")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 49298;
|
||||
|
||||
// Token: 0x04006FB4 RID: 28596
|
||||
[Token(Token = "0x4006FB4")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 49299;
|
||||
|
||||
// Token: 0x04006FB5 RID: 28597
|
||||
[Token(Token = "0x4006FB5")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49300;
|
||||
|
||||
// Token: 0x04006FB6 RID: 28598
|
||||
[Token(Token = "0x4006FB6")]
|
||||
public const int TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49301;
|
||||
|
||||
// Token: 0x04006FB7 RID: 28599
|
||||
[Token(Token = "0x4006FB7")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49302;
|
||||
|
||||
// Token: 0x04006FB8 RID: 28600
|
||||
[Token(Token = "0x4006FB8")]
|
||||
public const int TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49303;
|
||||
|
||||
// Token: 0x04006FB9 RID: 28601
|
||||
[Token(Token = "0x4006FB9")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49304;
|
||||
|
||||
// Token: 0x04006FBA RID: 28602
|
||||
[Token(Token = "0x4006FBA")]
|
||||
public const int TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49305;
|
||||
|
||||
// Token: 0x04006FBB RID: 28603
|
||||
[Token(Token = "0x4006FBB")]
|
||||
public const int TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 49306;
|
||||
|
||||
// Token: 0x04006FBC RID: 28604
|
||||
[Token(Token = "0x4006FBC")]
|
||||
public const int TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 49307;
|
||||
|
||||
// Token: 0x04006FBD RID: 28605
|
||||
[Token(Token = "0x4006FBD")]
|
||||
public const int TLS_RSA_WITH_AES_128_CCM = 49308;
|
||||
|
||||
// Token: 0x04006FBE RID: 28606
|
||||
[Token(Token = "0x4006FBE")]
|
||||
public const int TLS_RSA_WITH_AES_256_CCM = 49309;
|
||||
|
||||
// Token: 0x04006FBF RID: 28607
|
||||
[Token(Token = "0x4006FBF")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CCM = 49310;
|
||||
|
||||
// Token: 0x04006FC0 RID: 28608
|
||||
[Token(Token = "0x4006FC0")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CCM = 49311;
|
||||
|
||||
// Token: 0x04006FC1 RID: 28609
|
||||
[Token(Token = "0x4006FC1")]
|
||||
public const int TLS_RSA_WITH_AES_128_CCM_8 = 49312;
|
||||
|
||||
// Token: 0x04006FC2 RID: 28610
|
||||
[Token(Token = "0x4006FC2")]
|
||||
public const int TLS_RSA_WITH_AES_256_CCM_8 = 49313;
|
||||
|
||||
// Token: 0x04006FC3 RID: 28611
|
||||
[Token(Token = "0x4006FC3")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_128_CCM_8 = 49314;
|
||||
|
||||
// Token: 0x04006FC4 RID: 28612
|
||||
[Token(Token = "0x4006FC4")]
|
||||
public const int TLS_DHE_RSA_WITH_AES_256_CCM_8 = 49315;
|
||||
|
||||
// Token: 0x04006FC5 RID: 28613
|
||||
[Token(Token = "0x4006FC5")]
|
||||
public const int TLS_PSK_WITH_AES_128_CCM = 49316;
|
||||
|
||||
// Token: 0x04006FC6 RID: 28614
|
||||
[Token(Token = "0x4006FC6")]
|
||||
public const int TLS_PSK_WITH_AES_256_CCM = 49317;
|
||||
|
||||
// Token: 0x04006FC7 RID: 28615
|
||||
[Token(Token = "0x4006FC7")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_128_CCM = 49318;
|
||||
|
||||
// Token: 0x04006FC8 RID: 28616
|
||||
[Token(Token = "0x4006FC8")]
|
||||
public const int TLS_DHE_PSK_WITH_AES_256_CCM = 49319;
|
||||
|
||||
// Token: 0x04006FC9 RID: 28617
|
||||
[Token(Token = "0x4006FC9")]
|
||||
public const int TLS_PSK_WITH_AES_128_CCM_8 = 49320;
|
||||
|
||||
// Token: 0x04006FCA RID: 28618
|
||||
[Token(Token = "0x4006FCA")]
|
||||
public const int TLS_PSK_WITH_AES_256_CCM_8 = 49321;
|
||||
|
||||
// Token: 0x04006FCB RID: 28619
|
||||
[Token(Token = "0x4006FCB")]
|
||||
public const int TLS_PSK_DHE_WITH_AES_128_CCM_8 = 49322;
|
||||
|
||||
// Token: 0x04006FCC RID: 28620
|
||||
[Token(Token = "0x4006FCC")]
|
||||
public const int TLS_PSK_DHE_WITH_AES_256_CCM_8 = 49323;
|
||||
|
||||
// Token: 0x04006FCD RID: 28621
|
||||
[Token(Token = "0x4006FCD")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 49324;
|
||||
|
||||
// Token: 0x04006FCE RID: 28622
|
||||
[Token(Token = "0x4006FCE")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 49325;
|
||||
|
||||
// Token: 0x04006FCF RID: 28623
|
||||
[Token(Token = "0x4006FCF")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 49326;
|
||||
|
||||
// Token: 0x04006FD0 RID: 28624
|
||||
[Token(Token = "0x4006FD0")]
|
||||
public const int TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 49327;
|
||||
|
||||
// Token: 0x04006FD1 RID: 28625
|
||||
[Token(Token = "0x4006FD1")]
|
||||
public const int TLS_FALLBACK_SCSV = 22016;
|
||||
|
||||
// Token: 0x04006FD2 RID: 28626
|
||||
[Token(Token = "0x4006FD2")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392;
|
||||
|
||||
// Token: 0x04006FD3 RID: 28627
|
||||
[Token(Token = "0x4006FD3")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393;
|
||||
|
||||
// Token: 0x04006FD4 RID: 28628
|
||||
[Token(Token = "0x4006FD4")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394;
|
||||
|
||||
// Token: 0x04006FD5 RID: 28629
|
||||
[Token(Token = "0x4006FD5")]
|
||||
public const int DRAFT_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52395;
|
||||
|
||||
// Token: 0x04006FD6 RID: 28630
|
||||
[Token(Token = "0x4006FD6")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396;
|
||||
|
||||
// Token: 0x04006FD7 RID: 28631
|
||||
[Token(Token = "0x4006FD7")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397;
|
||||
|
||||
// Token: 0x04006FD8 RID: 28632
|
||||
[Token(Token = "0x4006FD8")]
|
||||
public const int DRAFT_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52398;
|
||||
|
||||
// Token: 0x04006FD9 RID: 28633
|
||||
[Token(Token = "0x4006FD9")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_AES_128_OCB = 65280;
|
||||
|
||||
// Token: 0x04006FDA RID: 28634
|
||||
[Token(Token = "0x4006FDA")]
|
||||
public const int DRAFT_TLS_DHE_RSA_WITH_AES_256_OCB = 65281;
|
||||
|
||||
// Token: 0x04006FDB RID: 28635
|
||||
[Token(Token = "0x4006FDB")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_AES_128_OCB = 65282;
|
||||
|
||||
// Token: 0x04006FDC RID: 28636
|
||||
[Token(Token = "0x4006FDC")]
|
||||
public const int DRAFT_TLS_ECDHE_RSA_WITH_AES_256_OCB = 65283;
|
||||
|
||||
// Token: 0x04006FDD RID: 28637
|
||||
[Token(Token = "0x4006FDD")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_AES_128_OCB = 65284;
|
||||
|
||||
// Token: 0x04006FDE RID: 28638
|
||||
[Token(Token = "0x4006FDE")]
|
||||
public const int DRAFT_TLS_ECDHE_ECDSA_WITH_AES_256_OCB = 65285;
|
||||
|
||||
// Token: 0x04006FDF RID: 28639
|
||||
[Token(Token = "0x4006FDF")]
|
||||
public const int DRAFT_TLS_PSK_WITH_AES_128_OCB = 65296;
|
||||
|
||||
// Token: 0x04006FE0 RID: 28640
|
||||
[Token(Token = "0x4006FE0")]
|
||||
public const int DRAFT_TLS_PSK_WITH_AES_256_OCB = 65297;
|
||||
|
||||
// Token: 0x04006FE1 RID: 28641
|
||||
[Token(Token = "0x4006FE1")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_AES_128_OCB = 65298;
|
||||
|
||||
// Token: 0x04006FE2 RID: 28642
|
||||
[Token(Token = "0x4006FE2")]
|
||||
public const int DRAFT_TLS_DHE_PSK_WITH_AES_256_OCB = 65299;
|
||||
|
||||
// Token: 0x04006FE3 RID: 28643
|
||||
[Token(Token = "0x4006FE3")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_AES_128_OCB = 65300;
|
||||
|
||||
// Token: 0x04006FE4 RID: 28644
|
||||
[Token(Token = "0x4006FE4")]
|
||||
public const int DRAFT_TLS_ECDHE_PSK_WITH_AES_256_OCB = 65301;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BED RID: 7149
|
||||
[Token(Token = "0x2001BED")]
|
||||
public abstract class CipherType
|
||||
{
|
||||
// Token: 0x0600B008 RID: 45064 RVA: 0x00260B50 File Offset: 0x0025ED50
|
||||
[Token(Token = "0x600B008")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected CipherType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FE5 RID: 28645
|
||||
[Token(Token = "0x4006FE5")]
|
||||
public const int stream = 0;
|
||||
|
||||
// Token: 0x04006FE6 RID: 28646
|
||||
[Token(Token = "0x4006FE6")]
|
||||
public const int block = 1;
|
||||
|
||||
// Token: 0x04006FE7 RID: 28647
|
||||
[Token(Token = "0x4006FE7")]
|
||||
public const int aead = 2;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BEE RID: 7150
|
||||
[Token(Token = "0x2001BEE")]
|
||||
public abstract class ClientAuthenticationType
|
||||
{
|
||||
// Token: 0x0600B009 RID: 45065 RVA: 0x00260B64 File Offset: 0x0025ED64
|
||||
[Token(Token = "0x600B009")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ClientAuthenticationType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FE8 RID: 28648
|
||||
[Token(Token = "0x4006FE8")]
|
||||
public const byte anonymous = 0;
|
||||
|
||||
// Token: 0x04006FE9 RID: 28649
|
||||
[Token(Token = "0x4006FE9")]
|
||||
public const byte certificate_based = 1;
|
||||
|
||||
// Token: 0x04006FEA RID: 28650
|
||||
[Token(Token = "0x4006FEA")]
|
||||
public const byte psk = 2;
|
||||
}
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BEF RID: 7151
|
||||
[Token(Token = "0x2001BEF")]
|
||||
public abstract class ClientCertificateType
|
||||
{
|
||||
// Token: 0x0600B00A RID: 45066 RVA: 0x00260B78 File Offset: 0x0025ED78
|
||||
[Token(Token = "0x600B00A")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ClientCertificateType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FEB RID: 28651
|
||||
[Token(Token = "0x4006FEB")]
|
||||
public const byte rsa_sign = 1;
|
||||
|
||||
// Token: 0x04006FEC RID: 28652
|
||||
[Token(Token = "0x4006FEC")]
|
||||
public const byte dss_sign = 2;
|
||||
|
||||
// Token: 0x04006FED RID: 28653
|
||||
[Token(Token = "0x4006FED")]
|
||||
public const byte rsa_fixed_dh = 3;
|
||||
|
||||
// Token: 0x04006FEE RID: 28654
|
||||
[Token(Token = "0x4006FEE")]
|
||||
public const byte dss_fixed_dh = 4;
|
||||
|
||||
// Token: 0x04006FEF RID: 28655
|
||||
[Token(Token = "0x4006FEF")]
|
||||
public const byte rsa_ephemeral_dh_RESERVED = 5;
|
||||
|
||||
// Token: 0x04006FF0 RID: 28656
|
||||
[Token(Token = "0x4006FF0")]
|
||||
public const byte dss_ephemeral_dh_RESERVED = 6;
|
||||
|
||||
// Token: 0x04006FF1 RID: 28657
|
||||
[Token(Token = "0x4006FF1")]
|
||||
public const byte fortezza_dms_RESERVED = 20;
|
||||
|
||||
// Token: 0x04006FF2 RID: 28658
|
||||
[Token(Token = "0x4006FF2")]
|
||||
public const byte ecdsa_sign = 64;
|
||||
|
||||
// Token: 0x04006FF3 RID: 28659
|
||||
[Token(Token = "0x4006FF3")]
|
||||
public const byte rsa_fixed_ecdh = 65;
|
||||
|
||||
// Token: 0x04006FF4 RID: 28660
|
||||
[Token(Token = "0x4006FF4")]
|
||||
public const byte ecdsa_fixed_ecdh = 66;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,277 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF0 RID: 7152
|
||||
[Token(Token = "0x2001BF0")]
|
||||
internal class CombinedHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x0600B00B RID: 45067 RVA: 0x00260B8C File Offset: 0x0025ED8C
|
||||
[Token(Token = "0x600B00B")]
|
||||
[Address(RVA = "0x2333020", Offset = "0x2332020", VA = "0x182333020")]
|
||||
internal CombinedHash()
|
||||
{
|
||||
this.SealHashAlgorithms();
|
||||
IDigest digest;
|
||||
this.mMd5 = digest;
|
||||
IDigest digest2;
|
||||
this.mSha1 = digest2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B00C RID: 45068 RVA: 0x00260BB0 File Offset: 0x0025EDB0
|
||||
[Token(Token = "0x600B00C")]
|
||||
[Address(RVA = "0x2332F70", Offset = "0x2331F70", VA = "0x182332F70")]
|
||||
internal CombinedHash(CombinedHash t)
|
||||
{
|
||||
this.SealHashAlgorithms();
|
||||
TlsContext tlsContext = t.mContext;
|
||||
this.mContext = tlsContext;
|
||||
IDigest digest = t.mMd5;
|
||||
IDigest digest2;
|
||||
this.mMd5 = digest2;
|
||||
IDigest digest3 = t.mSha1;
|
||||
IDigest digest4;
|
||||
this.mSha1 = digest4;
|
||||
}
|
||||
|
||||
// Token: 0x0600B00D RID: 45069 RVA: 0x00260BF4 File Offset: 0x0025EDF4
|
||||
[Token(Token = "0x600B00D")]
|
||||
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600B00E RID: 45070 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B00E")]
|
||||
[Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0", Slot = "19")]
|
||||
public virtual TlsHandshakeHash NotifyPrfDetermined()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B00F RID: 45071 RVA: 0x00260C08 File Offset: 0x0025EE08
|
||||
[Token(Token = "0x600B00F")]
|
||||
[Address(RVA = "0x2332E90", Offset = "0x2331E90", VA = "0x182332E90", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B00F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::TrackHashAlgorithm(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash only supports calculating the legacy PRF for handshake hash")))
|
||||
}
|
||||
|
||||
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: 0x0600B010 RID: 45072 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B010")]
|
||||
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B011 RID: 45073 RVA: 0x00260C20 File Offset: 0x0025EE20
|
||||
[Token(Token = "0x600B011")]
|
||||
[Address(RVA = "0x2332E30", Offset = "0x2331E30", VA = "0x182332E30", Slot = "22")]
|
||||
public virtual TlsHandshakeHash StopTracking()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B011)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::StopTracking()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(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: 0x0600B012 RID: 45074 RVA: 0x00260C34 File Offset: 0x0025EE34
|
||||
[Token(Token = "0x600B012")]
|
||||
[Address(RVA = "0x2332A60", Offset = "0x2331A60", VA = "0x182332A60", Slot = "23")]
|
||||
public virtual IDigest ForkPrfHash()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B012)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::ForkPrfHash()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CombinedHash(var_0_06, newobj:CombinedHash(CombinedHash::.ctor, ldloc:CombinedHash(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: 0x0600B013 RID: 45075 RVA: 0x00260C48 File Offset: 0x0025EE48
|
||||
[Token(Token = "0x600B013")]
|
||||
[Address(RVA = "0x2332BE0", Offset = "0x2331BE0", VA = "0x182332BE0", Slot = "24")]
|
||||
public virtual byte[] GetFinalHash(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B013)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.CombinedHash::GetFinalHash(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("CombinedHash doesn't support multiple hashes")))
|
||||
}
|
||||
|
||||
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: 0x17001BF4 RID: 7156
|
||||
// (get) Token: 0x0600B014 RID: 45076 RVA: 0x00260C60 File Offset: 0x0025EE60
|
||||
[Token(Token = "0x17001BF4")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600B014")]
|
||||
[Address(RVA = "0x2333090", Offset = "0x2332090", VA = "0x182333090", Slot = "25")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
string text;
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B015 RID: 45077 RVA: 0x00260C84 File Offset: 0x0025EE84
|
||||
[Token(Token = "0x600B015")]
|
||||
[Address(RVA = "0x2332AC0", Offset = "0x2331AC0", VA = "0x182332AC0", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B016 RID: 45078 RVA: 0x00260CA8 File Offset: 0x0025EEA8
|
||||
[Token(Token = "0x600B016")]
|
||||
[Address(RVA = "0x2332B60", Offset = "0x2331B60", VA = "0x182332B60", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B017 RID: 45079 RVA: 0x00260CC8 File Offset: 0x0025EEC8
|
||||
[Token(Token = "0x600B017")]
|
||||
[Address(RVA = "0x2332EF0", Offset = "0x2331EF0", VA = "0x182332EF0", Slot = "28")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B018 RID: 45080 RVA: 0x00260CE8 File Offset: 0x0025EEE8
|
||||
[Token(Token = "0x600B018")]
|
||||
[Address(RVA = "0x2332840", Offset = "0x2331840", VA = "0x182332840", Slot = "29")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
}
|
||||
|
||||
// Token: 0x0600B019 RID: 45081 RVA: 0x00260D0C File Offset: 0x0025EF0C
|
||||
[Token(Token = "0x600B019")]
|
||||
[Address(RVA = "0x23328E0", Offset = "0x23318E0", VA = "0x1823328E0", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
if (tlsContext != 0 && TlsUtilities.IsSsl(tlsContext))
|
||||
{
|
||||
this.Reset();
|
||||
this.Reset();
|
||||
}
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B01A RID: 45082 RVA: 0x00260D50 File Offset: 0x0025EF50
|
||||
[Token(Token = "0x600B01A")]
|
||||
[Address(RVA = "0x2332C40", Offset = "0x2331C40", VA = "0x182332C40", Slot = "31")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.mMd5;
|
||||
IDigest digest2 = this.mSha1;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B01B RID: 45083 RVA: 0x00260D70 File Offset: 0x0025EF70
|
||||
[Token(Token = "0x600B01B")]
|
||||
[Address(RVA = "0x2332CB0", Offset = "0x2331CB0", VA = "0x182332CB0", Slot = "32")]
|
||||
protected virtual void Ssl3Complete(IDigest d, byte[] ipad, byte[] opad, int padLength)
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
IDigest digest = this.mMd5;
|
||||
byte[] array = DigestUtilities.DoFinal(d);
|
||||
IDigest digest2 = this.mMd5;
|
||||
int length = array.Length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04006FF5 RID: 28661
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4006FF5")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x04006FF6 RID: 28662
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4006FF6")]
|
||||
protected IDigest mMd5;
|
||||
|
||||
// Token: 0x04006FF7 RID: 28663
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4006FF7")]
|
||||
protected IDigest mSha1;
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF1 RID: 7153
|
||||
[Token(Token = "0x2001BF1")]
|
||||
public abstract class CompressionMethod
|
||||
{
|
||||
// Token: 0x0600B01C RID: 45084 RVA: 0x00260DAC File Offset: 0x0025EFAC
|
||||
[Token(Token = "0x600B01C")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected CompressionMethod()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FF8 RID: 28664
|
||||
[Token(Token = "0x4006FF8")]
|
||||
public const byte cls_null = 0;
|
||||
|
||||
// Token: 0x04006FF9 RID: 28665
|
||||
[Token(Token = "0x4006FF9")]
|
||||
public const byte DEFLATE = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF2 RID: 7154
|
||||
[Token(Token = "0x2001BF2")]
|
||||
public abstract class ConnectionEnd
|
||||
{
|
||||
// Token: 0x0600B01D RID: 45085 RVA: 0x00260DC0 File Offset: 0x0025EFC0
|
||||
[Token(Token = "0x600B01D")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ConnectionEnd()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FFA RID: 28666
|
||||
[Token(Token = "0x4006FFA")]
|
||||
public const int server = 0;
|
||||
|
||||
// Token: 0x04006FFB RID: 28667
|
||||
[Token(Token = "0x4006FFB")]
|
||||
public const int client = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF3 RID: 7155
|
||||
[Token(Token = "0x2001BF3")]
|
||||
public abstract class ContentType
|
||||
{
|
||||
// Token: 0x0600B01E RID: 45086 RVA: 0x00260DD4 File Offset: 0x0025EFD4
|
||||
[Token(Token = "0x600B01E")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ContentType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04006FFC RID: 28668
|
||||
[Token(Token = "0x4006FFC")]
|
||||
public const byte change_cipher_spec = 20;
|
||||
|
||||
// Token: 0x04006FFD RID: 28669
|
||||
[Token(Token = "0x4006FFD")]
|
||||
public const byte alert = 21;
|
||||
|
||||
// Token: 0x04006FFE RID: 28670
|
||||
[Token(Token = "0x4006FFE")]
|
||||
public const byte handshake = 22;
|
||||
|
||||
// Token: 0x04006FFF RID: 28671
|
||||
[Token(Token = "0x4006FFF")]
|
||||
public const byte application_data = 23;
|
||||
|
||||
// Token: 0x04007000 RID: 28672
|
||||
[Token(Token = "0x4007000")]
|
||||
public const byte heartbeat = 24;
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF4 RID: 7156
|
||||
[Token(Token = "0x2001BF4")]
|
||||
public interface DatagramTransport
|
||||
{
|
||||
// Token: 0x0600B01F RID: 45087
|
||||
[Token(Token = "0x600B01F")]
|
||||
[Address(Slot = "0")]
|
||||
int GetReceiveLimit();
|
||||
|
||||
// Token: 0x0600B020 RID: 45088
|
||||
[Token(Token = "0x600B020")]
|
||||
[Address(Slot = "1")]
|
||||
int GetSendLimit();
|
||||
|
||||
// Token: 0x0600B021 RID: 45089
|
||||
[Token(Token = "0x600B021")]
|
||||
[Address(Slot = "2")]
|
||||
int Receive(byte[] buf, int off, int len, int waitMillis);
|
||||
|
||||
// Token: 0x0600B022 RID: 45090
|
||||
[Token(Token = "0x600B022")]
|
||||
[Address(Slot = "3")]
|
||||
void Send(byte[] buf, int off, int len);
|
||||
|
||||
// Token: 0x0600B023 RID: 45091
|
||||
[Token(Token = "0x600B023")]
|
||||
[Address(Slot = "4")]
|
||||
void Close();
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF5 RID: 7157
|
||||
[Token(Token = "0x2001BF5")]
|
||||
public class DefaultTlsAgreementCredentials : AbstractTlsAgreementCredentials
|
||||
{
|
||||
// Token: 0x0600B024 RID: 45092 RVA: 0x00260DE8 File Offset: 0x0025EFE8
|
||||
[Token(Token = "0x600B024")]
|
||||
[Address(RVA = "0x2333240", Offset = "0x2332240", VA = "0x182333240")]
|
||||
public DefaultTlsAgreementCredentials(Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B024)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsAgreementCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_55:
|
||||
stloc:string(var_3_64, call:string(Platform::GetTypeName, newobj:ArgumentNullException[exp:object](ArgumentNullException::.ctor, ldstr:string("certificate"))))
|
||||
stloc:ArgumentException(var_4_7A, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_3_64)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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: 0x17001BF5 RID: 7157
|
||||
// (get) Token: 0x0600B025 RID: 45093 RVA: 0x00260E70 File Offset: 0x0025F070
|
||||
[Token(Token = "0x17001BF5")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600B025")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B026 RID: 45094 RVA: 0x00260E84 File Offset: 0x0025F084
|
||||
[Token(Token = "0x600B026")]
|
||||
[Address(RVA = "0x2333110", Offset = "0x2332110", VA = "0x182333110", Slot = "7")]
|
||||
public override byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey)
|
||||
{
|
||||
IBasicAgreement basicAgreement = this.mBasicAgreement;
|
||||
IBasicAgreement basicAgreement2 = this.mBasicAgreement;
|
||||
int num = 0;
|
||||
if (num < basicAgreement)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (!this.mTruncateAgreement)
|
||||
{
|
||||
IBasicAgreement basicAgreement3 = this.mBasicAgreement;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
byte[] array2;
|
||||
return array2;
|
||||
}
|
||||
|
||||
// Token: 0x04007001 RID: 28673
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007001")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x04007002 RID: 28674
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007002")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
|
||||
// Token: 0x04007003 RID: 28675
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007003")]
|
||||
protected readonly IBasicAgreement mBasicAgreement;
|
||||
|
||||
// Token: 0x04007004 RID: 28676
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007004")]
|
||||
protected readonly bool mTruncateAgreement;
|
||||
}
|
||||
}
|
||||
+434
@@ -0,0 +1,434 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF6 RID: 7158
|
||||
[Token(Token = "0x2001BF6")]
|
||||
public class DefaultTlsCipherFactory : AbstractTlsCipherFactory
|
||||
{
|
||||
// Token: 0x0600B027 RID: 45095 RVA: 0x00260ECC File Offset: 0x0025F0CC
|
||||
[Token(Token = "0x600B027")]
|
||||
[Address(RVA = "0x2333D60", Offset = "0x2332D60", VA = "0x182333D60", Slot = "5")]
|
||||
public override TlsCipher CreateCipher(TlsContext context, int encryptionAlgorithm, int macAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B027)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCipher(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_42:
|
||||
stloc:TlsFatalAlert(var_20_49, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_21)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B028 RID: 45096 RVA: 0x00260F24 File Offset: 0x0025F124
|
||||
[Token(Token = "0x600B028")]
|
||||
[Address(RVA = "0x2333490", Offset = "0x2332490", VA = "0x182333490", Slot = "6")]
|
||||
protected virtual TlsBlockCipher CreateAESCipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateCamelliaEngine();
|
||||
IBlockCipher blockCipher2 = this.CreateCamelliaEngine();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B029 RID: 45097 RVA: 0x00260F50 File Offset: 0x0025F150
|
||||
[Token(Token = "0x600B029")]
|
||||
[Address(RVA = "0x23338A0", Offset = "0x23328A0", VA = "0x1823338A0", Slot = "7")]
|
||||
protected virtual TlsBlockCipher CreateCamelliaCipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Camellia_Gcm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Camellia_Gcm();
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B02A RID: 45098 RVA: 0x00260F7C File Offset: 0x0025F17C
|
||||
[Token(Token = "0x600B02A")]
|
||||
[Address(RVA = "0x23339F0", Offset = "0x23329F0", VA = "0x1823339F0", Slot = "8")]
|
||||
protected virtual TlsCipher CreateChaCha20Poly1305(TlsContext context)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B02A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateChaCha20Poly1305(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:Chacha20Poly1305(var_0_06, newobj:Chacha20Poly1305(Chacha20Poly1305::.ctor, ldloc:TlsContext(context)))
|
||||
}
|
||||
|
||||
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: 0x0600B02B RID: 45099 RVA: 0x00260F90 File Offset: 0x0025F190
|
||||
[Token(Token = "0x600B02B")]
|
||||
[Address(RVA = "0x2333A50", Offset = "0x2332A50", VA = "0x182333A50", Slot = "9")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Ccm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateAesBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateAesBlockCipher();
|
||||
TlsAeadCipher tlsAeadCipher;
|
||||
return tlsAeadCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B02C RID: 45100 RVA: 0x00260FAC File Offset: 0x0025F1AC
|
||||
[Token(Token = "0x600B02C")]
|
||||
[Address(RVA = "0x2333B10", Offset = "0x2332B10", VA = "0x182333B10", Slot = "10")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Gcm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Ccm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Ccm();
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize);
|
||||
}
|
||||
|
||||
// Token: 0x0600B02D RID: 45101 RVA: 0x00260FD4 File Offset: 0x0025F1D4
|
||||
[Token(Token = "0x600B02D")]
|
||||
[Address(RVA = "0x2333BD0", Offset = "0x2332BD0", VA = "0x182333BD0", Slot = "11")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Aes_Ocb(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Gcm();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Gcm();
|
||||
ulong num;
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize, (int)num);
|
||||
}
|
||||
|
||||
// Token: 0x0600B02E RID: 45102 RVA: 0x00260FFC File Offset: 0x0025F1FC
|
||||
[Token(Token = "0x600B02E")]
|
||||
[Address(RVA = "0x2333CA0", Offset = "0x2332CA0", VA = "0x182333CA0", Slot = "12")]
|
||||
protected virtual TlsAeadCipher CreateCipher_Camellia_Gcm(TlsContext context, int cipherKeySize, int macSize)
|
||||
{
|
||||
IAeadBlockCipher aeadBlockCipher = this.CreateAeadBlockCipher_Aes_Ocb();
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.CreateAeadBlockCipher_Aes_Ocb();
|
||||
return new TlsAeadCipher(context, aeadBlockCipher, aeadBlockCipher2, cipherKeySize, macSize);
|
||||
}
|
||||
|
||||
// Token: 0x0600B02F RID: 45103 RVA: 0x00261024 File Offset: 0x0025F224
|
||||
[Token(Token = "0x600B02F")]
|
||||
[Address(RVA = "0x2334180", Offset = "0x2333180", VA = "0x182334180", Slot = "13")]
|
||||
protected virtual TlsBlockCipher CreateDesEdeCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateCamelliaBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateCamelliaBlockCipher();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B030 RID: 45104 RVA: 0x00261050 File Offset: 0x0025F250
|
||||
[Token(Token = "0x600B030")]
|
||||
[Address(RVA = "0x23343F0", Offset = "0x23333F0", VA = "0x1823343F0", Slot = "14")]
|
||||
protected virtual TlsNullCipher CreateNullCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsNullCipher tlsNullCipher;
|
||||
return tlsNullCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B031 RID: 45105 RVA: 0x0026106C File Offset: 0x0025F26C
|
||||
[Token(Token = "0x600B031")]
|
||||
[Address(RVA = "0x23344A0", Offset = "0x23334A0", VA = "0x1823344A0", Slot = "15")]
|
||||
protected virtual TlsStreamCipher CreateRC4Cipher(TlsContext context, int cipherKeySize, int macAlgorithm)
|
||||
{
|
||||
IBlockCipher blockCipher = this.CreateDesEdeBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateDesEdeBlockCipher();
|
||||
IBlockCipher blockCipher3 = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher4 = this.CreateSeedBlockCipher();
|
||||
TlsStreamCipher tlsStreamCipher;
|
||||
return tlsStreamCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B032 RID: 45106 RVA: 0x00261098 File Offset: 0x0025F298
|
||||
[Token(Token = "0x600B032")]
|
||||
[Address(RVA = "0x2334670", Offset = "0x2333670", VA = "0x182334670", Slot = "16")]
|
||||
protected virtual TlsBlockCipher CreateSeedCipher(TlsContext context, int macAlgorithm)
|
||||
{
|
||||
IStreamCipher streamCipher = this.CreateRC4StreamCipher();
|
||||
IStreamCipher streamCipher2 = this.CreateRC4StreamCipher();
|
||||
IBlockCipher blockCipher = this.CreateSeedBlockCipher();
|
||||
IBlockCipher blockCipher2 = this.CreateSeedBlockCipher();
|
||||
TlsBlockCipher tlsBlockCipher;
|
||||
return tlsBlockCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B033 RID: 45107 RVA: 0x002610C4 File Offset: 0x0025F2C4
|
||||
[Token(Token = "0x600B033")]
|
||||
[Address(RVA = "0x23337E0", Offset = "0x23327E0", VA = "0x1823337E0", Slot = "17")]
|
||||
protected virtual IBlockCipher CreateAesEngine()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B033)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateAesEngine()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:AesEngine(var_0_05, newobj:AesEngine(AesEngine::.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: 0x0600B034 RID: 45108 RVA: 0x002610D8 File Offset: 0x0025F2D8
|
||||
[Token(Token = "0x600B034")]
|
||||
[Address(RVA = "0x23339A0", Offset = "0x23329A0", VA = "0x1823339A0", Slot = "18")]
|
||||
protected virtual IBlockCipher CreateCamelliaEngine()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B034)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCamelliaEngine()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CamelliaEngine(var_0_05, newobj:CamelliaEngine(CamelliaEngine::.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: 0x0600B035 RID: 45109 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B035")]
|
||||
[Address(RVA = "0x2333770", Offset = "0x2332770", VA = "0x182333770", Slot = "19")]
|
||||
protected virtual IBlockCipher CreateAesBlockCipher()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B036 RID: 45110 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B036")]
|
||||
[Address(RVA = "0x2333590", Offset = "0x2332590", VA = "0x182333590", Slot = "20")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Ccm()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B037 RID: 45111 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B037")]
|
||||
[Address(RVA = "0x2333600", Offset = "0x2332600", VA = "0x182333600", Slot = "21")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Gcm()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B038 RID: 45112 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B038")]
|
||||
[Address(RVA = "0x2333670", Offset = "0x2332670", VA = "0x182333670", Slot = "22")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Aes_Ocb()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B039 RID: 45113 RVA: 0x002610EC File Offset: 0x0025F2EC
|
||||
[Token(Token = "0x600B039")]
|
||||
[Address(RVA = "0x2333700", Offset = "0x2332700", VA = "0x182333700", Slot = "23")]
|
||||
protected virtual IAeadBlockCipher CreateAeadBlockCipher_Camellia_Gcm()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B039)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateAeadBlockCipher_Camellia_Gcm()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:GcmBlockCipher(var_0_0B, newobj:GcmBlockCipher(GcmBlockCipher::.ctor, callvirt:IBlockCipher(DefaultTlsCipherFactory::CreateAesEngine, ldloc:DefaultTlsCipherFactory(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: 0x0600B03A RID: 45114 RVA: 0x00261104 File Offset: 0x0025F304
|
||||
[Token(Token = "0x600B03A")]
|
||||
[Address(RVA = "0x2333830", Offset = "0x2332830", VA = "0x182333830", Slot = "24")]
|
||||
protected virtual IBlockCipher CreateCamelliaBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B03A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateCamelliaBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0B, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, callvirt:IBlockCipher(DefaultTlsCipherFactory::CreateAesEngine, ldloc:DefaultTlsCipherFactory(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: 0x0600B03B RID: 45115 RVA: 0x0026111C File Offset: 0x0025F31C
|
||||
[Token(Token = "0x600B03B")]
|
||||
[Address(RVA = "0x2334110", Offset = "0x2333110", VA = "0x182334110", Slot = "25")]
|
||||
protected virtual IBlockCipher CreateDesEdeBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B03B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateDesEdeBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0A, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, newobj:DesEdeEngine[exp:IBlockCipher](DesEdeEngine::.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: 0x0600B03C RID: 45116 RVA: 0x00261134 File Offset: 0x0025F334
|
||||
[Token(Token = "0x600B03C")]
|
||||
[Address(RVA = "0x23345B0", Offset = "0x23335B0", VA = "0x1823345B0", Slot = "26")]
|
||||
protected virtual IStreamCipher CreateRC4StreamCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B03C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IStreamCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateRC4StreamCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:RC4Engine(var_0_05, newobj:RC4Engine(RC4Engine::.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: 0x0600B03D RID: 45117 RVA: 0x00261148 File Offset: 0x0025F348
|
||||
[Token(Token = "0x600B03D")]
|
||||
[Address(RVA = "0x2334600", Offset = "0x2333600", VA = "0x182334600", Slot = "27")]
|
||||
protected virtual IBlockCipher CreateSeedBlockCipher()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B03D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IBlockCipher BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateSeedBlockCipher()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:CbcBlockCipher(var_0_0A, newobj:CbcBlockCipher(CbcBlockCipher::.ctor, newobj:SeedEngine[exp:IBlockCipher](SeedEngine::.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: 0x0600B03E RID: 45118 RVA: 0x00261160 File Offset: 0x0025F360
|
||||
[Token(Token = "0x600B03E")]
|
||||
[Address(RVA = "0x2334280", Offset = "0x2333280", VA = "0x182334280", Slot = "28")]
|
||||
protected virtual IDigest CreateHMacDigest(int macAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B03E)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IDigest BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory::CreateHMacDigest(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2B:
|
||||
stloc:TlsFatalAlert(var_6_32, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_7)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B03F RID: 45119 RVA: 0x002611A0 File Offset: 0x0025F3A0
|
||||
[Token(Token = "0x600B03F")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public DefaultTlsCipherFactory()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+237
@@ -0,0 +1,237 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF7 RID: 7159
|
||||
[Token(Token = "0x2001BF7")]
|
||||
public abstract class DefaultTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600B040 RID: 45120 RVA: 0x002611B4 File Offset: 0x0025F3B4
|
||||
[Token(Token = "0x600B040")]
|
||||
[Address(RVA = "0x2334D20", Offset = "0x2333D20", VA = "0x182334D20")]
|
||||
public DefaultTlsClient()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
defaultTlsDHVerifier.mGroups = defaultGroups;
|
||||
defaultTlsDHVerifier.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600B041 RID: 45121 RVA: 0x002611FC File Offset: 0x0025F3FC
|
||||
[Token(Token = "0x600B041")]
|
||||
[Address(RVA = "0x2334C00", Offset = "0x2333C00", VA = "0x182334C00")]
|
||||
public DefaultTlsClient(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
defaultTlsDHVerifier.mGroups = defaultGroups;
|
||||
defaultTlsDHVerifier.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
||||
base..ctor();
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600B042 RID: 45122 RVA: 0x00261240 File Offset: 0x0025F440
|
||||
[Token(Token = "0x600B042")]
|
||||
[Address(RVA = "0x2334E70", Offset = "0x2333E70", VA = "0x182334E70")]
|
||||
public DefaultTlsClient(TlsCipherFactory cipherFactory, TlsDHVerifier dhVerifier)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
this.mDHVerifier = dhVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600B043 RID: 45123 RVA: 0x00261264 File Offset: 0x0025F464
|
||||
[Token(Token = "0x600B043")]
|
||||
[Address(RVA = "0x2334A10", Offset = "0x2333A10", VA = "0x182334A10", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[9];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.D1C2E1F681ED98C3A518F7C96A5D5C6FC0E3F608).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B044 RID: 45124 RVA: 0x00261288 File Offset: 0x0025F488
|
||||
[Token(Token = "0x600B044")]
|
||||
[Address(RVA = "0x2334A60", Offset = "0x2333A60", VA = "0x182334A60", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B044)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:TlsFatalAlert(var_4_25, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5)))
|
||||
}
|
||||
|
||||
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: 0x0600B045 RID: 45125 RVA: 0x002612BC File Offset: 0x0025F4BC
|
||||
[Token(Token = "0x600B045")]
|
||||
[Address(RVA = "0x2334770", Offset = "0x2333770", VA = "0x182334770", Slot = "61")]
|
||||
protected virtual TlsKeyExchange CreateDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B045)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsDHVerifier(var_1_0D, ldfld:TlsDHVerifier(DefaultTlsClient::mDHVerifier, ldloc:DefaultTlsClient(this)))
|
||||
stloc:TlsDHKeyExchange(var_2_17, newobj:TlsDHKeyExchange(TlsDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsDHVerifier(var_1_0D), ldloc:int32[exp:DHParameters](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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: 0x0600B046 RID: 45126 RVA: 0x002612E4 File Offset: 0x0025F4E4
|
||||
[Token(Token = "0x600B046")]
|
||||
[Address(RVA = "0x23347F0", Offset = "0x23337F0", VA = "0x1823347F0", Slot = "62")]
|
||||
protected virtual TlsKeyExchange CreateDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B046)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsDHVerifier(var_1_0D, ldfld:TlsDHVerifier(DefaultTlsClient::mDHVerifier, ldloc:DefaultTlsClient(this)))
|
||||
stloc:TlsDheKeyExchange(var_2_17, newobj:TlsDheKeyExchange(TlsDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsDHVerifier(var_1_0D), ldloc:int32[exp:DHParameters](var_3)))
|
||||
stloc:int32(var_3, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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: 0x0600B047 RID: 45127 RVA: 0x0026130C File Offset: 0x0025F50C
|
||||
[Token(Token = "0x600B047")]
|
||||
[Address(RVA = "0x2334870", Offset = "0x2333870", VA = "0x182334870", Slot = "63")]
|
||||
protected virtual TlsKeyExchange CreateECDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B047)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateECDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsECDHKeyExchange(var_4_26, newobj:TlsECDHKeyExchange(TlsECDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x0600B048 RID: 45128 RVA: 0x00261340 File Offset: 0x0025F540
|
||||
[Token(Token = "0x600B048")]
|
||||
[Address(RVA = "0x2334910", Offset = "0x2333910", VA = "0x182334910", Slot = "64")]
|
||||
protected virtual TlsKeyExchange CreateECDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B048)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateECDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:DefaultTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsECDheKeyExchange(var_4_26, newobj:TlsECDheKeyExchange(TlsECDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x0600B049 RID: 45129 RVA: 0x00261374 File Offset: 0x0025F574
|
||||
[Token(Token = "0x600B049")]
|
||||
[Address(RVA = "0x23349B0", Offset = "0x23339B0", VA = "0x1823349B0", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreateRsaKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B049)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsClient::CreateRsaKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsRsaKeyExchange(var_0_0B, newobj:TlsRsaKeyExchange(TlsRsaKeyExchange::.ctor, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:DefaultTlsClient[exp: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: 0x04007005 RID: 28677
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007005")]
|
||||
protected TlsDHVerifier mDHVerifier;
|
||||
}
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF8 RID: 7160
|
||||
[Token(Token = "0x2001BF8")]
|
||||
public class DefaultTlsDHVerifier : TlsDHVerifier
|
||||
{
|
||||
// Token: 0x0600B04A RID: 45130 RVA: 0x0026138C File Offset: 0x0025F58C
|
||||
[Token(Token = "0x600B04A")]
|
||||
[Address(RVA = "0x2334F00", Offset = "0x2333F00", VA = "0x182334F00")]
|
||||
private static void AddDefaultGroup(DHParameters dhParameters)
|
||||
{
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B04B RID: 45131 RVA: 0x002613A4 File Offset: 0x0025F5A4
|
||||
[Token(Token = "0x600B04B")]
|
||||
[Address(RVA = "0x2335290", Offset = "0x2334290", VA = "0x182335290")]
|
||||
static DefaultTlsDHVerifier()
|
||||
{
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe2048);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe3072);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe4096);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe6144);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc7919_ffdhe8192);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_1536);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_2048);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_3072);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_4096);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_6144);
|
||||
DefaultTlsDHVerifier.AddDefaultGroup(DHStandardGroups.rfc3526_8192);
|
||||
}
|
||||
|
||||
// Token: 0x0600B04C RID: 45132 RVA: 0x0026142C File Offset: 0x0025F62C
|
||||
[Token(Token = "0x600B04C")]
|
||||
[Address(RVA = "0x23354E0", Offset = "0x23344E0", VA = "0x1823354E0")]
|
||||
public DefaultTlsDHVerifier()
|
||||
{
|
||||
int defaultMinimumPrimeBits = DefaultTlsDHVerifier.DefaultMinimumPrimeBits;
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
this.mMinimumPrimeBits = defaultMinimumPrimeBits;
|
||||
}
|
||||
|
||||
// Token: 0x0600B04D RID: 45133 RVA: 0x0026145C File Offset: 0x0025F65C
|
||||
[Token(Token = "0x600B04D")]
|
||||
[Address(RVA = "0x2335450", Offset = "0x2334450", VA = "0x182335450")]
|
||||
public DefaultTlsDHVerifier(int minimumPrimeBits)
|
||||
{
|
||||
IList defaultGroups = DefaultTlsDHVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
this.mMinimumPrimeBits = minimumPrimeBits;
|
||||
}
|
||||
|
||||
// Token: 0x0600B04E RID: 45134 RVA: 0x00261484 File Offset: 0x0025F684
|
||||
[Token(Token = "0x600B04E")]
|
||||
[Address(RVA = "0x52CBA0", Offset = "0x52BBA0", VA = "0x18052CBA0")]
|
||||
public DefaultTlsDHVerifier(IList groups, int minimumPrimeBits)
|
||||
{
|
||||
this.mGroups = groups;
|
||||
this.mMinimumPrimeBits = minimumPrimeBits;
|
||||
}
|
||||
|
||||
// Token: 0x0600B04F RID: 45135 RVA: 0x002614A8 File Offset: 0x0025F6A8
|
||||
[Token(Token = "0x600B04F")]
|
||||
[Address(RVA = "0x2334EB0", Offset = "0x2333EB0", VA = "0x182334EB0", Slot = "5")]
|
||||
public virtual bool Accept(DHParameters dhParameters)
|
||||
{
|
||||
bool flag = this.CheckGroup(dhParameters);
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return ((TlsDHVerifier)this).Accept(dhParameters);
|
||||
}
|
||||
|
||||
// Token: 0x17001BF6 RID: 7158
|
||||
// (get) Token: 0x0600B050 RID: 45136 RVA: 0x002614CC File Offset: 0x0025F6CC
|
||||
[Token(Token = "0x17001BF6")]
|
||||
public virtual int MinimumPrimeBits
|
||||
{
|
||||
[Token(Token = "0x600B050")]
|
||||
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.mMinimumPrimeBits;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B051 RID: 45137 RVA: 0x002614E0 File Offset: 0x0025F6E0
|
||||
[Token(Token = "0x600B051")]
|
||||
[Address(RVA = "0x2334F80", Offset = "0x2333F80", VA = "0x182334F80", Slot = "7")]
|
||||
protected virtual bool AreGroupsEqual(DHParameters a, DHParameters b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600B052 RID: 45138 RVA: 0x00261500 File Offset: 0x0025F700
|
||||
[Token(Token = "0x600B052")]
|
||||
[Address(RVA = "0x2335020", Offset = "0x2334020", VA = "0x182335020", Slot = "8")]
|
||||
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B053 RID: 45139 RVA: 0x00261518 File Offset: 0x0025F718
|
||||
[Token(Token = "0x600B053")]
|
||||
[Address(RVA = "0x2335060", Offset = "0x2334060", VA = "0x182335060", Slot = "9")]
|
||||
protected virtual bool CheckGroup(DHParameters dhParameters)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IList list = this.mGroups;
|
||||
int minimumPrimeBits = this.MinimumPrimeBits;
|
||||
while (minimumPrimeBits == 0)
|
||||
{
|
||||
}
|
||||
if (minimumPrimeBits != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B054 RID: 45140 RVA: 0x00261554 File Offset: 0x0025F754
|
||||
[Token(Token = "0x600B054")]
|
||||
[Address(RVA = "0x2335240", Offset = "0x2334240", VA = "0x182335240", Slot = "10")]
|
||||
protected virtual bool CheckMinimumPrimeBits(DHParameters dhParameters)
|
||||
{
|
||||
bool flag;
|
||||
return dhParameters.p.BitLength >= (flag ? 1 : 0);
|
||||
}
|
||||
|
||||
// Token: 0x04007006 RID: 28678
|
||||
[Token(Token = "0x4007006")]
|
||||
public static readonly int DefaultMinimumPrimeBits;
|
||||
|
||||
// Token: 0x04007007 RID: 28679
|
||||
[Token(Token = "0x4007007")]
|
||||
protected static readonly IList DefaultGroups = Platform.CreateArrayList();
|
||||
|
||||
// Token: 0x04007008 RID: 28680
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007008")]
|
||||
protected readonly IList mGroups;
|
||||
|
||||
// Token: 0x04007009 RID: 28681
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007009")]
|
||||
protected readonly int mMinimumPrimeBits;
|
||||
}
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BF9 RID: 7161
|
||||
[Token(Token = "0x2001BF9")]
|
||||
public class DefaultTlsEncryptionCredentials : AbstractTlsEncryptionCredentials
|
||||
{
|
||||
// Token: 0x0600B055 RID: 45141 RVA: 0x00261578 File Offset: 0x0025F778
|
||||
[Token(Token = "0x600B055")]
|
||||
[Address(RVA = "0x2335650", Offset = "0x2334650", VA = "0x182335650")]
|
||||
public DefaultTlsEncryptionCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B055)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsEncryptionCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3C:
|
||||
stloc:string(var_1_4B, call:string(Platform::GetTypeName, newobj:ArgumentNullException[exp:object](ArgumentNullException::.ctor, ldstr:string("certificate"))))
|
||||
stloc:ArgumentException(var_2_61, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_1_4B)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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: 0x17001BF7 RID: 7159
|
||||
// (get) Token: 0x0600B056 RID: 45142 RVA: 0x002615E8 File Offset: 0x0025F7E8
|
||||
[Token(Token = "0x17001BF7")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600B056")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B057 RID: 45143 RVA: 0x002615FC File Offset: 0x0025F7FC
|
||||
[Token(Token = "0x600B057")]
|
||||
[Address(RVA = "0x23355B0", Offset = "0x23345B0", VA = "0x1823355B0", Slot = "7")]
|
||||
public override byte[] DecryptPreMasterSecret(byte[] encryptedPreMasterSecret)
|
||||
{
|
||||
AsymmetricKeyParameter asymmetricKeyParameter;
|
||||
do
|
||||
{
|
||||
asymmetricKeyParameter = this.mPrivateKey;
|
||||
if (asymmetricKeyParameter == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (asymmetricKeyParameter == 0);
|
||||
TlsContext tlsContext = this.mContext;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0400700A RID: 28682
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400700A")]
|
||||
protected readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x0400700B RID: 28683
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400700B")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x0400700C RID: 28684
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400700C")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
}
|
||||
}
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BFA RID: 7162
|
||||
[Token(Token = "0x2001BFA")]
|
||||
public abstract class DefaultTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x0600B058 RID: 45144 RVA: 0x00261624 File Offset: 0x0025F824
|
||||
[Token(Token = "0x600B058")]
|
||||
[Address(RVA = "0x232D6D0", Offset = "0x232C6D0", VA = "0x18232D6D0")]
|
||||
public DefaultTlsServer()
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor();
|
||||
this.mCipherFactory = defaultTlsCipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600B059 RID: 45145 RVA: 0x00261644 File Offset: 0x0025F844
|
||||
[Token(Token = "0x600B059")]
|
||||
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
||||
public DefaultTlsServer(TlsCipherFactory cipherFactory)
|
||||
{
|
||||
this.mCipherFactory = cipherFactory;
|
||||
}
|
||||
|
||||
// Token: 0x0600B05A RID: 45146 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B05A")]
|
||||
[Address(RVA = "0x2335D20", Offset = "0x2334D20", VA = "0x182335D20", Slot = "63")]
|
||||
protected virtual TlsSignerCredentials GetDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B05B RID: 45147 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B05B")]
|
||||
[Address(RVA = "0x2335D70", Offset = "0x2334D70", VA = "0x182335D70", Slot = "64")]
|
||||
protected virtual TlsSignerCredentials GetECDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B05C RID: 45148 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B05C")]
|
||||
[Address(RVA = "0x2335F60", Offset = "0x2334F60", VA = "0x182335F60", Slot = "65")]
|
||||
protected virtual TlsEncryptionCredentials GetRsaEncryptionCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B05D RID: 45149 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B05D")]
|
||||
[Address(RVA = "0x2335FB0", Offset = "0x2334FB0", VA = "0x182335FB0", Slot = "66")]
|
||||
protected virtual TlsSignerCredentials GetRsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B05E RID: 45150 RVA: 0x00261660 File Offset: 0x0025F860
|
||||
[Token(Token = "0x600B05E")]
|
||||
[Address(RVA = "0x2335CC0", Offset = "0x2334CC0", VA = "0x182335CC0", Slot = "67")]
|
||||
protected virtual DHParameters GetDHParameters()
|
||||
{
|
||||
return DHStandardGroups.rfc7919_ffdhe2048;
|
||||
}
|
||||
|
||||
// Token: 0x0600B05F RID: 45151 RVA: 0x00261674 File Offset: 0x0025F874
|
||||
[Token(Token = "0x600B05F")]
|
||||
[Address(RVA = "0x2335B20", Offset = "0x2334B20", VA = "0x182335B20", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[18];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.6C59E372F66FEFCF8A0CEFB4163EF666FC7A8DF7).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B060 RID: 45152 RVA: 0x00261698 File Offset: 0x0025F898
|
||||
[Token(Token = "0x600B060")]
|
||||
[Address(RVA = "0x2335B70", Offset = "0x2334B70", VA = "0x182335B70", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B060)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCredentials BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::GetCredentials()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5D:
|
||||
stloc:TlsFatalAlert(var_8_64, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_9)))
|
||||
}
|
||||
|
||||
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: 0x0600B061 RID: 45153 RVA: 0x0026170C File Offset: 0x0025F90C
|
||||
[Token(Token = "0x600B061")]
|
||||
[Address(RVA = "0x2335DC0", Offset = "0x2334DC0", VA = "0x182335DC0", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B061)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1E:
|
||||
stloc:TlsFatalAlert(var_4_25, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_5)))
|
||||
}
|
||||
|
||||
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: 0x0600B062 RID: 45154 RVA: 0x00261740 File Offset: 0x0025F940
|
||||
[Token(Token = "0x600B062")]
|
||||
[Address(RVA = "0x2335840", Offset = "0x2334840", VA = "0x182335840", Slot = "68")]
|
||||
protected virtual TlsKeyExchange CreateDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B062)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsSignerCredentials(var_0_06, callvirt:TlsSignerCredentials(DefaultTlsServer::GetRsaSignerCredentials, ldloc:DefaultTlsServer(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: 0x0600B063 RID: 45155 RVA: 0x00261754 File Offset: 0x0025F954
|
||||
[Token(Token = "0x600B063")]
|
||||
[Address(RVA = "0x23358E0", Offset = "0x23348E0", VA = "0x1823358E0", Slot = "69")]
|
||||
protected virtual TlsKeyExchange CreateDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B063)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsSignerCredentials(var_0_06, callvirt:TlsSignerCredentials(DefaultTlsServer::GetRsaSignerCredentials, ldloc:DefaultTlsServer(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: 0x0600B064 RID: 45156 RVA: 0x00261768 File Offset: 0x0025F968
|
||||
[Token(Token = "0x600B064")]
|
||||
[Address(RVA = "0x2335980", Offset = "0x2334980", VA = "0x182335980", Slot = "70")]
|
||||
protected virtual TlsKeyExchange CreateECDHKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B064)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateECDHKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:TlsECDHKeyExchange(var_4_26, newobj:TlsECDHKeyExchange(TlsECDHKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x0600B065 RID: 45157 RVA: 0x0026179C File Offset: 0x0025F99C
|
||||
[Token(Token = "0x600B065")]
|
||||
[Address(RVA = "0x2335A20", Offset = "0x2334A20", VA = "0x182335A20", Slot = "71")]
|
||||
protected virtual TlsKeyExchange CreateECDheKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B065)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateECDheKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:int32[](var_1_0D, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:DefaultTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:TlsECDheKeyExchange(var_4_26, newobj:TlsECDheKeyExchange(TlsECDheKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:int32[](var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x0600B066 RID: 45158 RVA: 0x002617D0 File Offset: 0x0025F9D0
|
||||
[Token(Token = "0x600B066")]
|
||||
[Address(RVA = "0x2335AC0", Offset = "0x2334AC0", VA = "0x182335AC0", Slot = "72")]
|
||||
protected virtual TlsKeyExchange CreateRsaKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B066)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsServer::CreateRsaKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsRsaKeyExchange(var_0_0B, newobj:TlsRsaKeyExchange(TlsRsaKeyExchange::.ctor, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:DefaultTlsServer[exp:AbstractTlsServer](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
|
||||
*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BFB RID: 7163
|
||||
[Token(Token = "0x2001BFB")]
|
||||
public class DefaultTlsSignerCredentials : AbstractTlsSignerCredentials
|
||||
{
|
||||
// Token: 0x0600B067 RID: 45159 RVA: 0x002617E8 File Offset: 0x0025F9E8
|
||||
[Token(Token = "0x600B067")]
|
||||
[Address(RVA = "0x23361F0", Offset = "0x23351F0", VA = "0x1823361F0")]
|
||||
public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B068 RID: 45160 RVA: 0x002617F8 File Offset: 0x0025F9F8
|
||||
[Token(Token = "0x600B068")]
|
||||
[Address(RVA = "0x2336210", Offset = "0x2335210", VA = "0x182336210")]
|
||||
public DefaultTlsSignerCredentials(TlsContext context, Certificate certificate, AsymmetricKeyParameter privateKey, SignatureAndHashAlgorithm signatureAndHashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B068)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DefaultTlsSignerCredentials::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.AsymmetricKeyParameter,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8E:
|
||||
stloc:string(var_7_94, call:string(Platform::GetTypeName, ldloc:AsymmetricKeyParameter[exp:object](privateKey)))
|
||||
stloc:ArgumentException(var_8_AC, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string("type not supported: "), ldloc:string(var_7_94)), ldstr:string("privateKey")))
|
||||
}
|
||||
|
||||
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: 0x17001BF8 RID: 7160
|
||||
// (get) Token: 0x0600B069 RID: 45161 RVA: 0x002618B4 File Offset: 0x0025FAB4
|
||||
[Token(Token = "0x17001BF8")]
|
||||
public override Certificate Certificate
|
||||
{
|
||||
[Token(Token = "0x600B069")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B06A RID: 45162 RVA: 0x002618C8 File Offset: 0x0025FAC8
|
||||
[Token(Token = "0x600B06A")]
|
||||
[Address(RVA = "0x2336000", Offset = "0x2335000", VA = "0x182336000", Slot = "8")]
|
||||
public override byte[] GenerateCertificateSignature(byte[] hash)
|
||||
{
|
||||
bool flag = TlsUtilities.IsTlsV12(this.mContext);
|
||||
TlsSigner tlsSigner = this.mSigner;
|
||||
if (!flag)
|
||||
{
|
||||
AsymmetricKeyParameter asymmetricKeyParameter = this.mPrivateKey;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
asymmetricKeyParameter += asymmetricKeyParameter;
|
||||
}
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = this.mSignatureAndHashAlgorithm;
|
||||
int num2 = 0;
|
||||
num2 += num2;
|
||||
num2++;
|
||||
signatureAndHashAlgorithm += signatureAndHashAlgorithm;
|
||||
num2 += 2;
|
||||
num2 += 19;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001BF9 RID: 7161
|
||||
// (get) Token: 0x0600B06B RID: 45163 RVA: 0x00261938 File Offset: 0x0025FB38
|
||||
[Token(Token = "0x17001BF9")]
|
||||
public override SignatureAndHashAlgorithm SignatureAndHashAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600B06B")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.mSignatureAndHashAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400700D RID: 28685
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400700D")]
|
||||
protected readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x0400700E RID: 28686
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400700E")]
|
||||
protected readonly Certificate mCertificate;
|
||||
|
||||
// Token: 0x0400700F RID: 28687
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400700F")]
|
||||
protected readonly AsymmetricKeyParameter mPrivateKey;
|
||||
|
||||
// Token: 0x04007010 RID: 28688
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007010")]
|
||||
protected readonly SignatureAndHashAlgorithm mSignatureAndHashAlgorithm;
|
||||
|
||||
// Token: 0x04007011 RID: 28689
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007011")]
|
||||
protected readonly TlsSigner mSigner;
|
||||
}
|
||||
}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BFC RID: 7164
|
||||
[Token(Token = "0x2001BFC")]
|
||||
public class DefaultTlsSrpGroupVerifier : TlsSrpGroupVerifier
|
||||
{
|
||||
// Token: 0x0600B06C RID: 45164 RVA: 0x0026194C File Offset: 0x0025FB4C
|
||||
[Token(Token = "0x600B06C")]
|
||||
[Address(RVA = "0x2336780", Offset = "0x2335780", VA = "0x182336780")]
|
||||
static DefaultTlsSrpGroupVerifier()
|
||||
{
|
||||
IList defaultGroups = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups2 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups3 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups4 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups5 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups6 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
IList defaultGroups7 = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B06D RID: 45165 RVA: 0x00261998 File Offset: 0x0025FB98
|
||||
[Token(Token = "0x600B06D")]
|
||||
[Address(RVA = "0x23369B0", Offset = "0x23359B0", VA = "0x1823369B0")]
|
||||
public DefaultTlsSrpGroupVerifier()
|
||||
{
|
||||
IList defaultGroups = DefaultTlsSrpGroupVerifier.DefaultGroups;
|
||||
base..ctor();
|
||||
this.mGroups = defaultGroups;
|
||||
}
|
||||
|
||||
// Token: 0x0600B06E RID: 45166 RVA: 0x002619B8 File Offset: 0x0025FBB8
|
||||
[Token(Token = "0x600B06E")]
|
||||
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
||||
public DefaultTlsSrpGroupVerifier(IList groups)
|
||||
{
|
||||
this.mGroups = groups;
|
||||
}
|
||||
|
||||
// Token: 0x0600B06F RID: 45167 RVA: 0x002619D4 File Offset: 0x0025FBD4
|
||||
[Token(Token = "0x600B06F")]
|
||||
[Address(RVA = "0x2336530", Offset = "0x2335530", VA = "0x182336530", Slot = "5")]
|
||||
public virtual bool Accept(Srp6GroupParameters group)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IList list = this.mGroups;
|
||||
bool flag = this.Accept(group);
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B070 RID: 45168 RVA: 0x00261A10 File Offset: 0x0025FC10
|
||||
[Token(Token = "0x600B070")]
|
||||
[Address(RVA = "0x23366E0", Offset = "0x23356E0", VA = "0x1823366E0", Slot = "6")]
|
||||
protected virtual bool AreGroupsEqual(Srp6GroupParameters a, Srp6GroupParameters b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
return flag;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600B071 RID: 45169 RVA: 0x00261A30 File Offset: 0x0025FC30
|
||||
[Token(Token = "0x600B071")]
|
||||
[Address(RVA = "0x2335020", Offset = "0x2334020", VA = "0x182335020", Slot = "7")]
|
||||
protected virtual bool AreParametersEqual(BigInteger a, BigInteger b)
|
||||
{
|
||||
if (a == b)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04007012 RID: 28690
|
||||
[Token(Token = "0x4007012")]
|
||||
protected static readonly IList DefaultGroups = Platform.CreateArrayList();
|
||||
|
||||
// Token: 0x04007013 RID: 28691
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007013")]
|
||||
protected readonly IList mGroups;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,453 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BFD RID: 7165
|
||||
[Token(Token = "0x2001BFD")]
|
||||
internal class DeferredHash : TlsHandshakeHash, IDigest
|
||||
{
|
||||
// Token: 0x0600B072 RID: 45170 RVA: 0x00261A48 File Offset: 0x0025FC48
|
||||
[Token(Token = "0x600B072")]
|
||||
[Address(RVA = "0x2337EB0", Offset = "0x2336EB0", VA = "0x182337EB0")]
|
||||
internal DeferredHash()
|
||||
{
|
||||
DigestInputBuffer digestInputBuffer = new DigestInputBuffer();
|
||||
this.mBuf = digestInputBuffer;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)((ulong)4294967295L);
|
||||
}
|
||||
|
||||
// Token: 0x0600B073 RID: 45171 RVA: 0x00261A88 File Offset: 0x0025FC88
|
||||
[Token(Token = "0x600B073")]
|
||||
[Address(RVA = "0x2337DE0", Offset = "0x2336DE0", VA = "0x182337DE0")]
|
||||
private DeferredHash(byte prfHashAlgorithm, IDigest prfHash)
|
||||
{
|
||||
this.mBuf = (ulong)0L;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
this.mHashes = dictionary;
|
||||
this.mPrfHashAlgorithm = (int)prfHashAlgorithm;
|
||||
}
|
||||
|
||||
// Token: 0x0600B074 RID: 45172 RVA: 0x00261AC0 File Offset: 0x0025FCC0
|
||||
[Token(Token = "0x600B074")]
|
||||
[Address(RVA = "0x415800", Offset = "0x414800", VA = "0x180415800", Slot = "18")]
|
||||
public virtual void Init(TlsContext context)
|
||||
{
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
// Token: 0x0600B075 RID: 45173 RVA: 0x00261AD4 File Offset: 0x0025FCD4
|
||||
[Token(Token = "0x600B075")]
|
||||
[Address(RVA = "0x23374D0", Offset = "0x23364D0", VA = "0x1823374D0", Slot = "19")]
|
||||
public virtual TlsHandshakeHash NotifyPrfDetermined()
|
||||
{
|
||||
TlsContext tlsContext = this.mContext;
|
||||
byte b;
|
||||
this.mPrfHashAlgorithm = (int)b;
|
||||
this.CheckStopBuffering();
|
||||
CombinedHash combinedHash;
|
||||
combinedHash.SealHashAlgorithms();
|
||||
IDigest digest;
|
||||
combinedHash.mMd5 = digest;
|
||||
IDigest digest2;
|
||||
combinedHash.mSha1 = digest2;
|
||||
combinedHash.Reset();
|
||||
this.mBuf.UpdateDigest(combinedHash);
|
||||
string algorithmName = ((IDigest)combinedHash).AlgorithmName;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B076 RID: 45174 RVA: 0x00261B2C File Offset: 0x0025FD2C
|
||||
[Token(Token = "0x600B076")]
|
||||
[Address(RVA = "0x2337AB0", Offset = "0x2336AB0", VA = "0x182337AB0", Slot = "20")]
|
||||
public virtual void TrackHashAlgorithm(byte hashAlgorithm)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B076)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::TrackHashAlgorithm(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_13:
|
||||
stloc:InvalidOperationException(var_1_1D, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Too late to track more hash algorithms")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B077 RID: 45175 RVA: 0x00261B58 File Offset: 0x0025FD58
|
||||
[Token(Token = "0x600B077")]
|
||||
[Address(RVA = "0x12FBB00", Offset = "0x12FAB00", VA = "0x1812FBB00", Slot = "21")]
|
||||
public virtual void SealHashAlgorithms()
|
||||
{
|
||||
string algorithmName = ((IDigest)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600B078 RID: 45176 RVA: 0x00261B6C File Offset: 0x0025FD6C
|
||||
[Token(Token = "0x600B078")]
|
||||
[Address(RVA = "0x23378F0", Offset = "0x23368F0", VA = "0x1823378F0", Slot = "22")]
|
||||
public virtual TlsHandshakeHash StopTracking()
|
||||
{
|
||||
int num = this.mPrfHashAlgorithm;
|
||||
if (this.mHashes == 0)
|
||||
{
|
||||
}
|
||||
DigestInputBuffer digestInputBuffer = this.mBuf;
|
||||
if (digestInputBuffer != 0)
|
||||
{
|
||||
IDigest digest;
|
||||
digestInputBuffer.UpdateDigest(digest);
|
||||
}
|
||||
DeferredHash deferredHash = new DeferredHash();
|
||||
deferredHash.mBuf = (ulong)0L;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
deferredHash.mHashes = dictionary;
|
||||
deferredHash.mPrfHashAlgorithm = num;
|
||||
deferredHash.Reset();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B079 RID: 45177 RVA: 0x00261BD0 File Offset: 0x0025FDD0
|
||||
[Token(Token = "0x600B079")]
|
||||
[Address(RVA = "0x2337130", Offset = "0x2336130", VA = "0x182337130", Slot = "23")]
|
||||
public virtual IDigest ForkPrfHash()
|
||||
{
|
||||
this.Reset();
|
||||
int num = this.mPrfHashAlgorithm;
|
||||
if (this.mBuf == (ulong)0L)
|
||||
{
|
||||
IDictionary dictionary = this.mHashes;
|
||||
IDigest digest;
|
||||
return digest;
|
||||
}
|
||||
IDigest digest2 = TlsUtilities.CreateHash((byte)num);
|
||||
this.mBuf.UpdateDigest(digest2);
|
||||
return digest2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B07A RID: 45178 RVA: 0x00261C18 File Offset: 0x0025FE18
|
||||
[Token(Token = "0x600B07A")]
|
||||
[Address(RVA = "0x2337350", Offset = "0x2336350", VA = "0x182337350", Slot = "24")]
|
||||
public virtual byte[] GetFinalHash(byte hashAlgorithm)
|
||||
{
|
||||
IDictionary dictionary = this.mHashes;
|
||||
DigestInputBuffer digestInputBuffer = this.mBuf;
|
||||
IDigest digest;
|
||||
if (digestInputBuffer != 0)
|
||||
{
|
||||
digestInputBuffer.UpdateDigest(digest);
|
||||
}
|
||||
return DigestUtilities.DoFinal(digest);
|
||||
}
|
||||
|
||||
// Token: 0x17001BFA RID: 7162
|
||||
// (get) Token: 0x0600B07B RID: 45179 RVA: 0x00261C68 File Offset: 0x0025FE68
|
||||
[Token(Token = "0x17001BFA")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600B07B")]
|
||||
[Address(RVA = "0x2337F40", Offset = "0x2336F40", VA = "0x182337F40", Slot = "25")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B07B)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::get_AlgorithmName()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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: 0x0600B07C RID: 45180 RVA: 0x00261C80 File Offset: 0x0025FE80
|
||||
[Token(Token = "0x600B07C")]
|
||||
[Address(RVA = "0x2337290", Offset = "0x2336290", VA = "0x182337290", Slot = "26")]
|
||||
public virtual int GetByteLength()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B07C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetByteLength()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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: 0x0600B07D RID: 45181 RVA: 0x00261C98 File Offset: 0x0025FE98
|
||||
[Token(Token = "0x600B07D")]
|
||||
[Address(RVA = "0x23372F0", Offset = "0x23362F0", VA = "0x1823372F0", Slot = "27")]
|
||||
public virtual int GetDigestSize()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B07D)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::GetDigestSize()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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: 0x0600B07E RID: 45182 RVA: 0x00261CB0 File Offset: 0x0025FEB0
|
||||
[Token(Token = "0x600B07E")]
|
||||
[Address(RVA = "0x2337B40", Offset = "0x2336B40", VA = "0x182337B40", Slot = "28")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 3;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B07F RID: 45183 RVA: 0x00261D14 File Offset: 0x0025FF14
|
||||
[Token(Token = "0x600B07F")]
|
||||
[Address(RVA = "0x2336A30", Offset = "0x2335A30", VA = "0x182336A30", Slot = "29")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
int num;
|
||||
DigestInputBuffer digestInputBuffer;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
digestInputBuffer = this.mBuf;
|
||||
if (digestInputBuffer != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 4;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
int num3 = digestInputBuffer.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600B080 RID: 45184 RVA: 0x00261D78 File Offset: 0x0025FF78
|
||||
[Token(Token = "0x600B080")]
|
||||
[Address(RVA = "0x23370D0", Offset = "0x23360D0", VA = "0x1823370D0", Slot = "30")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B080)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DeferredHash::DoFinal(System.Byte[],System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:InvalidOperationException(var_0_0A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Use Fork() to get a definite IDigest")))
|
||||
}
|
||||
|
||||
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: 0x0600B081 RID: 45185 RVA: 0x00261D90 File Offset: 0x0025FF90
|
||||
[Token(Token = "0x600B081")]
|
||||
[Address(RVA = "0x2337650", Offset = "0x2336650", VA = "0x182337650", Slot = "31")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
num++;
|
||||
num += 19;
|
||||
num += 6;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B082 RID: 45186 RVA: 0x00261DF4 File Offset: 0x0025FFF4
|
||||
[Token(Token = "0x600B082")]
|
||||
[Address(RVA = "0x2336CF0", Offset = "0x2335CF0", VA = "0x182336CF0", Slot = "32")]
|
||||
protected virtual void CheckStopBuffering()
|
||||
{
|
||||
int num;
|
||||
int num2;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
if (this.mBuf == num)
|
||||
{
|
||||
return;
|
||||
}
|
||||
IDictionary dictionary = this.mHashes;
|
||||
IDictionary dictionary2 = this.mHashes;
|
||||
num += num;
|
||||
num++;
|
||||
DigestInputBuffer digestInputBuffer = this.mBuf;
|
||||
DigestInputBuffer.DigStream digStream;
|
||||
digStream.d = 0;
|
||||
Streams.WriteBufTo(digestInputBuffer, digStream);
|
||||
num2 = 0;
|
||||
if (digStream != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
this.mBuf = num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B083 RID: 45187 RVA: 0x00261E60 File Offset: 0x00260060
|
||||
[Token(Token = "0x600B083")]
|
||||
[Address(RVA = "0x2336F70", Offset = "0x2335F70", VA = "0x182336F70", Slot = "33")]
|
||||
protected virtual void CheckTrackingHash(byte hashAlgorithm)
|
||||
{
|
||||
IDictionary dictionary = this.mHashes;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
IDigest digest = TlsUtilities.CreateHash(hashAlgorithm);
|
||||
IDictionary dictionary2 = this.mHashes;
|
||||
}
|
||||
|
||||
// Token: 0x04007014 RID: 28692
|
||||
[Token(Token = "0x4007014")]
|
||||
protected const int BUFFERING_HASH_LIMIT = 4;
|
||||
|
||||
// Token: 0x04007015 RID: 28693
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007015")]
|
||||
protected TlsContext mContext;
|
||||
|
||||
// Token: 0x04007016 RID: 28694
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007016")]
|
||||
private DigestInputBuffer mBuf;
|
||||
|
||||
// Token: 0x04007017 RID: 28695
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007017")]
|
||||
private IDictionary mHashes;
|
||||
|
||||
// Token: 0x04007018 RID: 28696
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007018")]
|
||||
private int mPrfHashAlgorithm;
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001BFE RID: 7166
|
||||
[Token(Token = "0x2001BFE")]
|
||||
internal class DigestInputBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600B084 RID: 45188 RVA: 0x00261E94 File Offset: 0x00260094
|
||||
[Token(Token = "0x600B084")]
|
||||
[Address(RVA = "0x2338080", Offset = "0x2337080", VA = "0x182338080")]
|
||||
internal void UpdateDigest(IDigest d)
|
||||
{
|
||||
DigestInputBuffer.DigStream digStream;
|
||||
digStream.d = d;
|
||||
Streams.WriteBufTo(this, digStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600B085 RID: 45189 RVA: 0x00261EB0 File Offset: 0x002600B0
|
||||
[Token(Token = "0x600B085")]
|
||||
[Address(RVA = "0x495270", Offset = "0x494270", VA = "0x180495270")]
|
||||
public DigestInputBuffer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x02001BFF RID: 7167
|
||||
[Token(Token = "0x2001BFF")]
|
||||
private class DigStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600B086 RID: 45190 RVA: 0x00261EC4 File Offset: 0x002600C4
|
||||
[Token(Token = "0x600B086")]
|
||||
[Address(RVA = "0x493F00", Offset = "0x492F00", VA = "0x180493F00")]
|
||||
internal DigStream(IDigest d)
|
||||
{
|
||||
this.d = d;
|
||||
}
|
||||
|
||||
// Token: 0x0600B087 RID: 45191 RVA: 0x00261EE0 File Offset: 0x002600E0
|
||||
[Token(Token = "0x600B087")]
|
||||
[Address(RVA = "0x2337FA0", Offset = "0x2336FA0", VA = "0x182337FA0", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
IDigest digest = this.d;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B088 RID: 45192 RVA: 0x00261EFC File Offset: 0x002600FC
|
||||
[Token(Token = "0x600B088")]
|
||||
[Address(RVA = "0x2338000", Offset = "0x2337000", VA = "0x182338000", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
IDigest digest = this.d;
|
||||
}
|
||||
|
||||
// Token: 0x04007019 RID: 28697
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007019")]
|
||||
private readonly IDigest d;
|
||||
}
|
||||
}
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C00 RID: 7168
|
||||
[Token(Token = "0x2001C00")]
|
||||
public class DigitallySigned
|
||||
{
|
||||
// Token: 0x0600B089 RID: 45193 RVA: 0x00261F18 File Offset: 0x00260118
|
||||
[Token(Token = "0x600B089")]
|
||||
[Address(RVA = "0x2338250", Offset = "0x2337250", VA = "0x182338250")]
|
||||
public DigitallySigned(SignatureAndHashAlgorithm algorithm, byte[] signature)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B089)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DigitallySigned::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_19:
|
||||
stloc:ArgumentNullException(var_0_23, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001BFB RID: 7163
|
||||
// (get) Token: 0x0600B08A RID: 45194 RVA: 0x00261F48 File Offset: 0x00260148
|
||||
[Token(Token = "0x17001BFB")]
|
||||
public virtual SignatureAndHashAlgorithm Algorithm
|
||||
{
|
||||
[Token(Token = "0x600B08A")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BFC RID: 7164
|
||||
// (get) Token: 0x0600B08B RID: 45195 RVA: 0x00261F5C File Offset: 0x0026015C
|
||||
[Token(Token = "0x17001BFC")]
|
||||
public virtual byte[] Signature
|
||||
{
|
||||
[Token(Token = "0x600B08B")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSignature;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B08C RID: 45196 RVA: 0x00261F70 File Offset: 0x00260170
|
||||
[Token(Token = "0x600B08C")]
|
||||
[Address(RVA = "0x23380F0", Offset = "0x23370F0", VA = "0x1823380F0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = this.mAlgorithm;
|
||||
if (signatureAndHashAlgorithm != 0)
|
||||
{
|
||||
byte signature = signatureAndHashAlgorithm.Signature;
|
||||
}
|
||||
TlsUtilities.WriteOpaque16(this.mSignature, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B08D RID: 45197 RVA: 0x00261F9C File Offset: 0x0026019C
|
||||
[Token(Token = "0x600B08D")]
|
||||
[Address(RVA = "0x2338180", Offset = "0x2337180", VA = "0x182338180")]
|
||||
public static DigitallySigned Parse(TlsContext context, Stream input)
|
||||
{
|
||||
int num = 0;
|
||||
if (TlsUtilities.IsTlsV12(context))
|
||||
{
|
||||
SignatureAndHashAlgorithm signatureAndHashAlgorithm = SignatureAndHashAlgorithm.Parse(input);
|
||||
}
|
||||
byte[] array = TlsUtilities.ReadOpaque16(input);
|
||||
return new DigitallySigned(num, array);
|
||||
}
|
||||
|
||||
// Token: 0x0400701A RID: 28698
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400701A")]
|
||||
protected readonly SignatureAndHashAlgorithm mAlgorithm;
|
||||
|
||||
// Token: 0x0400701B RID: 28699
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400701B")]
|
||||
protected readonly byte[] mSignature;
|
||||
}
|
||||
}
|
||||
+549
@@ -0,0 +1,549 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C01 RID: 7169
|
||||
[Token(Token = "0x2001C01")]
|
||||
public class DtlsClientProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600B08E RID: 45198 RVA: 0x00261FCC File Offset: 0x002601CC
|
||||
[Token(Token = "0x600B08E")]
|
||||
[Address(RVA = "0x233B100", Offset = "0x233A100", VA = "0x18233B100")]
|
||||
public DtlsClientProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B08F RID: 45199 RVA: 0x00261FE0 File Offset: 0x002601E0
|
||||
[Token(Token = "0x600B08F")]
|
||||
[Address(RVA = "0x2339240", Offset = "0x2338240", VA = "0x182339240", Slot = "5")]
|
||||
public virtual DtlsTransport Connect(TlsClient client, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B08F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::Connect(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsClient,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_BE:
|
||||
stloc:ArgumentNullException(var_18_C8, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B090 RID: 45200 RVA: 0x002620B8 File Offset: 0x002602B8
|
||||
[Token(Token = "0x600B090")]
|
||||
[Address(RVA = "0x23382E0", Offset = "0x23372E0", VA = "0x1823382E0", Slot = "6")]
|
||||
internal virtual void AbortClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x0600B091 RID: 45201 RVA: 0x002620D4 File Offset: 0x002602D4
|
||||
[Token(Token = "0x600B091")]
|
||||
[Address(RVA = "0x2338340", Offset = "0x2337340", VA = "0x182338340", Slot = "7")]
|
||||
internal virtual DtlsTransport ClientHandshake(DtlsClientProtocol.ClientHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B091)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::ClientHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_462:
|
||||
stloc:TlsFatalAlert(var_109_469, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_110)))
|
||||
}
|
||||
|
||||
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: 0x0600B092 RID: 45202 RVA: 0x0026254C File Offset: 0x0026074C
|
||||
[Token(Token = "0x600B092")]
|
||||
[Address(RVA = "0x2339660", Offset = "0x2338660", VA = "0x182339660", Slot = "8")]
|
||||
protected virtual byte[] GenerateCertificateVerify(DtlsClientProtocol.ClientHandshakeState state, DigitallySigned certificateVerify)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
byte[] signature = certificateVerify.Signature;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B093 RID: 45203 RVA: 0x00262574 File Offset: 0x00260774
|
||||
[Token(Token = "0x600B093")]
|
||||
[Address(RVA = "0x23396F0", Offset = "0x23386F0", VA = "0x1823396F0", Slot = "9")]
|
||||
protected virtual byte[] GenerateClientHello(DtlsClientProtocol.ClientHandshakeState state, TlsClient client)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B093)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::GenerateClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsClient)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_160:
|
||||
stloc:TlsFatalAlert(var_27_167, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_28)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B094 RID: 45204 RVA: 0x002626EC File Offset: 0x002608EC
|
||||
[Token(Token = "0x600B094")]
|
||||
[Address(RVA = "0x2339C50", Offset = "0x2338C50", VA = "0x182339C50", Slot = "10")]
|
||||
protected virtual byte[] GenerateClientKeyExchange(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B095 RID: 45205 RVA: 0x00262714 File Offset: 0x00260914
|
||||
[Token(Token = "0x600B095")]
|
||||
[Address(RVA = "0x2339CE0", Offset = "0x2338CE0", VA = "0x182339CE0", Slot = "11")]
|
||||
protected virtual void InvalidateSession(DtlsClientProtocol.ClientHandshakeState state)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (sessionParameters != 0)
|
||||
{
|
||||
sessionParameters.Clear();
|
||||
state.sessionParameters = (ulong)0L;
|
||||
}
|
||||
if (state.tlsSession != 0)
|
||||
{
|
||||
state.tlsSession = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B096 RID: 45206 RVA: 0x00262754 File Offset: 0x00260954
|
||||
[Token(Token = "0x600B096")]
|
||||
[Address(RVA = "0x2339E90", Offset = "0x2338E90", VA = "0x182339E90", Slot = "12")]
|
||||
protected virtual void ProcessCertificateRequest(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
while (state.authentication == (ulong)0L)
|
||||
{
|
||||
}
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
CertificateRequest certificateRequest = CertificateRequest.Parse(state.clientContext, memoryStream);
|
||||
state.certificateRequest = certificateRequest;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B097 RID: 45207 RVA: 0x0026279C File Offset: 0x0026099C
|
||||
[Token(Token = "0x600B097")]
|
||||
[Address(RVA = "0x2339F70", Offset = "0x2338F70", VA = "0x182339F70", Slot = "13")]
|
||||
protected virtual void ProcessCertificateStatus(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B097)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol::ProcessCertificateStatus(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsClientProtocol/ClientHandshakeState,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_57:
|
||||
stloc:ArgumentException(var_7_66, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("response")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B098 RID: 45208 RVA: 0x00262810 File Offset: 0x00260A10
|
||||
[Token(Token = "0x600B098")]
|
||||
[Address(RVA = "0x233A170", Offset = "0x2339170", VA = "0x18233A170", Slot = "14")]
|
||||
protected virtual byte[] ProcessHelloVerifyRequest(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
ProtocolVersion protocolVersion;
|
||||
byte[] array;
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
protocolVersion = TlsUtilities.ReadVersion(memoryStream);
|
||||
array = TlsUtilities.ReadOpaque8(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
bool isServer = state.clientContext.IsServer;
|
||||
}
|
||||
while (!flag);
|
||||
if (!ProtocolVersion.DTLSv12.IsEqualOrEarlierVersionOf(protocolVersion))
|
||||
{
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B099 RID: 45209 RVA: 0x00262864 File Offset: 0x00260A64
|
||||
[Token(Token = "0x600B099")]
|
||||
[Address(RVA = "0x233A320", Offset = "0x2339320", VA = "0x18233A320", Slot = "15")]
|
||||
protected virtual void ProcessNewSessionTicket(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
NewSessionTicket newSessionTicket = NewSessionTicket.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsClient client = state.client;
|
||||
int num2 = 0;
|
||||
if (num2 < num)
|
||||
{
|
||||
num2 += num2;
|
||||
num2++;
|
||||
}
|
||||
List<string> hostNames = client.HostNames;
|
||||
}
|
||||
|
||||
// Token: 0x0600B09A RID: 45210 RVA: 0x002628B8 File Offset: 0x00260AB8
|
||||
[Token(Token = "0x600B09A")]
|
||||
[Address(RVA = "0x233A430", Offset = "0x2339430", VA = "0x18233A430", Slot = "16")]
|
||||
protected virtual Certificate ProcessServerCertificate(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
Certificate certificate = Certificate.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsClient client = state.client;
|
||||
state.authentication = certificate;
|
||||
return certificate;
|
||||
}
|
||||
|
||||
// Token: 0x0600B09B RID: 45211 RVA: 0x002628FC File Offset: 0x00260AFC
|
||||
[Token(Token = "0x600B09B")]
|
||||
[Address(RVA = "0x233A530", Offset = "0x2339530", VA = "0x18233A530", Slot = "17")]
|
||||
protected virtual void ProcessServerHello(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
SecureRandom secureRandom;
|
||||
int num6;
|
||||
IDictionary dictionary2;
|
||||
for (;;)
|
||||
{
|
||||
secureRandom = state.clientContext.SecureRandom;
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
ProtocolVersion protocolVersion = TlsUtilities.ReadVersion(memoryStream);
|
||||
byte[] array = TlsUtilities.ReadFully(32, memoryStream);
|
||||
byte[] array2 = TlsUtilities.ReadOpaque8(memoryStream);
|
||||
state.selectedSessionID = array2;
|
||||
TlsClient client = state.client;
|
||||
byte[] selectedSessionID = state.selectedSessionID;
|
||||
if (selectedSessionID.Length != 0 && state.tlsSession != 0)
|
||||
{
|
||||
bool flag = Arrays.AreEqual(selectedSessionID, array2);
|
||||
}
|
||||
int num2 = 0;
|
||||
state.resumedSession = num2 != 0;
|
||||
int num3 = TlsUtilities.ReadUint16(memoryStream);
|
||||
if (Arrays.Contains(state.offeredCipherSuites, num3) && num3 != 0 && num3 != 255 && num3 != 22016)
|
||||
{
|
||||
TlsClientContextImpl clientContext = state.clientContext;
|
||||
bool flag2;
|
||||
if (flag2)
|
||||
{
|
||||
TlsClient client2 = state.client;
|
||||
byte b = TlsUtilities.ReadUint8(memoryStream);
|
||||
TlsClient client3 = state.client;
|
||||
IDictionary dictionary = TlsProtocol.ReadExtensions(memoryStream);
|
||||
state.serverExtensions = dictionary;
|
||||
bool flag3 = TlsExtensionsUtilities.HasExtendedMasterSecretExtension(dictionary);
|
||||
long num4 = secureRandom.NextLong();
|
||||
if ((state.resumedSession ? 1L : 0L) != num4)
|
||||
{
|
||||
goto IL_237;
|
||||
}
|
||||
TlsClient client4 = state.client;
|
||||
if (state.serverExtensions != 0)
|
||||
{
|
||||
long num5 = num4;
|
||||
byte[] extensionData = TlsUtilities.GetExtensionData(state.clientExtensions, (int)num5);
|
||||
if (extensionData == 0)
|
||||
{
|
||||
goto IL_231;
|
||||
}
|
||||
if (extensionData != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
byte[] extensionData2 = TlsUtilities.GetExtensionData(state.serverExtensions, 65281);
|
||||
if (extensionData2 != 0)
|
||||
{
|
||||
state.secure_renegotiation = true;
|
||||
byte[] array3 = TlsProtocol.CreateRenegotiationInfo(TlsUtilities.EmptyBytes);
|
||||
if (!Arrays.ConstantTimeAreEqual(extensionData2, array3))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
TlsClient client5 = state.client;
|
||||
if (state.resumedSession)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (num3 != sessionParameters.mCipherSuite || b != sessionParameters.mCompressionAlgorithm)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
num6 = 0;
|
||||
dictionary2 = sessionParameters.ReadServerExtensions();
|
||||
}
|
||||
secureRandom.inextp = num3;
|
||||
secureRandom.SeedArray = b;
|
||||
if (dictionary2 == 0 || dictionary2 <= 0)
|
||||
{
|
||||
goto IL_204;
|
||||
}
|
||||
if (!TlsExtensionsUtilities.HasEncryptThenMacExtension(dictionary2))
|
||||
{
|
||||
break;
|
||||
}
|
||||
int num7;
|
||||
num3 = num7;
|
||||
if (TlsUtilities.IsBlockCipherSuite(num3))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bool resumedSession = state.resumedSession;
|
||||
bool flag4 = TlsExtensionsUtilities.HasTruncatedHMacExtension(dictionary2);
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
if (state.resumedSession)
|
||||
{
|
||||
}
|
||||
IL_204:
|
||||
if (num6 != 0)
|
||||
{
|
||||
TlsClient client6 = state.client;
|
||||
}
|
||||
int num8;
|
||||
int prfAlgorithm = TlsProtocol.GetPrfAlgorithm(state.clientContext, num8);
|
||||
secureRandom.generator = (ulong)12L;
|
||||
return;
|
||||
IL_231:
|
||||
throw new NullReferenceException();
|
||||
IL_237:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B09C RID: 45212 RVA: 0x00262B54 File Offset: 0x00260D54
|
||||
[Token(Token = "0x600B09C")]
|
||||
[Address(RVA = "0x233AEE0", Offset = "0x2339EE0", VA = "0x18233AEE0", Slot = "18")]
|
||||
protected virtual void ProcessServerKeyExchange(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600B09D RID: 45213 RVA: 0x00262B80 File Offset: 0x00260D80
|
||||
[Token(Token = "0x600B09D")]
|
||||
[Address(RVA = "0x233AF80", Offset = "0x2339F80", VA = "0x18233AF80", Slot = "19")]
|
||||
protected virtual void ProcessServerSupplementalData(DtlsClientProtocol.ClientHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream);
|
||||
TlsClient client = state.client;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B09E RID: 45214 RVA: 0x00262BAC File Offset: 0x00260DAC
|
||||
[Token(Token = "0x600B09E")]
|
||||
[Address(RVA = "0x233B020", Offset = "0x233A020", VA = "0x18233B020", Slot = "20")]
|
||||
protected virtual void ReportServerVersion(DtlsClientProtocol.ClientHandshakeState state, ProtocolVersion server_version)
|
||||
{
|
||||
TlsClientContextImpl clientContext;
|
||||
bool flag;
|
||||
do
|
||||
{
|
||||
clientContext = state.clientContext;
|
||||
}
|
||||
while (!flag);
|
||||
ProtocolVersion serverVersion = clientContext.ServerVersion;
|
||||
TlsClient client = state.client;
|
||||
}
|
||||
|
||||
// Token: 0x0600B09F RID: 45215 RVA: 0x00262BD8 File Offset: 0x00260DD8
|
||||
[Token(Token = "0x600B09F")]
|
||||
[Address(RVA = "0x2339D50", Offset = "0x2338D50", VA = "0x182339D50")]
|
||||
protected static byte[] PatchClientHelloWithCookie(byte[] clientHelloBody, byte[] cookie)
|
||||
{
|
||||
byte b = TlsUtilities.ReadUint8(clientHelloBody, 34);
|
||||
byte b2 = b + 1;
|
||||
byte[] array = new byte[cookie.Length];
|
||||
int num = 0;
|
||||
int num2 = 0;
|
||||
Array.Copy(clientHelloBody, num2, array, num, (int)b);
|
||||
TlsUtilities.CheckUint8(cookie.Length);
|
||||
TlsUtilities.WriteUint8((byte)cookie.Length, array, (int)b);
|
||||
int length = cookie.Length;
|
||||
int num3 = 0;
|
||||
Array.Copy(cookie, num3, array, (int)b2, length);
|
||||
int num4 = clientHelloBody.Length;
|
||||
int num5 = cookie.Length;
|
||||
num4 -= (int)b2;
|
||||
num5 += (int)b2;
|
||||
Array.Copy(clientHelloBody, (int)b2, array, num5, num4);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x02001C02 RID: 7170
|
||||
[Token(Token = "0x2001C02")]
|
||||
protected internal class ClientHandshakeState
|
||||
{
|
||||
// Token: 0x0600B0A0 RID: 45216 RVA: 0x00262C6C File Offset: 0x00260E6C
|
||||
[Token(Token = "0x600B0A0")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public ClientHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400701C RID: 28700
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400701C")]
|
||||
internal TlsClient client;
|
||||
|
||||
// Token: 0x0400701D RID: 28701
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400701D")]
|
||||
internal TlsClientContextImpl clientContext;
|
||||
|
||||
// Token: 0x0400701E RID: 28702
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400701E")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x0400701F RID: 28703
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400701F")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04007020 RID: 28704
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007020")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04007021 RID: 28705
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007021")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x04007022 RID: 28706
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007022")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x04007023 RID: 28707
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007023")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x04007024 RID: 28708
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007024")]
|
||||
internal byte[] selectedSessionID;
|
||||
|
||||
// Token: 0x04007025 RID: 28709
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007025")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x04007026 RID: 28710
|
||||
[FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x4007026")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x04007027 RID: 28711
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x4007027")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x04007028 RID: 28712
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x4007028")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x04007029 RID: 28713
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007029")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x0400702A RID: 28714
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400702A")]
|
||||
internal TlsAuthentication authentication;
|
||||
|
||||
// Token: 0x0400702B RID: 28715
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400702B")]
|
||||
internal CertificateStatus certificateStatus;
|
||||
|
||||
// Token: 0x0400702C RID: 28716
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400702C")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x0400702D RID: 28717
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400702D")]
|
||||
internal TlsCredentials clientCredentials;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C03 RID: 7171
|
||||
[Token(Token = "0x2001C03")]
|
||||
internal class DtlsEpoch
|
||||
{
|
||||
// Token: 0x0600B0A1 RID: 45217 RVA: 0x00262C80 File Offset: 0x00260E80
|
||||
[Token(Token = "0x600B0A1")]
|
||||
[Address(RVA = "0x233B120", Offset = "0x233A120", VA = "0x18233B120")]
|
||||
internal DtlsEpoch(int epoch, TlsCipher cipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0A1)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsEpoch::.ctor(System.Int32,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_3F:
|
||||
stloc:ArgumentNullException(var_2_49, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("cipher")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0A2 RID: 45218 RVA: 0x00262CD8 File Offset: 0x00260ED8
|
||||
[Token(Token = "0x600B0A2")]
|
||||
[Address(RVA = "0x233B110", Offset = "0x233A110", VA = "0x18233B110")]
|
||||
internal long AllocateSequenceNumber()
|
||||
{
|
||||
long num = this.mSequenceNumber;
|
||||
long num2 = num + 1L;
|
||||
this.mSequenceNumber = num2;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x17001BFD RID: 7165
|
||||
// (get) Token: 0x0600B0A3 RID: 45219 RVA: 0x00262CF8 File Offset: 0x00260EF8
|
||||
[Token(Token = "0x17001BFD")]
|
||||
internal TlsCipher Cipher
|
||||
{
|
||||
[Token(Token = "0x600B0A3")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
|
||||
get
|
||||
{
|
||||
return this.mCipher;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BFE RID: 7166
|
||||
// (get) Token: 0x0600B0A4 RID: 45220 RVA: 0x00262D0C File Offset: 0x00260F0C
|
||||
[Token(Token = "0x17001BFE")]
|
||||
internal int Epoch
|
||||
{
|
||||
[Token(Token = "0x600B0A4")]
|
||||
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
|
||||
get
|
||||
{
|
||||
return this.mEpoch;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001BFF RID: 7167
|
||||
// (get) Token: 0x0600B0A5 RID: 45221 RVA: 0x00262D20 File Offset: 0x00260F20
|
||||
[Token(Token = "0x17001BFF")]
|
||||
internal DtlsReplayWindow ReplayWindow
|
||||
{
|
||||
[Token(Token = "0x600B0A5")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530")]
|
||||
get
|
||||
{
|
||||
return this.mReplayWindow;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C00 RID: 7168
|
||||
// (get) Token: 0x0600B0A6 RID: 45222 RVA: 0x00262D34 File Offset: 0x00260F34
|
||||
[Token(Token = "0x17001C00")]
|
||||
internal long SequenceNumber
|
||||
{
|
||||
[Token(Token = "0x600B0A6")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
|
||||
get
|
||||
{
|
||||
return this.mSequenceNumber;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400702E RID: 28718
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400702E")]
|
||||
private readonly DtlsReplayWindow mReplayWindow;
|
||||
|
||||
// Token: 0x0400702F RID: 28719
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400702F")]
|
||||
private readonly int mEpoch;
|
||||
|
||||
// Token: 0x04007030 RID: 28720
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007030")]
|
||||
private readonly TlsCipher mCipher;
|
||||
|
||||
// Token: 0x04007031 RID: 28721
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007031")]
|
||||
private long mSequenceNumber;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C04 RID: 7172
|
||||
[Token(Token = "0x2001C04")]
|
||||
internal interface DtlsHandshakeRetransmit
|
||||
{
|
||||
// Token: 0x0600B0A7 RID: 45223
|
||||
[Token(Token = "0x600B0A7")]
|
||||
[Address(Slot = "0")]
|
||||
void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C05 RID: 7173
|
||||
[Token(Token = "0x2001C05")]
|
||||
public abstract class DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600B0A8 RID: 45224 RVA: 0x00262D48 File Offset: 0x00260F48
|
||||
[Token(Token = "0x600B0A8")]
|
||||
[Address(RVA = "0x233B650", Offset = "0x233A650", VA = "0x18233B650")]
|
||||
protected DtlsProtocol(SecureRandom secureRandom)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0A8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Security.SecureRandom)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("secureRandom")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0A9 RID: 45225 RVA: 0x00262D74 File Offset: 0x00260F74
|
||||
[Token(Token = "0x600B0A9")]
|
||||
[Address(RVA = "0x233B4A0", Offset = "0x233A4A0", VA = "0x18233B4A0", Slot = "4")]
|
||||
protected virtual void ProcessFinished(byte[] body, byte[] expected_verify_data)
|
||||
{
|
||||
byte[] array;
|
||||
do
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
array = TlsUtilities.ReadFully(expected_verify_data.Length, memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
while (!Arrays.ConstantTimeAreEqual(expected_verify_data, array));
|
||||
}
|
||||
|
||||
// Token: 0x0600B0AA RID: 45226 RVA: 0x00262DA8 File Offset: 0x00260FA8
|
||||
[Token(Token = "0x600B0AA")]
|
||||
[Address(RVA = "0x233B220", Offset = "0x233A220", VA = "0x18233B220")]
|
||||
internal static void ApplyMaxFragmentLengthExtension(DtlsRecordLayer recordLayer, short maxFragmentLength)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0AA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::ApplyMaxFragmentLengthExtension(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer,System.Int16)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_10:
|
||||
stloc:TlsFatalAlert(var_0_16, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_1)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0AB RID: 45227 RVA: 0x00262DCC File Offset: 0x00260FCC
|
||||
[Token(Token = "0x600B0AB")]
|
||||
[Address(RVA = "0x233B2D0", Offset = "0x233A2D0", VA = "0x18233B2D0")]
|
||||
protected static short EvaluateMaxFragmentLengthExtension(bool resumedSession, IDictionary clientExtensions, IDictionary serverExtensions, byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0AB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int16 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::EvaluateMaxFragmentLengthExtension(System.Boolean,System.Collections.IDictionary,System.Collections.IDictionary,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_21:
|
||||
stloc:TlsFatalAlert(var_2_27, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
||||
}
|
||||
|
||||
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: 0x0600B0AC RID: 45228 RVA: 0x00262E00 File Offset: 0x00261000
|
||||
[Token(Token = "0x600B0AC")]
|
||||
[Address(RVA = "0x233B390", Offset = "0x233A390", VA = "0x18233B390")]
|
||||
protected static byte[] GenerateCertificate(Certificate certificate)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
bool isEmpty = certificate.IsEmpty;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0AD RID: 45229 RVA: 0x00262E28 File Offset: 0x00261028
|
||||
[Token(Token = "0x600B0AD")]
|
||||
[Address(RVA = "0x233B420", Offset = "0x233A420", VA = "0x18233B420")]
|
||||
protected static byte[] GenerateSupplementalData(IList supplementalData)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
TlsProtocol.WriteSupplementalData(memoryStream, supplementalData);
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0AE RID: 45230 RVA: 0x00262E50 File Offset: 0x00261050
|
||||
[Token(Token = "0x600B0AE")]
|
||||
[Address(RVA = "0x233B5B0", Offset = "0x233A5B0", VA = "0x18233B5B0")]
|
||||
protected static void ValidateSelectedCipherSuite(int selectedCipherSuite, byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0AE)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsProtocol::ValidateSelectedCipherSuite(System.Int32,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_0A:
|
||||
stloc:TlsFatalAlert(var_0_10, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x04007032 RID: 28722
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007032")]
|
||||
protected readonly SecureRandom mSecureRandom;
|
||||
}
|
||||
}
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C06 RID: 7174
|
||||
[Token(Token = "0x2001C06")]
|
||||
internal class DtlsReassembler
|
||||
{
|
||||
// Token: 0x0600B0AF RID: 45231 RVA: 0x00262E70 File Offset: 0x00261070
|
||||
[Token(Token = "0x600B0AF")]
|
||||
[Address(RVA = "0x233BAD0", Offset = "0x233AAD0", VA = "0x18233BAD0")]
|
||||
internal DtlsReassembler(byte msg_type, int length)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
this.mMissing = list;
|
||||
base..ctor();
|
||||
this.mMsgType = msg_type;
|
||||
byte[] array = new byte[length];
|
||||
IList list2 = this.mMissing;
|
||||
this.mBody = array;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = (int)((ulong)0L);
|
||||
range.mEnd = length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x17001C01 RID: 7169
|
||||
// (get) Token: 0x0600B0B0 RID: 45232 RVA: 0x00262EC8 File Offset: 0x002610C8
|
||||
[Token(Token = "0x17001C01")]
|
||||
internal byte MsgType
|
||||
{
|
||||
[Token(Token = "0x600B0B0")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")]
|
||||
get
|
||||
{
|
||||
return this.mMsgType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0B1 RID: 45233 RVA: 0x00262EDC File Offset: 0x002610DC
|
||||
[Token(Token = "0x600B0B1")]
|
||||
[Address(RVA = "0x233B9C0", Offset = "0x233A9C0", VA = "0x18233B9C0")]
|
||||
internal byte[] GetBodyIfComplete()
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
return this.mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0B2 RID: 45234 RVA: 0x00262F00 File Offset: 0x00261100
|
||||
[Token(Token = "0x600B0B2")]
|
||||
[Address(RVA = "0x233B6D0", Offset = "0x233A6D0", VA = "0x18233B6D0")]
|
||||
internal void ContributeFragment(byte msg_type, int length, byte[] buf, int off, int fragment_offset, int fragment_length)
|
||||
{
|
||||
if (this.mMsgType == msg_type && this.mBody.Length == length)
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
int num = 0;
|
||||
if (0 < list)
|
||||
{
|
||||
IList list2 = this.mMissing;
|
||||
byte[] array = this.mBody;
|
||||
int num2;
|
||||
int num3;
|
||||
num2 -= num3;
|
||||
Array.Copy(buf, num3, array, num3, num2);
|
||||
IList list3 = this.mMissing;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = num2;
|
||||
range.mEnd = 0;
|
||||
IList list4 = this.mMissing;
|
||||
IList list5 = this.mMissing;
|
||||
num++;
|
||||
IList list6 = this.mMissing;
|
||||
IList list7 = this.mMissing;
|
||||
IList list8 = this.mMissing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0B3 RID: 45235 RVA: 0x00262FA0 File Offset: 0x002611A0
|
||||
[Token(Token = "0x600B0B3")]
|
||||
[Address(RVA = "0x233BA20", Offset = "0x233AA20", VA = "0x18233BA20")]
|
||||
internal void Reset()
|
||||
{
|
||||
IList list = this.mMissing;
|
||||
IList list2 = this.mMissing;
|
||||
int length = this.mBody.Length;
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = (int)((ulong)0L);
|
||||
range.mEnd = length;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x04007033 RID: 28723
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007033")]
|
||||
private readonly byte mMsgType;
|
||||
|
||||
// Token: 0x04007034 RID: 28724
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007034")]
|
||||
private readonly byte[] mBody;
|
||||
|
||||
// Token: 0x04007035 RID: 28725
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007035")]
|
||||
private readonly IList mMissing;
|
||||
|
||||
// Token: 0x02001C07 RID: 7175
|
||||
[Token(Token = "0x2001C07")]
|
||||
private class Range
|
||||
{
|
||||
// Token: 0x0600B0B4 RID: 45236 RVA: 0x00262FDC File Offset: 0x002611DC
|
||||
[Token(Token = "0x600B0B4")]
|
||||
[Address(RVA = "0x73F000", Offset = "0x73E000", VA = "0x18073F000")]
|
||||
internal Range(int start, int end)
|
||||
{
|
||||
this.mStart = start;
|
||||
this.mEnd = end;
|
||||
}
|
||||
|
||||
// Token: 0x17001C02 RID: 7170
|
||||
// (get) Token: 0x0600B0B5 RID: 45237 RVA: 0x00263000 File Offset: 0x00261200
|
||||
// (set) Token: 0x0600B0B6 RID: 45238 RVA: 0x00263014 File Offset: 0x00261214
|
||||
[Token(Token = "0x17001C02")]
|
||||
public int Start
|
||||
{
|
||||
[Token(Token = "0x600B0B5")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
|
||||
get
|
||||
{
|
||||
return this.mStart;
|
||||
}
|
||||
[Token(Token = "0x600B0B6")]
|
||||
[Address(RVA = "0x470D10", Offset = "0x46FD10", VA = "0x180470D10")]
|
||||
set
|
||||
{
|
||||
this.mStart = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C03 RID: 7171
|
||||
// (get) Token: 0x0600B0B7 RID: 45239 RVA: 0x00263028 File Offset: 0x00261228
|
||||
// (set) Token: 0x0600B0B8 RID: 45240 RVA: 0x0026303C File Offset: 0x0026123C
|
||||
[Token(Token = "0x17001C03")]
|
||||
public int End
|
||||
{
|
||||
[Token(Token = "0x600B0B7")]
|
||||
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0")]
|
||||
get
|
||||
{
|
||||
return this.mEnd;
|
||||
}
|
||||
[Token(Token = "0x600B0B8")]
|
||||
[Address(RVA = "0x5F1920", Offset = "0x5F0920", VA = "0x1805F1920")]
|
||||
set
|
||||
{
|
||||
this.mEnd = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007036 RID: 28726
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007036")]
|
||||
private int mStart;
|
||||
|
||||
// Token: 0x04007037 RID: 28727
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4007037")]
|
||||
private int mEnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
+576
@@ -0,0 +1,576 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Date;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C08 RID: 7176
|
||||
[Token(Token = "0x2001C08")]
|
||||
internal class DtlsRecordLayer : DatagramTransport
|
||||
{
|
||||
// Token: 0x0600B0B9 RID: 45241 RVA: 0x00263050 File Offset: 0x00261250
|
||||
[Token(Token = "0x600B0B9")]
|
||||
[Address(RVA = "0x233D110", Offset = "0x233C110", VA = "0x18233D110")]
|
||||
internal DtlsRecordLayer(DatagramTransport transport, TlsContext context, TlsPeer peer, byte contentType)
|
||||
{
|
||||
ByteQueue byteQueue = new ByteQueue();
|
||||
byte[] array = new byte[1024];
|
||||
byteQueue.databuf = array;
|
||||
this.mRecordQueue = byteQueue;
|
||||
base..ctor();
|
||||
this.mTransport = transport;
|
||||
this.mContext = context;
|
||||
this.mPeer = peer;
|
||||
this.mInHandshake = true;
|
||||
TlsNullCipher tlsNullCipher = new TlsNullCipher(context);
|
||||
int num;
|
||||
DtlsEpoch dtlsEpoch = new DtlsEpoch(num, tlsNullCipher);
|
||||
num = 0;
|
||||
this.mCurrentEpoch = dtlsEpoch;
|
||||
this.mPendingEpoch = (ulong)0L;
|
||||
this.mReadEpoch = dtlsEpoch;
|
||||
this.mWriteEpoch = dtlsEpoch;
|
||||
int receiveLimit = ((DatagramTransport)this).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0BA RID: 45242 RVA: 0x002630E0 File Offset: 0x002612E0
|
||||
[Token(Token = "0x600B0BA")]
|
||||
[Address(RVA = "0x233D080", Offset = "0x233C080", VA = "0x18233D080", Slot = "9")]
|
||||
internal virtual void SetPlaintextLimit(int plaintextLimit)
|
||||
{
|
||||
this.mPlaintextLimit = plaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x17001C04 RID: 7172
|
||||
// (get) Token: 0x0600B0BB RID: 45243 RVA: 0x002630F4 File Offset: 0x002612F4
|
||||
[Token(Token = "0x17001C04")]
|
||||
internal virtual int ReadEpoch
|
||||
{
|
||||
[Token(Token = "0x600B0BB")]
|
||||
[Address(RVA = "0x233D250", Offset = "0x233C250", VA = "0x18233D250", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.mReadEpoch.mEpoch;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C05 RID: 7173
|
||||
// (get) Token: 0x0600B0BC RID: 45244 RVA: 0x00263114 File Offset: 0x00261314
|
||||
// (set) Token: 0x0600B0BD RID: 45245 RVA: 0x00263128 File Offset: 0x00261328
|
||||
[Token(Token = "0x17001C05")]
|
||||
internal virtual ProtocolVersion ReadVersion
|
||||
{
|
||||
[Token(Token = "0x600B0BC")]
|
||||
[Address(RVA = "0xF298D0", Offset = "0xF288D0", VA = "0x180F298D0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return this.mReadVersion;
|
||||
}
|
||||
[Token(Token = "0x600B0BD")]
|
||||
[Address(RVA = "0x233D270", Offset = "0x233C270", VA = "0x18233D270", Slot = "12")]
|
||||
set
|
||||
{
|
||||
this.mReadVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0BE RID: 45246 RVA: 0x0026313C File Offset: 0x0026133C
|
||||
[Token(Token = "0x600B0BE")]
|
||||
[Address(RVA = "0x233D0B0", Offset = "0x233C0B0", VA = "0x18233D0B0", Slot = "13")]
|
||||
internal virtual void SetWriteVersion(ProtocolVersion writeVersion)
|
||||
{
|
||||
this.mWriteVersion = writeVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0BF RID: 45247 RVA: 0x00263150 File Offset: 0x00261350
|
||||
[Token(Token = "0x600B0BF")]
|
||||
[Address(RVA = "0x233C040", Offset = "0x233B040", VA = "0x18233C040", Slot = "14")]
|
||||
internal virtual void InitPendingEpoch(TlsCipher pendingCipher)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0BF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::InitPendingEpoch(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCipher)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_2B:
|
||||
stloc:InvalidOperationException(var_3_30, newobj:InvalidOperationException(InvalidOperationException::.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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0C0 RID: 45248 RVA: 0x00263190 File Offset: 0x00261390
|
||||
[Token(Token = "0x600B0C0")]
|
||||
[Address(RVA = "0x233BF70", Offset = "0x233AF70", VA = "0x18233BF70", Slot = "15")]
|
||||
internal virtual void HandshakeSuccessful(DtlsHandshakeRetransmit retransmit)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0C0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::HandshakeSuccessful(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsHandshakeRetransmit)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_59:
|
||||
stloc:InvalidOperationException(var_4_5E, newobj:InvalidOperationException(InvalidOperationException::.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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0C1 RID: 45249 RVA: 0x002631FC File Offset: 0x002613FC
|
||||
[Token(Token = "0x600B0C1")]
|
||||
[Address(RVA = "0x233CC80", Offset = "0x233BC80", VA = "0x18233CC80", Slot = "16")]
|
||||
internal virtual void ResetWriteEpoch()
|
||||
{
|
||||
DtlsEpoch dtlsEpoch = this.mRetransmitEpoch;
|
||||
if (dtlsEpoch == 0)
|
||||
{
|
||||
}
|
||||
this.mWriteEpoch = dtlsEpoch;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C2 RID: 45250 RVA: 0x0026321C File Offset: 0x0026141C
|
||||
[Token(Token = "0x600B0C2")]
|
||||
[Address(RVA = "0x233BDF0", Offset = "0x233ADF0", VA = "0x18233BDF0", Slot = "17")]
|
||||
public virtual int GetReceiveLimit()
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mReadEpoch;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
TlsCipher mCipher = dtlsEpoch.mCipher;
|
||||
int num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C3 RID: 45251 RVA: 0x00263250 File Offset: 0x00261450
|
||||
[Token(Token = "0x600B0C3")]
|
||||
[Address(RVA = "0x233BEB0", Offset = "0x233AEB0", VA = "0x18233BEB0", Slot = "18")]
|
||||
public virtual int GetSendLimit()
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mWriteEpoch;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
TlsCipher mCipher = dtlsEpoch.mCipher;
|
||||
int num2;
|
||||
return num2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C4 RID: 45252 RVA: 0x00263284 File Offset: 0x00261484
|
||||
[Token(Token = "0x600B0C4")]
|
||||
[Address(RVA = "0x233C4B0", Offset = "0x233B4B0", VA = "0x18233C4B0", Slot = "19")]
|
||||
public virtual int Receive(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
int num = 0;
|
||||
this.ResetWriteEpoch();
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[0];
|
||||
if (this.mRetransmit != (ulong)0L && DateTimeUtilities.CurrentUnixMs() > this.mRetransmitExpiry)
|
||||
{
|
||||
this.mRetransmit = num;
|
||||
this.mRetransmitEpoch = num;
|
||||
}
|
||||
int num2;
|
||||
num2 += 13;
|
||||
if (num2 == 0)
|
||||
{
|
||||
DtlsEpoch dtlsEpoch = this.mReadEpoch;
|
||||
byte b;
|
||||
DtlsEpoch dtlsEpoch2;
|
||||
if ((int)b != dtlsEpoch.mEpoch)
|
||||
{
|
||||
dtlsEpoch2 = this.mRetransmitEpoch;
|
||||
if (dtlsEpoch2 == 0 || (int)b != dtlsEpoch2.mEpoch)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (dtlsEpoch2 != 0)
|
||||
{
|
||||
DtlsReplayWindow mReplayWindow = dtlsEpoch2.mReplayWindow;
|
||||
long num3;
|
||||
if (num3 == 0L)
|
||||
{
|
||||
long num4 = mReplayWindow.mLatestConfirmedSeq;
|
||||
num4 -= num3;
|
||||
ProtocolVersion protocolVersion;
|
||||
if (protocolVersion.IsDtls)
|
||||
{
|
||||
if (this.mReadVersion == 0 || !this.mReadVersion.Equals(protocolVersion))
|
||||
{
|
||||
}
|
||||
TlsCipher mCipher = dtlsEpoch2.mCipher;
|
||||
DtlsReplayWindow mReplayWindow2 = dtlsEpoch2.mReplayWindow;
|
||||
long num5 = mReplayWindow2.mLatestConfirmedSeq;
|
||||
if (num3 > num5)
|
||||
{
|
||||
num3 -= num5;
|
||||
long mBitmap = mReplayWindow2.mBitmap;
|
||||
mReplayWindow2.mBitmap = mBitmap;
|
||||
mReplayWindow2.mLatestConfirmedSeq = num3;
|
||||
mReplayWindow2.mBitmap = (long)((ulong)1L);
|
||||
mReplayWindow2.mLatestConfirmedSeq = num3;
|
||||
}
|
||||
num5 -= num3;
|
||||
long mBitmap2 = mReplayWindow2.mBitmap;
|
||||
mReplayWindow2.mBitmap = mBitmap2;
|
||||
int num6 = this.mPlaintextLimit;
|
||||
ProtocolVersion protocolVersion2 = this.mReadVersion;
|
||||
if (protocolVersion2 == 0)
|
||||
{
|
||||
ulong num7;
|
||||
this.mReadVersion = num7;
|
||||
}
|
||||
if (protocolVersion2 != 0)
|
||||
{
|
||||
if (protocolVersion2 != 0)
|
||||
{
|
||||
if (protocolVersion2 == 0)
|
||||
{
|
||||
goto IL_198;
|
||||
}
|
||||
if (protocolVersion2 == 0)
|
||||
{
|
||||
goto IL_18F;
|
||||
}
|
||||
}
|
||||
TlsPeer tlsPeer = this.mPeer;
|
||||
int num8 = 0;
|
||||
if (num8 < mCipher)
|
||||
{
|
||||
num8 += num8;
|
||||
num8++;
|
||||
}
|
||||
this.CloseTransport();
|
||||
IL_18F:
|
||||
if (!this.mInHandshake)
|
||||
{
|
||||
goto IL_1A1;
|
||||
}
|
||||
IL_198:
|
||||
if (!this.mInHandshake)
|
||||
{
|
||||
goto IL_1C7;
|
||||
}
|
||||
IL_1A1:
|
||||
if (!this.mInHandshake && this.mRetransmit != (ulong)0L)
|
||||
{
|
||||
this.mRetransmit = (ulong)0L;
|
||||
this.mRetransmitEpoch = (ulong)0L;
|
||||
}
|
||||
IL_1C7:
|
||||
DtlsHandshakeRetransmit dtlsHandshakeRetransmit = this.mRetransmit;
|
||||
int num9 = 0;
|
||||
while (dtlsHandshakeRetransmit == 0)
|
||||
{
|
||||
}
|
||||
num9 += num9;
|
||||
num9++;
|
||||
num9 += 19;
|
||||
num9 += 6;
|
||||
num9 += 19;
|
||||
}
|
||||
int num10 = 0;
|
||||
DtlsEpoch dtlsEpoch3 = this.mPendingEpoch;
|
||||
if (dtlsEpoch3 != 0)
|
||||
{
|
||||
this.mReadEpoch = dtlsEpoch3;
|
||||
}
|
||||
num10++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C5 RID: 45253 RVA: 0x002634DC File Offset: 0x002616DC
|
||||
[Token(Token = "0x600B0C5")]
|
||||
[Address(RVA = "0x233CEF0", Offset = "0x233BEF0", VA = "0x18233CEF0", Slot = "20")]
|
||||
public virtual void Send(byte[] buf, int off, int len)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0C5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer::Send(System.Byte[],System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_6C:
|
||||
stloc:InvalidOperationException(var_9_71, newobj:InvalidOperationException(InvalidOperationException::.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: 0x0600B0C6 RID: 45254 RVA: 0x0026355C File Offset: 0x0026175C
|
||||
[Token(Token = "0x600B0C6")]
|
||||
[Address(RVA = "0x233BC70", Offset = "0x233AC70", VA = "0x18233BC70", Slot = "21")]
|
||||
public virtual void Close()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
if (this.mInHandshake)
|
||||
{
|
||||
}
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C7 RID: 45255 RVA: 0x00263584 File Offset: 0x00261784
|
||||
[Token(Token = "0x600B0C7")]
|
||||
[Address(RVA = "0x233BDA0", Offset = "0x233ADA0", VA = "0x18233BDA0", Slot = "22")]
|
||||
internal virtual void Failed()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
this.mFailed = true;
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C8 RID: 45256 RVA: 0x002635A8 File Offset: 0x002617A8
|
||||
[Token(Token = "0x600B0C8")]
|
||||
[Address(RVA = "0x233BCF0", Offset = "0x233ACF0", VA = "0x18233BCF0", Slot = "23")]
|
||||
internal virtual void Fail(byte alertDescription)
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
this.mFailed = true;
|
||||
this.CloseTransport();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0C9 RID: 45257 RVA: 0x002635D0 File Offset: 0x002617D0
|
||||
[Token(Token = "0x600B0C9")]
|
||||
[Address(RVA = "0x233D0E0", Offset = "0x233C0E0", VA = "0x18233D0E0", Slot = "24")]
|
||||
internal virtual void Warn(byte alertDescription, string message)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B0CA RID: 45258 RVA: 0x002635E0 File Offset: 0x002617E0
|
||||
[Token(Token = "0x600B0CA")]
|
||||
[Address(RVA = "0x233BBB0", Offset = "0x233ABB0", VA = "0x18233BBB0")]
|
||||
private void CloseTransport()
|
||||
{
|
||||
if (!this.mClosed)
|
||||
{
|
||||
if (!this.mFailed)
|
||||
{
|
||||
int num = 0;
|
||||
this.Fail((byte)num);
|
||||
}
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
this.mClosed = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0CB RID: 45259 RVA: 0x0026361C File Offset: 0x0026181C
|
||||
[Token(Token = "0x600B0CB")]
|
||||
[Address(RVA = "0x233C0F0", Offset = "0x233B0F0", VA = "0x18233C0F0")]
|
||||
private void RaiseAlert(byte alertLevel, byte alertDescription, string message, Exception cause)
|
||||
{
|
||||
TlsPeer tlsPeer = this.mPeer;
|
||||
int num = 0;
|
||||
if (num < (int)alertDescription)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array = new byte[2];
|
||||
uint num2;
|
||||
num2 += num2;
|
||||
array[0] = alertLevel;
|
||||
array[0] = alertDescription;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0CC RID: 45260 RVA: 0x00263660 File Offset: 0x00261860
|
||||
[Token(Token = "0x600B0CC")]
|
||||
[Address(RVA = "0x233C250", Offset = "0x233B250", VA = "0x18233C250")]
|
||||
private int ReceiveRecord(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
ByteQueue byteQueue = this.mRecordQueue;
|
||||
int available = byteQueue.available;
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
int num = 0;
|
||||
if (num < off)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (byteQueue > len)
|
||||
{
|
||||
ByteQueue byteQueue2 = this.mRecordQueue;
|
||||
byteQueue -= len;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0CD RID: 45261 RVA: 0x002636C4 File Offset: 0x002618C4
|
||||
[Token(Token = "0x600B0CD")]
|
||||
[Address(RVA = "0x233CCA0", Offset = "0x233BCA0", VA = "0x18233CCA0")]
|
||||
private void SendRecord(byte contentType, byte[] buf, int off, int len)
|
||||
{
|
||||
if (this.mWriteVersion != 0)
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
DtlsEpoch dtlsEpoch = this.mWriteEpoch;
|
||||
long mSequenceNumber = dtlsEpoch.mSequenceNumber;
|
||||
int mEpoch = dtlsEpoch.mEpoch;
|
||||
long num2 = mSequenceNumber + 1L;
|
||||
dtlsEpoch.mSequenceNumber = num2;
|
||||
TlsCipher mCipher = this.mWriteEpoch.mCipher;
|
||||
byte[] array = new byte[0];
|
||||
int num3 = 0;
|
||||
TlsUtilities.WriteUint8(contentType, array, num3);
|
||||
TlsUtilities.WriteVersion(this.mWriteVersion, array, 1);
|
||||
PngHelperInternal.WriteInt2tobytes(mEpoch, array, 3);
|
||||
TlsUtilities.WriteUint48(mSequenceNumber, array, 5);
|
||||
PngHelperInternal.WriteInt2tobytes((int)mSequenceNumber, array, 11);
|
||||
DatagramTransport datagramTransport = this.mTransport;
|
||||
int length = array.Length;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0CE RID: 45262 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B0CE")]
|
||||
[Address(RVA = "0x233BDE0", Offset = "0x233ADE0", VA = "0x18233BDE0")]
|
||||
private static long GetMacSequenceNumber(int epoch, long sequence_number)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x04007038 RID: 28728
|
||||
[Token(Token = "0x4007038")]
|
||||
private const int RECORD_HEADER_LENGTH = 13;
|
||||
|
||||
// Token: 0x04007039 RID: 28729
|
||||
[Token(Token = "0x4007039")]
|
||||
private const int MAX_FRAGMENT_LENGTH = 16384;
|
||||
|
||||
// Token: 0x0400703A RID: 28730
|
||||
[Token(Token = "0x400703A")]
|
||||
private const long TCP_MSL = 120000L;
|
||||
|
||||
// Token: 0x0400703B RID: 28731
|
||||
[Token(Token = "0x400703B")]
|
||||
private const long RETRANSMIT_TIMEOUT = 240000L;
|
||||
|
||||
// Token: 0x0400703C RID: 28732
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400703C")]
|
||||
private readonly DatagramTransport mTransport;
|
||||
|
||||
// Token: 0x0400703D RID: 28733
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400703D")]
|
||||
private readonly TlsContext mContext;
|
||||
|
||||
// Token: 0x0400703E RID: 28734
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400703E")]
|
||||
private readonly TlsPeer mPeer;
|
||||
|
||||
// Token: 0x0400703F RID: 28735
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400703F")]
|
||||
private readonly ByteQueue mRecordQueue;
|
||||
|
||||
// Token: 0x04007040 RID: 28736
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007040")]
|
||||
private bool mClosed;
|
||||
|
||||
// Token: 0x04007041 RID: 28737
|
||||
[FieldOffset(Offset = "0x31")]
|
||||
[Token(Token = "0x4007041")]
|
||||
private bool mFailed;
|
||||
|
||||
// Token: 0x04007042 RID: 28738
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007042")]
|
||||
private ProtocolVersion mReadVersion;
|
||||
|
||||
// Token: 0x04007043 RID: 28739
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007043")]
|
||||
private ProtocolVersion mWriteVersion;
|
||||
|
||||
// Token: 0x04007044 RID: 28740
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007044")]
|
||||
private bool mInHandshake;
|
||||
|
||||
// Token: 0x04007045 RID: 28741
|
||||
[FieldOffset(Offset = "0x4C")]
|
||||
[Token(Token = "0x4007045")]
|
||||
private int mPlaintextLimit;
|
||||
|
||||
// Token: 0x04007046 RID: 28742
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007046")]
|
||||
private DtlsEpoch mCurrentEpoch;
|
||||
|
||||
// Token: 0x04007047 RID: 28743
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007047")]
|
||||
private DtlsEpoch mPendingEpoch;
|
||||
|
||||
// Token: 0x04007048 RID: 28744
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007048")]
|
||||
private DtlsEpoch mReadEpoch;
|
||||
|
||||
// Token: 0x04007049 RID: 28745
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4007049")]
|
||||
private DtlsEpoch mWriteEpoch;
|
||||
|
||||
// Token: 0x0400704A RID: 28746
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400704A")]
|
||||
private DtlsHandshakeRetransmit mRetransmit;
|
||||
|
||||
// Token: 0x0400704B RID: 28747
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x400704B")]
|
||||
private DtlsEpoch mRetransmitEpoch;
|
||||
|
||||
// Token: 0x0400704C RID: 28748
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x400704C")]
|
||||
private long mRetransmitExpiry;
|
||||
}
|
||||
}
|
||||
+611
@@ -0,0 +1,611 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C09 RID: 7177
|
||||
[Token(Token = "0x2001C09")]
|
||||
internal class DtlsReliableHandshake
|
||||
{
|
||||
// Token: 0x0600B0CF RID: 45263 RVA: 0x0026377C File Offset: 0x0026197C
|
||||
[Token(Token = "0x600B0CF")]
|
||||
[Address(RVA = "0x233EC90", Offset = "0x233DC90", VA = "0x18233EC90")]
|
||||
internal DtlsReliableHandshake(TlsContext context, DtlsRecordLayer transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0CF)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReliableHandshake::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IDictionary(var_1_07, call:IDictionary(Platform::CreateHashtable))
|
||||
stfld:IDictionary(DtlsReliableHandshake::mCurrentInboundFlight, ldloc:DtlsReliableHandshake(this), ldloc:IDictionary(var_1_07))
|
||||
stloc:IList(var_3_16, call:IList(Platform::CreateArrayList))
|
||||
stfld:IList(DtlsReliableHandshake::mOutboundFlight, ldloc:DtlsReliableHandshake(this), ldloc:IList(var_3_16))
|
||||
stfld:bool(DtlsReliableHandshake::mSending, ldloc:DtlsReliableHandshake(this), ldc.i4:bool(1))
|
||||
call:void(object::.ctor, ldloc:DtlsReliableHandshake[exp:object](this))
|
||||
stfld:DtlsRecordLayer(DtlsReliableHandshake::mRecordLayer, ldloc:DtlsReliableHandshake(this), ldloc:DtlsRecordLayer(transport))
|
||||
stloc:DeferredHash(var_4_37, newobj:DeferredHash(DeferredHash::.ctor))
|
||||
stloc:DigestInputBuffer(var_5_3E, newobj:DigestInputBuffer(DigestInputBuffer::.ctor))
|
||||
stfld:DigestInputBuffer(DeferredHash::mBuf, ldloc:DeferredHash(var_4_37), ldloc:DigestInputBuffer(var_5_3E))
|
||||
stloc:IDictionary(var_7_51, call:IDictionary(Platform::CreateHashtable))
|
||||
stfld:IDictionary(DeferredHash::mHashes, ldloc:DeferredHash(var_4_37), ldloc:IDictionary(var_7_51))
|
||||
stfld:int32(DeferredHash::mPrfHashAlgorithm, ldloc:DeferredHash(var_4_37), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](4294967295)))
|
||||
stfld:TlsHandshakeHash(DtlsReliableHandshake::mHandshakeHash, ldloc:DtlsReliableHandshake(this), ldloc:DeferredHash[exp:TlsHandshakeHash](var_4_37))
|
||||
}
|
||||
|
||||
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: 0x0600B0D0 RID: 45264 RVA: 0x00263800 File Offset: 0x00261A00
|
||||
[Token(Token = "0x600B0D0")]
|
||||
[Address(RVA = "0x233D910", Offset = "0x233C910", VA = "0x18233D910")]
|
||||
internal void NotifyHelloComplete()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x17001C06 RID: 7174
|
||||
// (get) Token: 0x0600B0D1 RID: 45265 RVA: 0x0026381C File Offset: 0x00261A1C
|
||||
[Token(Token = "0x17001C06")]
|
||||
internal TlsHandshakeHash HandshakeHash
|
||||
{
|
||||
[Token(Token = "0x600B0D1")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
||||
get
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D2 RID: 45266 RVA: 0x00263830 File Offset: 0x00261A30
|
||||
[Token(Token = "0x600B0D2")]
|
||||
[Address(RVA = "0x233D9A0", Offset = "0x233C9A0", VA = "0x18233D9A0")]
|
||||
internal TlsHandshakeHash PrepareToFinish()
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D3 RID: 45267 RVA: 0x0026384C File Offset: 0x00261A4C
|
||||
[Token(Token = "0x600B0D3")]
|
||||
[Address(RVA = "0x233E700", Offset = "0x233D700", VA = "0x18233E700")]
|
||||
internal void SendMessage(byte msg_type, byte[] body)
|
||||
{
|
||||
TlsUtilities.CheckUint24(body.Length);
|
||||
if (!this.mSending)
|
||||
{
|
||||
this.CheckInboundFlight();
|
||||
IList list = this.mOutboundFlight;
|
||||
this.mSending = true;
|
||||
}
|
||||
int num = this.mMessageSeq;
|
||||
int num2 = num + 1;
|
||||
this.mMessageSeq = num2;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num;
|
||||
message.mMsgType = msg_type;
|
||||
message.mBody = body;
|
||||
IList list2 = this.mOutboundFlight;
|
||||
this.WriteMessage(message);
|
||||
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D4 RID: 45268 RVA: 0x002638C8 File Offset: 0x00261AC8
|
||||
[Token(Token = "0x600B0D4")]
|
||||
[Address(RVA = "0x233DDB0", Offset = "0x233CDB0", VA = "0x18233DDB0")]
|
||||
internal byte[] ReceiveMessageBody(byte msg_type)
|
||||
{
|
||||
DtlsReliableHandshake.Message message;
|
||||
do
|
||||
{
|
||||
message = this.ReceiveMessage();
|
||||
}
|
||||
while (message.mMsgType != msg_type);
|
||||
return message.mBody;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D5 RID: 45269 RVA: 0x002638F4 File Offset: 0x00261AF4
|
||||
[Token(Token = "0x600B0D5")]
|
||||
[Address(RVA = "0x233DE30", Offset = "0x233CE30", VA = "0x18233DE30")]
|
||||
internal DtlsReliableHandshake.Message ReceiveMessage()
|
||||
{
|
||||
if (this.mSending)
|
||||
{
|
||||
this.mSending = false;
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary2 = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary2;
|
||||
this.mCurrentInboundFlight = dictionary;
|
||||
}
|
||||
int num = 0;
|
||||
IDictionary dictionary3 = this.mCurrentInboundFlight;
|
||||
int num2 = this.mNextReceiveSeq;
|
||||
if (num2 != 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
if (num2 == 0)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
if (num3 == 0)
|
||||
{
|
||||
this.mPreviousInboundFlight = num;
|
||||
int num4 = this.mNextReceiveSeq;
|
||||
int num5 = num4 + 1;
|
||||
this.mNextReceiveSeq = num5;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num4;
|
||||
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
||||
if (message2 != 0)
|
||||
{
|
||||
return message2;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mRecordLayer.ResetWriteEpoch();
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
byte[] array = new byte[0];
|
||||
int sendLimit = this.mRecordLayer.GetSendLimit();
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
bool flag;
|
||||
while (!flag)
|
||||
{
|
||||
}
|
||||
this.ResendOutboundFlight();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D6 RID: 45270 RVA: 0x002639F4 File Offset: 0x00261BF4
|
||||
[Token(Token = "0x600B0D6")]
|
||||
[Address(RVA = "0x233D6F0", Offset = "0x233C6F0", VA = "0x18233D6F0")]
|
||||
internal void Finish()
|
||||
{
|
||||
int num = 0;
|
||||
if ((this.mSending ? 1 : 0) != num)
|
||||
{
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary;
|
||||
this.mCurrentInboundFlight = num;
|
||||
if (dictionary == 0)
|
||||
{
|
||||
goto IL_3C;
|
||||
}
|
||||
DtlsReliableHandshake.Retransmit retransmit;
|
||||
retransmit.mOuter = this;
|
||||
}
|
||||
this.CheckInboundFlight();
|
||||
IL_3C:
|
||||
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D7 RID: 45271 RVA: 0x00263A50 File Offset: 0x00261C50
|
||||
[Token(Token = "0x600B0D7")]
|
||||
[Address(RVA = "0x233E6B0", Offset = "0x233D6B0", VA = "0x18233E6B0")]
|
||||
internal void ResetHandshakeMessagesDigest()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D8 RID: 45272 RVA: 0x00263A6C File Offset: 0x00261C6C
|
||||
[Token(Token = "0x600B0D8")]
|
||||
[Address(RVA = "0x233D2A0", Offset = "0x233C2A0", VA = "0x18233D2A0")]
|
||||
private int BackOff(int timeoutMillis)
|
||||
{
|
||||
int num;
|
||||
return num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0D9 RID: 45273 RVA: 0x00263A7C File Offset: 0x00261C7C
|
||||
[Token(Token = "0x600B0D9")]
|
||||
[Address(RVA = "0x233D570", Offset = "0x233C570", VA = "0x18233D570")]
|
||||
private void CheckInboundFlight()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
num += num;
|
||||
num++;
|
||||
num++;
|
||||
num += 19;
|
||||
if (num != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
}
|
||||
|
||||
// Token: 0x0600B0DA RID: 45274 RVA: 0x00263AB4 File Offset: 0x00261CB4
|
||||
[Token(Token = "0x600B0DA")]
|
||||
[Address(RVA = "0x233D790", Offset = "0x233C790", VA = "0x18233D790")]
|
||||
private DtlsReliableHandshake.Message GetPendingMessage()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = this.mNextReceiveSeq;
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
if (num == 0)
|
||||
{
|
||||
goto IL_49;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
if (num == 0)
|
||||
{
|
||||
int num2 = this.mNextReceiveSeq;
|
||||
int num3 = num2 + 1;
|
||||
this.mNextReceiveSeq = num3;
|
||||
DtlsReliableHandshake.Message message;
|
||||
message.mMessageSeq = num2;
|
||||
message.mMsgType = (byte)num;
|
||||
return this.UpdateHandshakeMessagesDigest(message);
|
||||
}
|
||||
IL_49:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0DB RID: 45275 RVA: 0x00263B14 File Offset: 0x00261D14
|
||||
[Token(Token = "0x600B0DB")]
|
||||
[Address(RVA = "0x233D960", Offset = "0x233C960", VA = "0x18233D960")]
|
||||
private void PrepareInboundFlight(IDictionary nextFlight)
|
||||
{
|
||||
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
this.mPreviousInboundFlight = dictionary;
|
||||
this.mCurrentInboundFlight = nextFlight;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0DC RID: 45276 RVA: 0x00263B44 File Offset: 0x00261D44
|
||||
[Token(Token = "0x600B0DC")]
|
||||
[Address(RVA = "0x233DA00", Offset = "0x233CA00", VA = "0x18233DA00")]
|
||||
private bool ProcessRecord(int windowSize, int epoch, byte[] buf, int off, int len)
|
||||
{
|
||||
int num = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num2 = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num3 = TlsUtilities.ReadUint24(buf, windowSize);
|
||||
int num4 = this.mNextReceiveSeq;
|
||||
byte b;
|
||||
if ((int)b >= num4 || (this.mPreviousInboundFlight != 0 && num4 != 0))
|
||||
{
|
||||
IDictionary dictionary = this.mCurrentInboundFlight;
|
||||
if (num4 == 0)
|
||||
{
|
||||
DtlsReassembler dtlsReassembler = new DtlsReassembler(b, num2);
|
||||
}
|
||||
}
|
||||
if (DtlsReliableHandshake.CheckAll(this.mPreviousInboundFlight))
|
||||
{
|
||||
this.ResendOutboundFlight();
|
||||
DtlsReliableHandshake.ResetAll(this.mPreviousInboundFlight);
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0DD RID: 45277 RVA: 0x00263BC8 File Offset: 0x00261DC8
|
||||
[Token(Token = "0x600B0DD")]
|
||||
[Address(RVA = "0x233E1E0", Offset = "0x233D1E0", VA = "0x18233E1E0")]
|
||||
private void ResendOutboundFlight()
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
IList list = this.mOutboundFlight;
|
||||
num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
IList list2 = this.mOutboundFlight;
|
||||
uint num2;
|
||||
if (num < (int)num2)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
num += 19;
|
||||
num += num;
|
||||
num += 19;
|
||||
}
|
||||
}
|
||||
while (num == 0);
|
||||
this.WriteMessage(num);
|
||||
IList list3 = this.mOutboundFlight;
|
||||
num++;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0DE RID: 45278 RVA: 0x00263C3C File Offset: 0x00261E3C
|
||||
[Token(Token = "0x600B0DE")]
|
||||
[Address(RVA = "0x233E830", Offset = "0x233D830", VA = "0x18233E830")]
|
||||
private DtlsReliableHandshake.Message UpdateHandshakeMessagesDigest(DtlsReliableHandshake.Message message)
|
||||
{
|
||||
byte[] mBody = message.mBody;
|
||||
byte[] array = new byte[12];
|
||||
byte mMsgType = message.mMsgType;
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint8(mMsgType, array, num);
|
||||
TlsUtilities.WriteUint24(mBody.Length, array, 1);
|
||||
PngHelperInternal.WriteInt2tobytes(message.mMessageSeq, array, 4);
|
||||
TlsUtilities.WriteUint24(0, array, 6);
|
||||
TlsUtilities.WriteUint24(mBody.Length, array, 9);
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
int length = array.Length;
|
||||
TlsHandshakeHash tlsHandshakeHash2 = this.mHandshakeHash;
|
||||
int length2 = mBody.Length;
|
||||
return message;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0DF RID: 45279 RVA: 0x00263CC4 File Offset: 0x00261EC4
|
||||
[Token(Token = "0x600B0DF")]
|
||||
[Address(RVA = "0x233EB60", Offset = "0x233DB60", VA = "0x18233EB60")]
|
||||
private void WriteMessage(DtlsReliableHandshake.Message message)
|
||||
{
|
||||
int receiveLimit = this.mRecordLayer.GetReceiveLimit();
|
||||
byte[] mBody = message.mBody;
|
||||
int num = 0;
|
||||
int num2 = mBody.Length;
|
||||
num2 -= num;
|
||||
int num3;
|
||||
this.WriteHandshakeFragment(message, num, num3);
|
||||
num += num3;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0E0 RID: 45280 RVA: 0x00263D08 File Offset: 0x00261F08
|
||||
[Token(Token = "0x600B0E0")]
|
||||
[Address(RVA = "0x233E9A0", Offset = "0x233D9A0", VA = "0x18233E9A0")]
|
||||
private void WriteHandshakeFragment(DtlsReliableHandshake.Message message, int fragment_offset, int fragment_length)
|
||||
{
|
||||
DtlsReliableHandshake.RecordLayerBuffer recordLayerBuffer;
|
||||
TlsUtilities.WriteUint8(message.mMsgType, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(message.mBody.Length, recordLayerBuffer);
|
||||
int num = message.mMessageSeq;
|
||||
TlsUtilities.WriteUint16(num, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(fragment_offset, recordLayerBuffer);
|
||||
TlsUtilities.WriteUint24(fragment_length, recordLayerBuffer);
|
||||
int num2 = recordLayerBuffer.ReadByte();
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
bool canWrite = recordLayerBuffer.CanWrite;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0E1 RID: 45281 RVA: 0x00263D70 File Offset: 0x00261F70
|
||||
[Token(Token = "0x600B0E1")]
|
||||
[Address(RVA = "0x233D300", Offset = "0x233C300", VA = "0x18233D300")]
|
||||
private static bool CheckAll(IDictionary inboundFlight)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
int num2 = 0;
|
||||
if (num2 == 0)
|
||||
{
|
||||
}
|
||||
if (num2 != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
if (num != -1)
|
||||
{
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0E2 RID: 45282 RVA: 0x00263DB0 File Offset: 0x00261FB0
|
||||
[Token(Token = "0x600B0E2")]
|
||||
[Address(RVA = "0x233E3E0", Offset = "0x233D3E0", VA = "0x18233E3E0")]
|
||||
private static void ResetAll(IDictionary inboundFlight)
|
||||
{
|
||||
int num;
|
||||
do
|
||||
{
|
||||
num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
num++;
|
||||
num += 19;
|
||||
ulong num2;
|
||||
num = (int)((ulong)num + num2);
|
||||
if (num == 0 || num == 0)
|
||||
{
|
||||
goto IL_47;
|
||||
}
|
||||
DtlsReassembler.Range range;
|
||||
range.mStart = num;
|
||||
if (range != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
while (num != 0);
|
||||
return;
|
||||
IL_47:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0400704D RID: 28749
|
||||
[Token(Token = "0x400704D")]
|
||||
private const int MaxReceiveAhead = 16;
|
||||
|
||||
// Token: 0x0400704E RID: 28750
|
||||
[Token(Token = "0x400704E")]
|
||||
private const int MessageHeaderLength = 12;
|
||||
|
||||
// Token: 0x0400704F RID: 28751
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400704F")]
|
||||
private readonly DtlsRecordLayer mRecordLayer;
|
||||
|
||||
// Token: 0x04007050 RID: 28752
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007050")]
|
||||
private TlsHandshakeHash mHandshakeHash;
|
||||
|
||||
// Token: 0x04007051 RID: 28753
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007051")]
|
||||
private IDictionary mCurrentInboundFlight;
|
||||
|
||||
// Token: 0x04007052 RID: 28754
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007052")]
|
||||
private IDictionary mPreviousInboundFlight;
|
||||
|
||||
// Token: 0x04007053 RID: 28755
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007053")]
|
||||
private IList mOutboundFlight;
|
||||
|
||||
// Token: 0x04007054 RID: 28756
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007054")]
|
||||
private bool mSending;
|
||||
|
||||
// Token: 0x04007055 RID: 28757
|
||||
[FieldOffset(Offset = "0x3C")]
|
||||
[Token(Token = "0x4007055")]
|
||||
private int mMessageSeq;
|
||||
|
||||
// Token: 0x04007056 RID: 28758
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007056")]
|
||||
private int mNextReceiveSeq;
|
||||
|
||||
// Token: 0x02001C0A RID: 7178
|
||||
[Token(Token = "0x2001C0A")]
|
||||
internal class Message
|
||||
{
|
||||
// Token: 0x0600B0E3 RID: 45283 RVA: 0x00263E10 File Offset: 0x00262010
|
||||
[Token(Token = "0x600B0E3")]
|
||||
[Address(RVA = "0xF71950", Offset = "0xF70950", VA = "0x180F71950")]
|
||||
internal Message(int message_seq, byte msg_type, byte[] body)
|
||||
{
|
||||
this.mMessageSeq = message_seq;
|
||||
this.mMsgType = msg_type;
|
||||
this.mBody = body;
|
||||
}
|
||||
|
||||
// Token: 0x17001C07 RID: 7175
|
||||
// (get) Token: 0x0600B0E4 RID: 45284 RVA: 0x00263E38 File Offset: 0x00262038
|
||||
[Token(Token = "0x17001C07")]
|
||||
public int Seq
|
||||
{
|
||||
[Token(Token = "0x600B0E4")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
|
||||
get
|
||||
{
|
||||
return this.mMessageSeq;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C08 RID: 7176
|
||||
// (get) Token: 0x0600B0E5 RID: 45285 RVA: 0x00263E4C File Offset: 0x0026204C
|
||||
[Token(Token = "0x17001C08")]
|
||||
public byte Type
|
||||
{
|
||||
[Token(Token = "0x600B0E5")]
|
||||
[Address(RVA = "0x4987D0", Offset = "0x4977D0", VA = "0x1804987D0")]
|
||||
get
|
||||
{
|
||||
return this.mMsgType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C09 RID: 7177
|
||||
// (get) Token: 0x0600B0E6 RID: 45286 RVA: 0x00263E60 File Offset: 0x00262060
|
||||
[Token(Token = "0x17001C09")]
|
||||
public byte[] Body
|
||||
{
|
||||
[Token(Token = "0x600B0E6")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
||||
get
|
||||
{
|
||||
return this.mBody;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007057 RID: 28759
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007057")]
|
||||
private readonly int mMessageSeq;
|
||||
|
||||
// Token: 0x04007058 RID: 28760
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4007058")]
|
||||
private readonly byte mMsgType;
|
||||
|
||||
// Token: 0x04007059 RID: 28761
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007059")]
|
||||
private readonly byte[] mBody;
|
||||
}
|
||||
|
||||
// Token: 0x02001C0B RID: 7179
|
||||
[Token(Token = "0x2001C0B")]
|
||||
internal class RecordLayerBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600B0E7 RID: 45287 RVA: 0x00263E74 File Offset: 0x00262074
|
||||
[Token(Token = "0x600B0E7")]
|
||||
[Address(RVA = "0x23415E0", Offset = "0x23405E0", VA = "0x1823415E0")]
|
||||
internal RecordLayerBuffer(int size)
|
||||
: base(size)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B0E8 RID: 45288 RVA: 0x00263E88 File Offset: 0x00262088
|
||||
[Token(Token = "0x600B0E8")]
|
||||
[Address(RVA = "0x2341520", Offset = "0x2340520", VA = "0x182341520")]
|
||||
internal void SendToRecordLayer(DtlsRecordLayer recordLayer)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02001C0C RID: 7180
|
||||
[Token(Token = "0x2001C0C")]
|
||||
internal class Retransmit : DtlsHandshakeRetransmit
|
||||
{
|
||||
// Token: 0x0600B0E9 RID: 45289 RVA: 0x00263EA4 File Offset: 0x002620A4
|
||||
[Token(Token = "0x600B0E9")]
|
||||
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
||||
internal Retransmit(DtlsReliableHandshake outer)
|
||||
{
|
||||
this.mOuter = outer;
|
||||
}
|
||||
|
||||
// Token: 0x0600B0EA RID: 45290 RVA: 0x00263EC0 File Offset: 0x002620C0
|
||||
[Token(Token = "0x600B0EA")]
|
||||
[Address(RVA = "0x23415F0", Offset = "0x23405F0", VA = "0x1823415F0", Slot = "4")]
|
||||
public void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len)
|
||||
{
|
||||
DtlsReliableHandshake dtlsReliableHandshake = this.mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x0400705A RID: 28762
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400705A")]
|
||||
private readonly DtlsReliableHandshake mOuter;
|
||||
}
|
||||
}
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C0D RID: 7181
|
||||
[Token(Token = "0x2001C0D")]
|
||||
internal class DtlsReplayWindow
|
||||
{
|
||||
// Token: 0x0600B0EB RID: 45291 RVA: 0x00263EDC File Offset: 0x002620DC
|
||||
[Token(Token = "0x600B0EB")]
|
||||
[Address(RVA = "0x233EED0", Offset = "0x233DED0", VA = "0x18233EED0")]
|
||||
internal bool ShouldDiscard(long seq)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0EB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReplayWindow::ShouldDiscard(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int64(var_0_09, ldfld:int64(DtlsReplayWindow::mLatestConfirmedSeq, ldloc:DtlsReplayWindow(this)))
|
||||
stloc:int64(var_0_0D, sub:int64(ldloc:int64(var_0_09), ldloc:int64(seq)))
|
||||
}
|
||||
|
||||
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: 0x0600B0EC RID: 45292 RVA: 0x00263EF8 File Offset: 0x002620F8
|
||||
[Token(Token = "0x600B0EC")]
|
||||
[Address(RVA = "0x233EDC0", Offset = "0x233DDC0", VA = "0x18233EDC0")]
|
||||
internal void ReportAuthenticated(long seq)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0EC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsReplayWindow::ReportAuthenticated(System.Int64)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_46:
|
||||
stloc:ArgumentException(var_4_55, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("out of range"), ldstr:string("seq")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0ED RID: 45293 RVA: 0x00263F5C File Offset: 0x0026215C
|
||||
[Token(Token = "0x600B0ED")]
|
||||
[Address(RVA = "0x233EEB0", Offset = "0x233DEB0", VA = "0x18233EEB0")]
|
||||
internal void Reset()
|
||||
{
|
||||
this.mLatestConfirmedSeq = (long)((ulong)(-1L));
|
||||
this.mBitmap = (long)((ulong)0L);
|
||||
}
|
||||
|
||||
// Token: 0x0600B0EE RID: 45294 RVA: 0x00263F7C File Offset: 0x0026217C
|
||||
[Token(Token = "0x600B0EE")]
|
||||
[Address(RVA = "0x1F24DB0", Offset = "0x1F23DB0", VA = "0x181F24DB0")]
|
||||
public DtlsReplayWindow()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400705B RID: 28763
|
||||
[Token(Token = "0x400705B")]
|
||||
private const long VALID_SEQ_MASK = 281474976710655L;
|
||||
|
||||
// Token: 0x0400705C RID: 28764
|
||||
[Token(Token = "0x400705C")]
|
||||
private const long WINDOW_SIZE = 64L;
|
||||
|
||||
// Token: 0x0400705D RID: 28765
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400705D")]
|
||||
private long mLatestConfirmedSeq = (long)((ulong)(-1L));
|
||||
|
||||
// Token: 0x0400705E RID: 28766
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400705E")]
|
||||
private long mBitmap;
|
||||
}
|
||||
}
|
||||
+428
@@ -0,0 +1,428 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C0E RID: 7182
|
||||
[Token(Token = "0x2001C0E")]
|
||||
public class DtlsServerProtocol : DtlsProtocol
|
||||
{
|
||||
// Token: 0x0600B0EF RID: 45295 RVA: 0x00263F98 File Offset: 0x00262198
|
||||
[Token(Token = "0x600B0EF")]
|
||||
[Address(RVA = "0x23413D0", Offset = "0x23403D0", VA = "0x1823413D0")]
|
||||
public DtlsServerProtocol(SecureRandom secureRandom)
|
||||
: base(secureRandom)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17001C0A RID: 7178
|
||||
// (get) Token: 0x0600B0F0 RID: 45296 RVA: 0x00263FB4 File Offset: 0x002621B4
|
||||
// (set) Token: 0x0600B0F1 RID: 45297 RVA: 0x00263FC8 File Offset: 0x002621C8
|
||||
[Token(Token = "0x17001C0A")]
|
||||
public virtual bool VerifyRequests
|
||||
{
|
||||
[Token(Token = "0x600B0F0")]
|
||||
[Address(RVA = "0x497570", Offset = "0x496570", VA = "0x180497570", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mVerifyRequests;
|
||||
}
|
||||
[Token(Token = "0x600B0F1")]
|
||||
[Address(RVA = "0x611070", Offset = "0x610070", VA = "0x180611070", Slot = "6")]
|
||||
set
|
||||
{
|
||||
this.mVerifyRequests = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0F2 RID: 45298 RVA: 0x00263FDC File Offset: 0x002621DC
|
||||
[Token(Token = "0x600B0F2")]
|
||||
[Address(RVA = "0x233EF70", Offset = "0x233DF70", VA = "0x18233EF70", Slot = "7")]
|
||||
public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0F2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::Accept(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsServer,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_69:
|
||||
stloc:ArgumentNullException(var_16_73, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0F3 RID: 45299 RVA: 0x00264060 File Offset: 0x00262260
|
||||
[Token(Token = "0x600B0F3")]
|
||||
[Address(RVA = "0x233EF10", Offset = "0x233DF10", VA = "0x18233EF10", Slot = "8")]
|
||||
internal virtual void AbortServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription)
|
||||
{
|
||||
recordLayer.Failed();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0F4 RID: 45300 RVA: 0x0026407C File Offset: 0x0026227C
|
||||
[Token(Token = "0x600B0F4")]
|
||||
[Address(RVA = "0x2340930", Offset = "0x233F930", VA = "0x182340930", Slot = "9")]
|
||||
internal virtual DtlsTransport ServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0F4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ServerHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30F:
|
||||
stloc:TlsFatalAlert(var_66_316, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_67)))
|
||||
stloc:TlsFatalAlert(var_68_31F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_69)))
|
||||
}
|
||||
|
||||
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: 0x0600B0F5 RID: 45301 RVA: 0x002643AC File Offset: 0x002625AC
|
||||
[Token(Token = "0x600B0F5")]
|
||||
[Address(RVA = "0x233FB80", Offset = "0x233EB80", VA = "0x18233FB80", Slot = "10")]
|
||||
protected virtual void InvalidateSession(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
SessionParameters sessionParameters = state.sessionParameters;
|
||||
if (sessionParameters != 0)
|
||||
{
|
||||
sessionParameters.Clear();
|
||||
state.sessionParameters = (ulong)0L;
|
||||
}
|
||||
if (state.tlsSession != 0)
|
||||
{
|
||||
state.tlsSession = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B0F6 RID: 45302 RVA: 0x002643EC File Offset: 0x002625EC
|
||||
[Token(Token = "0x600B0F6")]
|
||||
[Address(RVA = "0x233F330", Offset = "0x233E330", VA = "0x18233F330", Slot = "11")]
|
||||
protected virtual byte[] GenerateCertificateRequest(DtlsServerProtocol.ServerHandshakeState state, CertificateRequest certificateRequest)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
IList certificateAuthorities = certificateRequest.CertificateAuthorities;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0F7 RID: 45303 RVA: 0x00264414 File Offset: 0x00262614
|
||||
[Token(Token = "0x600B0F7")]
|
||||
[Address(RVA = "0x233F3C0", Offset = "0x233E3C0", VA = "0x18233F3C0", Slot = "12")]
|
||||
protected virtual byte[] GenerateCertificateStatus(DtlsServerProtocol.ServerHandshakeState state, CertificateStatus certificateStatus)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
OcspResponse ocspResponse = certificateStatus.GetOcspResponse();
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0F8 RID: 45304 RVA: 0x0026443C File Offset: 0x0026263C
|
||||
[Token(Token = "0x600B0F8")]
|
||||
[Address(RVA = "0x233F450", Offset = "0x233E450", VA = "0x18233F450", Slot = "13")]
|
||||
protected virtual byte[] GenerateNewSessionTicket(DtlsServerProtocol.ServerHandshakeState state, NewSessionTicket newSessionTicket)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
byte[] ticket = newSessionTicket.Ticket;
|
||||
((IDisposable)memoryStream).Dispose();
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B0F9 RID: 45305 RVA: 0x00264464 File Offset: 0x00262664
|
||||
[Token(Token = "0x600B0F9")]
|
||||
[Address(RVA = "0x233F4E0", Offset = "0x233E4E0", VA = "0x18233F4E0", Slot = "14")]
|
||||
protected virtual byte[] GenerateServerHello(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0F9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::GenerateServerHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_213:
|
||||
stloc:TlsFatalAlert(var_39_21A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_40)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0FA RID: 45306 RVA: 0x0026468C File Offset: 0x0026288C
|
||||
[Token(Token = "0x600B0FA")]
|
||||
[Address(RVA = "0x233FBF0", Offset = "0x233EBF0", VA = "0x18233FBF0", Slot = "15")]
|
||||
protected virtual void NotifyClientCertificate(DtlsServerProtocol.ServerHandshakeState state, Certificate clientCertificate)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0FA)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::NotifyClientCertificate(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_50:
|
||||
stloc:InvalidOperationException(var_5_55, newobj:InvalidOperationException(InvalidOperationException::.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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0FB RID: 45307 RVA: 0x002646F0 File Offset: 0x002628F0
|
||||
[Token(Token = "0x600B0FB")]
|
||||
[Address(RVA = "0x2340160", Offset = "0x233F160", VA = "0x182340160", Slot = "16")]
|
||||
protected virtual void ProcessClientCertificate(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
Certificate certificate = Certificate.Parse(memoryStream);
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600B0FC RID: 45308 RVA: 0x00264714 File Offset: 0x00262914
|
||||
[Token(Token = "0x600B0FC")]
|
||||
[Address(RVA = "0x233FD80", Offset = "0x233ED80", VA = "0x18233FD80", Slot = "17")]
|
||||
protected virtual void ProcessCertificateVerify(DtlsServerProtocol.ServerHandshakeState state, byte[] body, TlsHandshakeHash prepareFinishHash)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0FC)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessCertificateVerify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_F7:
|
||||
stloc:InvalidOperationException(var_14_FC, newobj:InvalidOperationException(InvalidOperationException::.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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0FD RID: 45309 RVA: 0x00264820 File Offset: 0x00262A20
|
||||
[Token(Token = "0x600B0FD")]
|
||||
[Address(RVA = "0x2340220", Offset = "0x233F220", VA = "0x182340220", Slot = "18")]
|
||||
protected virtual void ProcessClientHello(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B0FD)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_18B:
|
||||
stloc:TlsFatalAlert(var_35_192, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_36)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B0FE RID: 45310 RVA: 0x002649C0 File Offset: 0x00262BC0
|
||||
[Token(Token = "0x600B0FE")]
|
||||
[Address(RVA = "0x23407F0", Offset = "0x233F7F0", VA = "0x1823407F0", Slot = "19")]
|
||||
protected virtual void ProcessClientKeyExchange(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
TlsKeyExchange keyExchange = state.keyExchange;
|
||||
TlsProtocol.AssertEmpty(memoryStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600B0FF RID: 45311 RVA: 0x002649EC File Offset: 0x00262BEC
|
||||
[Token(Token = "0x600B0FF")]
|
||||
[Address(RVA = "0x2340890", Offset = "0x233F890", VA = "0x182340890", Slot = "20")]
|
||||
protected virtual void ProcessClientSupplementalData(DtlsServerProtocol.ServerHandshakeState state, byte[] body)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(body, num != 0);
|
||||
num = 0;
|
||||
IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream);
|
||||
TlsServer server = state.server;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B100 RID: 45312 RVA: 0x00264A18 File Offset: 0x00262C18
|
||||
[Token(Token = "0x600B100")]
|
||||
[Address(RVA = "0x233F2C0", Offset = "0x233E2C0", VA = "0x18233F2C0", Slot = "21")]
|
||||
protected virtual bool ExpectCertificateVerifyMessage(DtlsServerProtocol.ServerHandshakeState state)
|
||||
{
|
||||
short clientCertificateType = state.clientCertificateType;
|
||||
return TlsUtilities.HasSigningCapability((byte)clientCertificateType);
|
||||
}
|
||||
|
||||
// Token: 0x0400705F RID: 28767
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400705F")]
|
||||
protected bool mVerifyRequests = true;
|
||||
|
||||
// Token: 0x02001C0F RID: 7183
|
||||
[Token(Token = "0x2001C0F")]
|
||||
protected internal class ServerHandshakeState
|
||||
{
|
||||
// Token: 0x0600B101 RID: 45313 RVA: 0x00264A3C File Offset: 0x00262C3C
|
||||
[Token(Token = "0x600B101")]
|
||||
[Address(RVA = "0x497630", Offset = "0x496630", VA = "0x180497630")]
|
||||
public ServerHandshakeState()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007060 RID: 28768
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007060")]
|
||||
internal TlsServer server;
|
||||
|
||||
// Token: 0x04007061 RID: 28769
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007061")]
|
||||
internal TlsServerContextImpl serverContext;
|
||||
|
||||
// Token: 0x04007062 RID: 28770
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007062")]
|
||||
internal TlsSession tlsSession;
|
||||
|
||||
// Token: 0x04007063 RID: 28771
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007063")]
|
||||
internal SessionParameters sessionParameters;
|
||||
|
||||
// Token: 0x04007064 RID: 28772
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007064")]
|
||||
internal SessionParameters.Builder sessionParametersBuilder;
|
||||
|
||||
// Token: 0x04007065 RID: 28773
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007065")]
|
||||
internal int[] offeredCipherSuites;
|
||||
|
||||
// Token: 0x04007066 RID: 28774
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007066")]
|
||||
internal byte[] offeredCompressionMethods;
|
||||
|
||||
// Token: 0x04007067 RID: 28775
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007067")]
|
||||
internal IDictionary clientExtensions;
|
||||
|
||||
// Token: 0x04007068 RID: 28776
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007068")]
|
||||
internal IDictionary serverExtensions;
|
||||
|
||||
// Token: 0x04007069 RID: 28777
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007069")]
|
||||
internal bool resumedSession;
|
||||
|
||||
// Token: 0x0400706A RID: 28778
|
||||
[FieldOffset(Offset = "0x59")]
|
||||
[Token(Token = "0x400706A")]
|
||||
internal bool secure_renegotiation;
|
||||
|
||||
// Token: 0x0400706B RID: 28779
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x400706B")]
|
||||
internal bool allowCertificateStatus;
|
||||
|
||||
// Token: 0x0400706C RID: 28780
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x400706C")]
|
||||
internal bool expectSessionTicket;
|
||||
|
||||
// Token: 0x0400706D RID: 28781
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x400706D")]
|
||||
internal TlsKeyExchange keyExchange;
|
||||
|
||||
// Token: 0x0400706E RID: 28782
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x400706E")]
|
||||
internal TlsCredentials serverCredentials;
|
||||
|
||||
// Token: 0x0400706F RID: 28783
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x400706F")]
|
||||
internal CertificateRequest certificateRequest;
|
||||
|
||||
// Token: 0x04007070 RID: 28784
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4007070")]
|
||||
internal short clientCertificateType = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x04007071 RID: 28785
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4007071")]
|
||||
internal Certificate clientCertificate;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C10 RID: 7184
|
||||
[Token(Token = "0x2001C10")]
|
||||
public class DtlsTransport : DatagramTransport
|
||||
{
|
||||
// Token: 0x0600B102 RID: 45314 RVA: 0x00264A58 File Offset: 0x00262C58
|
||||
[Token(Token = "0x600B102")]
|
||||
[Address(RVA = "0x493D90", Offset = "0x492D90", VA = "0x180493D90")]
|
||||
internal DtlsTransport(DtlsRecordLayer recordLayer)
|
||||
{
|
||||
this.mRecordLayer = recordLayer;
|
||||
}
|
||||
|
||||
// Token: 0x0600B103 RID: 45315 RVA: 0x00264A74 File Offset: 0x00262C74
|
||||
[Token(Token = "0x600B103")]
|
||||
[Address(RVA = "0x493A40", Offset = "0x492A40", VA = "0x180493A40", Slot = "9")]
|
||||
public virtual int GetReceiveLimit()
|
||||
{
|
||||
return ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600B104 RID: 45316 RVA: 0x00264A94 File Offset: 0x00262C94
|
||||
[Token(Token = "0x600B104")]
|
||||
[Address(RVA = "0x493A70", Offset = "0x492A70", VA = "0x180493A70", Slot = "10")]
|
||||
public virtual int GetSendLimit()
|
||||
{
|
||||
return ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600B105 RID: 45317 RVA: 0x00264AB4 File Offset: 0x00262CB4
|
||||
[Token(Token = "0x600B105")]
|
||||
[Address(RVA = "0x493AA0", Offset = "0x492AA0", VA = "0x180493AA0", Slot = "11")]
|
||||
public virtual int Receive(byte[] buf, int off, int len, int waitMillis)
|
||||
{
|
||||
return this.mRecordLayer.GetSendLimit();
|
||||
}
|
||||
|
||||
// Token: 0x0600B106 RID: 45318 RVA: 0x00264AE4 File Offset: 0x00262CE4
|
||||
[Token(Token = "0x600B106")]
|
||||
[Address(RVA = "0x493C20", Offset = "0x492C20", VA = "0x180493C20", Slot = "12")]
|
||||
public virtual void Send(byte[] buf, int off, int len)
|
||||
{
|
||||
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
||||
}
|
||||
|
||||
// Token: 0x0600B107 RID: 45319 RVA: 0x00264B0C File Offset: 0x00262D0C
|
||||
[Token(Token = "0x600B107")]
|
||||
[Address(RVA = "0x493A10", Offset = "0x492A10", VA = "0x180493A10", Slot = "13")]
|
||||
public virtual void Close()
|
||||
{
|
||||
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
||||
}
|
||||
|
||||
// Token: 0x04007072 RID: 28786
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007072")]
|
||||
private readonly DtlsRecordLayer mRecordLayer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C11 RID: 7185
|
||||
[Token(Token = "0x2001C11")]
|
||||
public abstract class ECBasisType
|
||||
{
|
||||
// Token: 0x0600B108 RID: 45320 RVA: 0x00264B2C File Offset: 0x00262D2C
|
||||
[Token(Token = "0x600B108")]
|
||||
[Address(RVA = "0x493DC0", Offset = "0x492DC0", VA = "0x180493DC0")]
|
||||
public static bool IsValid(byte ecBasisType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B109 RID: 45321 RVA: 0x00264B3C File Offset: 0x00262D3C
|
||||
[Token(Token = "0x600B109")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ECBasisType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007073 RID: 28787
|
||||
[Token(Token = "0x4007073")]
|
||||
public const byte ec_basis_trinomial = 1;
|
||||
|
||||
// Token: 0x04007074 RID: 28788
|
||||
[Token(Token = "0x4007074")]
|
||||
public const byte ec_basis_pentanomial = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C12 RID: 7186
|
||||
[Token(Token = "0x2001C12")]
|
||||
public abstract class ECCurveType
|
||||
{
|
||||
// Token: 0x0600B10A RID: 45322 RVA: 0x00264B50 File Offset: 0x00262D50
|
||||
[Token(Token = "0x600B10A")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ECCurveType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007075 RID: 28789
|
||||
[Token(Token = "0x4007075")]
|
||||
public const byte explicit_prime = 1;
|
||||
|
||||
// Token: 0x04007076 RID: 28790
|
||||
[Token(Token = "0x4007076")]
|
||||
public const byte explicit_char2 = 2;
|
||||
|
||||
// Token: 0x04007077 RID: 28791
|
||||
[Token(Token = "0x4007077")]
|
||||
public const byte named_curve = 3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C13 RID: 7187
|
||||
[Token(Token = "0x2001C13")]
|
||||
public abstract class ECPointFormat
|
||||
{
|
||||
// Token: 0x0600B10B RID: 45323 RVA: 0x00264B64 File Offset: 0x00262D64
|
||||
[Token(Token = "0x600B10B")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ECPointFormat()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007078 RID: 28792
|
||||
[Token(Token = "0x4007078")]
|
||||
public const byte uncompressed = 0;
|
||||
|
||||
// Token: 0x04007079 RID: 28793
|
||||
[Token(Token = "0x4007079")]
|
||||
public const byte ansiX962_compressed_prime = 1;
|
||||
|
||||
// Token: 0x0400707A RID: 28794
|
||||
[Token(Token = "0x400707A")]
|
||||
public const byte ansiX962_compressed_char2 = 2;
|
||||
}
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C14 RID: 7188
|
||||
[Token(Token = "0x2001C14")]
|
||||
public abstract class EncryptionAlgorithm
|
||||
{
|
||||
// Token: 0x0600B10C RID: 45324 RVA: 0x00264B78 File Offset: 0x00262D78
|
||||
[Token(Token = "0x600B10C")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected EncryptionAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400707B RID: 28795
|
||||
[Token(Token = "0x400707B")]
|
||||
public const int NULL = 0;
|
||||
|
||||
// Token: 0x0400707C RID: 28796
|
||||
[Token(Token = "0x400707C")]
|
||||
public const int RC4_40 = 1;
|
||||
|
||||
// Token: 0x0400707D RID: 28797
|
||||
[Token(Token = "0x400707D")]
|
||||
public const int RC4_128 = 2;
|
||||
|
||||
// Token: 0x0400707E RID: 28798
|
||||
[Token(Token = "0x400707E")]
|
||||
public const int RC2_CBC_40 = 3;
|
||||
|
||||
// Token: 0x0400707F RID: 28799
|
||||
[Token(Token = "0x400707F")]
|
||||
public const int IDEA_CBC = 4;
|
||||
|
||||
// Token: 0x04007080 RID: 28800
|
||||
[Token(Token = "0x4007080")]
|
||||
public const int DES40_CBC = 5;
|
||||
|
||||
// Token: 0x04007081 RID: 28801
|
||||
[Token(Token = "0x4007081")]
|
||||
public const int DES_CBC = 6;
|
||||
|
||||
// Token: 0x04007082 RID: 28802
|
||||
[Token(Token = "0x4007082")]
|
||||
public const int cls_3DES_EDE_CBC = 7;
|
||||
|
||||
// Token: 0x04007083 RID: 28803
|
||||
[Token(Token = "0x4007083")]
|
||||
public const int AES_128_CBC = 8;
|
||||
|
||||
// Token: 0x04007084 RID: 28804
|
||||
[Token(Token = "0x4007084")]
|
||||
public const int AES_256_CBC = 9;
|
||||
|
||||
// Token: 0x04007085 RID: 28805
|
||||
[Token(Token = "0x4007085")]
|
||||
public const int AES_128_GCM = 10;
|
||||
|
||||
// Token: 0x04007086 RID: 28806
|
||||
[Token(Token = "0x4007086")]
|
||||
public const int AES_256_GCM = 11;
|
||||
|
||||
// Token: 0x04007087 RID: 28807
|
||||
[Token(Token = "0x4007087")]
|
||||
public const int CAMELLIA_128_CBC = 12;
|
||||
|
||||
// Token: 0x04007088 RID: 28808
|
||||
[Token(Token = "0x4007088")]
|
||||
public const int CAMELLIA_256_CBC = 13;
|
||||
|
||||
// Token: 0x04007089 RID: 28809
|
||||
[Token(Token = "0x4007089")]
|
||||
public const int SEED_CBC = 14;
|
||||
|
||||
// Token: 0x0400708A RID: 28810
|
||||
[Token(Token = "0x400708A")]
|
||||
public const int AES_128_CCM = 15;
|
||||
|
||||
// Token: 0x0400708B RID: 28811
|
||||
[Token(Token = "0x400708B")]
|
||||
public const int AES_128_CCM_8 = 16;
|
||||
|
||||
// Token: 0x0400708C RID: 28812
|
||||
[Token(Token = "0x400708C")]
|
||||
public const int AES_256_CCM = 17;
|
||||
|
||||
// Token: 0x0400708D RID: 28813
|
||||
[Token(Token = "0x400708D")]
|
||||
public const int AES_256_CCM_8 = 18;
|
||||
|
||||
// Token: 0x0400708E RID: 28814
|
||||
[Token(Token = "0x400708E")]
|
||||
public const int CAMELLIA_128_GCM = 19;
|
||||
|
||||
// Token: 0x0400708F RID: 28815
|
||||
[Token(Token = "0x400708F")]
|
||||
public const int CAMELLIA_256_GCM = 20;
|
||||
|
||||
// Token: 0x04007090 RID: 28816
|
||||
[Token(Token = "0x4007090")]
|
||||
public const int CHACHA20_POLY1305 = 21;
|
||||
|
||||
// Token: 0x04007091 RID: 28817
|
||||
[Token(Token = "0x4007091")]
|
||||
public const int AES_128_OCB_TAGLEN96 = 103;
|
||||
|
||||
// Token: 0x04007092 RID: 28818
|
||||
[Token(Token = "0x4007092")]
|
||||
public const int AES_256_OCB_TAGLEN96 = 104;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C15 RID: 7189
|
||||
[Token(Token = "0x2001C15")]
|
||||
public abstract class ExporterLabel
|
||||
{
|
||||
// Token: 0x0600B10D RID: 45325 RVA: 0x00264B8C File Offset: 0x00262D8C
|
||||
[Token(Token = "0x600B10D")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ExporterLabel()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007093 RID: 28819
|
||||
[Token(Token = "0x4007093")]
|
||||
public const string client_finished = "client finished";
|
||||
|
||||
// Token: 0x04007094 RID: 28820
|
||||
[Token(Token = "0x4007094")]
|
||||
public const string server_finished = "server finished";
|
||||
|
||||
// Token: 0x04007095 RID: 28821
|
||||
[Token(Token = "0x4007095")]
|
||||
public const string master_secret = "master secret";
|
||||
|
||||
// Token: 0x04007096 RID: 28822
|
||||
[Token(Token = "0x4007096")]
|
||||
public const string key_expansion = "key expansion";
|
||||
|
||||
// Token: 0x04007097 RID: 28823
|
||||
[Token(Token = "0x4007097")]
|
||||
public const string client_EAP_encryption = "client EAP encryption";
|
||||
|
||||
// Token: 0x04007098 RID: 28824
|
||||
[Token(Token = "0x4007098")]
|
||||
public const string ttls_keying_material = "ttls keying material";
|
||||
|
||||
// Token: 0x04007099 RID: 28825
|
||||
[Token(Token = "0x4007099")]
|
||||
public const string ttls_challenge = "ttls challenge";
|
||||
|
||||
// Token: 0x0400709A RID: 28826
|
||||
[Token(Token = "0x400709A")]
|
||||
public const string dtls_srtp = "EXTRACTOR-dtls_srtp";
|
||||
|
||||
// Token: 0x0400709B RID: 28827
|
||||
[Token(Token = "0x400709B")]
|
||||
public static readonly string extended_master_secret;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C16 RID: 7190
|
||||
[Token(Token = "0x2001C16")]
|
||||
public abstract class ExtensionType
|
||||
{
|
||||
// Token: 0x0600B10F RID: 45327 RVA: 0x00264BB0 File Offset: 0x00262DB0
|
||||
[Token(Token = "0x600B10F")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ExtensionType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400709C RID: 28828
|
||||
[Token(Token = "0x400709C")]
|
||||
public const int server_name = 0;
|
||||
|
||||
// Token: 0x0400709D RID: 28829
|
||||
[Token(Token = "0x400709D")]
|
||||
public const int max_fragment_length = 1;
|
||||
|
||||
// Token: 0x0400709E RID: 28830
|
||||
[Token(Token = "0x400709E")]
|
||||
public const int client_certificate_url = 2;
|
||||
|
||||
// Token: 0x0400709F RID: 28831
|
||||
[Token(Token = "0x400709F")]
|
||||
public const int trusted_ca_keys = 3;
|
||||
|
||||
// Token: 0x040070A0 RID: 28832
|
||||
[Token(Token = "0x40070A0")]
|
||||
public const int truncated_hmac = 4;
|
||||
|
||||
// Token: 0x040070A1 RID: 28833
|
||||
[Token(Token = "0x40070A1")]
|
||||
public const int status_request = 5;
|
||||
|
||||
// Token: 0x040070A2 RID: 28834
|
||||
[Token(Token = "0x40070A2")]
|
||||
public const int user_mapping = 6;
|
||||
|
||||
// Token: 0x040070A3 RID: 28835
|
||||
[Token(Token = "0x40070A3")]
|
||||
public const int client_authz = 7;
|
||||
|
||||
// Token: 0x040070A4 RID: 28836
|
||||
[Token(Token = "0x40070A4")]
|
||||
public const int server_authz = 8;
|
||||
|
||||
// Token: 0x040070A5 RID: 28837
|
||||
[Token(Token = "0x40070A5")]
|
||||
public const int cert_type = 9;
|
||||
|
||||
// Token: 0x040070A6 RID: 28838
|
||||
[Token(Token = "0x40070A6")]
|
||||
public const int supported_groups = 10;
|
||||
|
||||
// Token: 0x040070A7 RID: 28839
|
||||
[Token(Token = "0x40070A7")]
|
||||
[Obsolete]
|
||||
public const int elliptic_curves = 10;
|
||||
|
||||
// Token: 0x040070A8 RID: 28840
|
||||
[Token(Token = "0x40070A8")]
|
||||
public const int ec_point_formats = 11;
|
||||
|
||||
// Token: 0x040070A9 RID: 28841
|
||||
[Token(Token = "0x40070A9")]
|
||||
public const int srp = 12;
|
||||
|
||||
// Token: 0x040070AA RID: 28842
|
||||
[Token(Token = "0x40070AA")]
|
||||
public const int signature_algorithms = 13;
|
||||
|
||||
// Token: 0x040070AB RID: 28843
|
||||
[Token(Token = "0x40070AB")]
|
||||
public const int use_srtp = 14;
|
||||
|
||||
// Token: 0x040070AC RID: 28844
|
||||
[Token(Token = "0x40070AC")]
|
||||
public const int heartbeat = 15;
|
||||
|
||||
// Token: 0x040070AD RID: 28845
|
||||
[Token(Token = "0x40070AD")]
|
||||
public const int application_layer_protocol_negotiation = 16;
|
||||
|
||||
// Token: 0x040070AE RID: 28846
|
||||
[Token(Token = "0x40070AE")]
|
||||
public const int status_request_v2 = 17;
|
||||
|
||||
// Token: 0x040070AF RID: 28847
|
||||
[Token(Token = "0x40070AF")]
|
||||
public const int signed_certificate_timestamp = 18;
|
||||
|
||||
// Token: 0x040070B0 RID: 28848
|
||||
[Token(Token = "0x40070B0")]
|
||||
public const int client_certificate_type = 19;
|
||||
|
||||
// Token: 0x040070B1 RID: 28849
|
||||
[Token(Token = "0x40070B1")]
|
||||
public const int server_certificate_type = 20;
|
||||
|
||||
// Token: 0x040070B2 RID: 28850
|
||||
[Token(Token = "0x40070B2")]
|
||||
public const int padding = 21;
|
||||
|
||||
// Token: 0x040070B3 RID: 28851
|
||||
[Token(Token = "0x40070B3")]
|
||||
public const int encrypt_then_mac = 22;
|
||||
|
||||
// Token: 0x040070B4 RID: 28852
|
||||
[Token(Token = "0x40070B4")]
|
||||
public const int extended_master_secret = 23;
|
||||
|
||||
// Token: 0x040070B5 RID: 28853
|
||||
[Token(Token = "0x40070B5")]
|
||||
public static readonly int DRAFT_token_binding;
|
||||
|
||||
// Token: 0x040070B6 RID: 28854
|
||||
[Token(Token = "0x40070B6")]
|
||||
public const int cached_info = 25;
|
||||
|
||||
// Token: 0x040070B7 RID: 28855
|
||||
[Token(Token = "0x40070B7")]
|
||||
public const int session_ticket = 35;
|
||||
|
||||
// Token: 0x040070B8 RID: 28856
|
||||
[Token(Token = "0x40070B8")]
|
||||
public static readonly int negotiated_ff_dhe_groups;
|
||||
|
||||
// Token: 0x040070B9 RID: 28857
|
||||
[Token(Token = "0x40070B9")]
|
||||
public const int renegotiation_info = 65281;
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C17 RID: 7191
|
||||
[Token(Token = "0x2001C17")]
|
||||
public abstract class FiniteFieldDheGroup
|
||||
{
|
||||
// Token: 0x0600B111 RID: 45329 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B111")]
|
||||
[Address(RVA = "0x493E60", Offset = "0x492E60", VA = "0x180493E60")]
|
||||
public static bool IsValid(byte group)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B112 RID: 45330 RVA: 0x00264BD4 File Offset: 0x00262DD4
|
||||
[Token(Token = "0x600B112")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected FiniteFieldDheGroup()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070BA RID: 28858
|
||||
[Token(Token = "0x40070BA")]
|
||||
public const byte ffdhe2432 = 0;
|
||||
|
||||
// Token: 0x040070BB RID: 28859
|
||||
[Token(Token = "0x40070BB")]
|
||||
public const byte ffdhe3072 = 1;
|
||||
|
||||
// Token: 0x040070BC RID: 28860
|
||||
[Token(Token = "0x40070BC")]
|
||||
public const byte ffdhe4096 = 2;
|
||||
|
||||
// Token: 0x040070BD RID: 28861
|
||||
[Token(Token = "0x40070BD")]
|
||||
public const byte ffdhe6144 = 3;
|
||||
|
||||
// Token: 0x040070BE RID: 28862
|
||||
[Token(Token = "0x40070BE")]
|
||||
public const byte ffdhe8192 = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C18 RID: 7192
|
||||
[Token(Token = "0x2001C18")]
|
||||
public abstract class HandshakeType
|
||||
{
|
||||
// Token: 0x0600B113 RID: 45331 RVA: 0x00264BE8 File Offset: 0x00262DE8
|
||||
[Token(Token = "0x600B113")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected HandshakeType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070BF RID: 28863
|
||||
[Token(Token = "0x40070BF")]
|
||||
public const byte hello_request = 0;
|
||||
|
||||
// Token: 0x040070C0 RID: 28864
|
||||
[Token(Token = "0x40070C0")]
|
||||
public const byte client_hello = 1;
|
||||
|
||||
// Token: 0x040070C1 RID: 28865
|
||||
[Token(Token = "0x40070C1")]
|
||||
public const byte server_hello = 2;
|
||||
|
||||
// Token: 0x040070C2 RID: 28866
|
||||
[Token(Token = "0x40070C2")]
|
||||
public const byte certificate = 11;
|
||||
|
||||
// Token: 0x040070C3 RID: 28867
|
||||
[Token(Token = "0x40070C3")]
|
||||
public const byte server_key_exchange = 12;
|
||||
|
||||
// Token: 0x040070C4 RID: 28868
|
||||
[Token(Token = "0x40070C4")]
|
||||
public const byte certificate_request = 13;
|
||||
|
||||
// Token: 0x040070C5 RID: 28869
|
||||
[Token(Token = "0x40070C5")]
|
||||
public const byte server_hello_done = 14;
|
||||
|
||||
// Token: 0x040070C6 RID: 28870
|
||||
[Token(Token = "0x40070C6")]
|
||||
public const byte certificate_verify = 15;
|
||||
|
||||
// Token: 0x040070C7 RID: 28871
|
||||
[Token(Token = "0x40070C7")]
|
||||
public const byte client_key_exchange = 16;
|
||||
|
||||
// Token: 0x040070C8 RID: 28872
|
||||
[Token(Token = "0x40070C8")]
|
||||
public const byte finished = 20;
|
||||
|
||||
// Token: 0x040070C9 RID: 28873
|
||||
[Token(Token = "0x40070C9")]
|
||||
public const byte certificate_url = 21;
|
||||
|
||||
// Token: 0x040070CA RID: 28874
|
||||
[Token(Token = "0x40070CA")]
|
||||
public const byte certificate_status = 22;
|
||||
|
||||
// Token: 0x040070CB RID: 28875
|
||||
[Token(Token = "0x40070CB")]
|
||||
public const byte hello_verify_request = 3;
|
||||
|
||||
// Token: 0x040070CC RID: 28876
|
||||
[Token(Token = "0x40070CC")]
|
||||
public const byte supplemental_data = 23;
|
||||
|
||||
// Token: 0x040070CD RID: 28877
|
||||
[Token(Token = "0x40070CD")]
|
||||
public const byte session_ticket = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C19 RID: 7193
|
||||
[Token(Token = "0x2001C19")]
|
||||
public abstract class HashAlgorithm
|
||||
{
|
||||
// Token: 0x0600B114 RID: 45332 RVA: 0x00264BFC File Offset: 0x00262DFC
|
||||
[Token(Token = "0x600B114")]
|
||||
[Address(RVA = "0x493F30", Offset = "0x492F30", VA = "0x180493F30")]
|
||||
public static string GetName(byte hashAlgorithm)
|
||||
{
|
||||
return "none";
|
||||
}
|
||||
|
||||
// Token: 0x0600B115 RID: 45333 RVA: 0x00264C38 File Offset: 0x00262E38
|
||||
[Token(Token = "0x600B115")]
|
||||
[Address(RVA = "0x494000", Offset = "0x493000", VA = "0x180494000")]
|
||||
public static string GetText(byte hashAlgorithm)
|
||||
{
|
||||
object[] array = new object[4];
|
||||
if ("UNKNOWN" != 0)
|
||||
{
|
||||
}
|
||||
array[0] = "UNKNOWN";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[1] = "(";
|
||||
if ("(" != 0)
|
||||
{
|
||||
}
|
||||
array[2] = "(";
|
||||
if (")" != 0)
|
||||
{
|
||||
}
|
||||
array[3] = ")";
|
||||
return string.Concat(array);
|
||||
}
|
||||
|
||||
// Token: 0x0600B116 RID: 45334 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B116")]
|
||||
[Address(RVA = "0x494270", Offset = "0x493270", VA = "0x180494270")]
|
||||
public static bool IsPrivate(byte hashAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B117 RID: 45335 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B117")]
|
||||
[Address(RVA = "0x494280", Offset = "0x493280", VA = "0x180494280")]
|
||||
public static bool IsRecognized(byte hashAlgorithm)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B118 RID: 45336 RVA: 0x00264CA8 File Offset: 0x00262EA8
|
||||
[Token(Token = "0x600B118")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected HashAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070CE RID: 28878
|
||||
[Token(Token = "0x40070CE")]
|
||||
public const byte none = 0;
|
||||
|
||||
// Token: 0x040070CF RID: 28879
|
||||
[Token(Token = "0x40070CF")]
|
||||
public const byte md5 = 1;
|
||||
|
||||
// Token: 0x040070D0 RID: 28880
|
||||
[Token(Token = "0x40070D0")]
|
||||
public const byte sha1 = 2;
|
||||
|
||||
// Token: 0x040070D1 RID: 28881
|
||||
[Token(Token = "0x40070D1")]
|
||||
public const byte sha224 = 3;
|
||||
|
||||
// Token: 0x040070D2 RID: 28882
|
||||
[Token(Token = "0x40070D2")]
|
||||
public const byte sha256 = 4;
|
||||
|
||||
// Token: 0x040070D3 RID: 28883
|
||||
[Token(Token = "0x40070D3")]
|
||||
public const byte sha384 = 5;
|
||||
|
||||
// Token: 0x040070D4 RID: 28884
|
||||
[Token(Token = "0x40070D4")]
|
||||
public const byte sha512 = 6;
|
||||
}
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C1A RID: 7194
|
||||
[Token(Token = "0x2001C1A")]
|
||||
public class HeartbeatExtension
|
||||
{
|
||||
// Token: 0x0600B119 RID: 45337 RVA: 0x00264CBC File Offset: 0x00262EBC
|
||||
[Token(Token = "0x600B119")]
|
||||
[Address(RVA = "0x494420", Offset = "0x493420", VA = "0x180494420")]
|
||||
public HeartbeatExtension(byte mode)
|
||||
{
|
||||
this.mMode = mode;
|
||||
}
|
||||
|
||||
// Token: 0x17001C0B RID: 7179
|
||||
// (get) Token: 0x0600B11A RID: 45338 RVA: 0x00264CE8 File Offset: 0x00262EE8
|
||||
[Token(Token = "0x17001C0B")]
|
||||
public virtual byte Mode
|
||||
{
|
||||
[Token(Token = "0x600B11A")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mMode;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B11B RID: 45339 RVA: 0x00264CFC File Offset: 0x00262EFC
|
||||
[Token(Token = "0x600B11B")]
|
||||
[Address(RVA = "0x494290", Offset = "0x493290", VA = "0x180494290", Slot = "5")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mMode, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B11C RID: 45340 RVA: 0x00264D18 File Offset: 0x00262F18
|
||||
[Token(Token = "0x600B11C")]
|
||||
[Address(RVA = "0x494300", Offset = "0x493300", VA = "0x180494300")]
|
||||
public static HeartbeatExtension Parse(Stream input)
|
||||
{
|
||||
byte b = TlsUtilities.ReadUint8(input);
|
||||
HeartbeatExtension heartbeatExtension;
|
||||
heartbeatExtension.mMode = b;
|
||||
return heartbeatExtension;
|
||||
}
|
||||
|
||||
// Token: 0x040070D5 RID: 28885
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40070D5")]
|
||||
protected readonly byte mMode;
|
||||
}
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C1B RID: 7195
|
||||
[Token(Token = "0x2001C1B")]
|
||||
public class HeartbeatMessage
|
||||
{
|
||||
// Token: 0x0600B11D RID: 45341 RVA: 0x00264D44 File Offset: 0x00262F44
|
||||
[Token(Token = "0x600B11D")]
|
||||
[Address(RVA = "0x494930", Offset = "0x493930", VA = "0x180494930")]
|
||||
public HeartbeatMessage(byte type, byte[] payload, int paddingLength)
|
||||
{
|
||||
do
|
||||
{
|
||||
base..ctor();
|
||||
}
|
||||
while (payload == 0 || payload.Length >= 65536);
|
||||
this.mType = type;
|
||||
this.mPaddingLength = paddingLength;
|
||||
this.mPayload = payload;
|
||||
}
|
||||
|
||||
// Token: 0x0600B11E RID: 45342 RVA: 0x00264D90 File Offset: 0x00262F90
|
||||
[Token(Token = "0x600B11E")]
|
||||
[Address(RVA = "0x4944C0", Offset = "0x4934C0", VA = "0x1804944C0", Slot = "4")]
|
||||
public virtual void Encode(TlsContext context, Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mType, output);
|
||||
TlsUtilities.CheckUint16(this.mPayload.Length);
|
||||
TlsUtilities.WriteUint16(this.mPayload.Length, output);
|
||||
byte[] array = this.mPayload;
|
||||
int num = output.ReadByte();
|
||||
byte[] array2 = new byte[this.mPaddingLength];
|
||||
int num2 = output.ReadByte();
|
||||
}
|
||||
|
||||
// Token: 0x0600B11F RID: 45343 RVA: 0x00264DF4 File Offset: 0x00262FF4
|
||||
[Token(Token = "0x600B11F")]
|
||||
[Address(RVA = "0x494620", Offset = "0x493620", VA = "0x180494620")]
|
||||
public static HeartbeatMessage Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B11F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.HeartbeatMessage BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.HeartbeatMessage::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_69:
|
||||
stloc:TlsFatalAlert(var_7_70, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_8)))
|
||||
}
|
||||
|
||||
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: 0x040070D6 RID: 28886
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x40070D6")]
|
||||
protected readonly byte mType;
|
||||
|
||||
// Token: 0x040070D7 RID: 28887
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x40070D7")]
|
||||
protected readonly byte[] mPayload;
|
||||
|
||||
// Token: 0x040070D8 RID: 28888
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x40070D8")]
|
||||
protected readonly int mPaddingLength;
|
||||
|
||||
// Token: 0x02001C1C RID: 7196
|
||||
[Token(Token = "0x2001C1C")]
|
||||
internal class PayloadBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600B120 RID: 45344 RVA: 0x00264E74 File Offset: 0x00263074
|
||||
[Token(Token = "0x600B120")]
|
||||
[Address(RVA = "0x4951D0", Offset = "0x4941D0", VA = "0x1804951D0")]
|
||||
internal byte[] ToTruncatedByteArray(int payloadLength)
|
||||
{
|
||||
bool canWrite = this.CanWrite;
|
||||
byte[] array;
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B121 RID: 45345 RVA: 0x00264E8C File Offset: 0x0026308C
|
||||
[Token(Token = "0x600B121")]
|
||||
[Address(RVA = "0x495270", Offset = "0x494270", VA = "0x180495270")]
|
||||
public PayloadBuffer()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C1D RID: 7197
|
||||
[Token(Token = "0x2001C1D")]
|
||||
public abstract class HeartbeatMessageType
|
||||
{
|
||||
// Token: 0x0600B122 RID: 45346 RVA: 0x00264EA0 File Offset: 0x002630A0
|
||||
[Token(Token = "0x600B122")]
|
||||
[Address(RVA = "0x493DC0", Offset = "0x492DC0", VA = "0x180493DC0")]
|
||||
public static bool IsValid(byte heartbeatMessageType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B123 RID: 45347 RVA: 0x00264EB0 File Offset: 0x002630B0
|
||||
[Token(Token = "0x600B123")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected HeartbeatMessageType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070D9 RID: 28889
|
||||
[Token(Token = "0x40070D9")]
|
||||
public const byte heartbeat_request = 1;
|
||||
|
||||
// Token: 0x040070DA RID: 28890
|
||||
[Token(Token = "0x40070DA")]
|
||||
public const byte heartbeat_response = 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C1E RID: 7198
|
||||
[Token(Token = "0x2001C1E")]
|
||||
public abstract class HeartbeatMode
|
||||
{
|
||||
// Token: 0x0600B124 RID: 45348 RVA: 0x00264EC4 File Offset: 0x002630C4
|
||||
[Token(Token = "0x600B124")]
|
||||
[Address(RVA = "0x493DC0", Offset = "0x492DC0", VA = "0x180493DC0")]
|
||||
public static bool IsValid(byte heartbeatMode)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B125 RID: 45349 RVA: 0x00264ED4 File Offset: 0x002630D4
|
||||
[Token(Token = "0x600B125")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected HeartbeatMode()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070DB RID: 28891
|
||||
[Token(Token = "0x40070DB")]
|
||||
public const byte peer_allowed_to_send = 1;
|
||||
|
||||
// Token: 0x040070DC RID: 28892
|
||||
[Token(Token = "0x40070DC")]
|
||||
public const byte peer_not_allowed_to_send = 2;
|
||||
}
|
||||
}
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C1F RID: 7199
|
||||
[Token(Token = "0x2001C1F")]
|
||||
public abstract class KeyExchangeAlgorithm
|
||||
{
|
||||
// Token: 0x0600B126 RID: 45350 RVA: 0x00264EE8 File Offset: 0x002630E8
|
||||
[Token(Token = "0x600B126")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected KeyExchangeAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070DD RID: 28893
|
||||
[Token(Token = "0x40070DD")]
|
||||
public const int NULL = 0;
|
||||
|
||||
// Token: 0x040070DE RID: 28894
|
||||
[Token(Token = "0x40070DE")]
|
||||
public const int RSA = 1;
|
||||
|
||||
// Token: 0x040070DF RID: 28895
|
||||
[Token(Token = "0x40070DF")]
|
||||
public const int RSA_EXPORT = 2;
|
||||
|
||||
// Token: 0x040070E0 RID: 28896
|
||||
[Token(Token = "0x40070E0")]
|
||||
public const int DHE_DSS = 3;
|
||||
|
||||
// Token: 0x040070E1 RID: 28897
|
||||
[Token(Token = "0x40070E1")]
|
||||
public const int DHE_DSS_EXPORT = 4;
|
||||
|
||||
// Token: 0x040070E2 RID: 28898
|
||||
[Token(Token = "0x40070E2")]
|
||||
public const int DHE_RSA = 5;
|
||||
|
||||
// Token: 0x040070E3 RID: 28899
|
||||
[Token(Token = "0x40070E3")]
|
||||
public const int DHE_RSA_EXPORT = 6;
|
||||
|
||||
// Token: 0x040070E4 RID: 28900
|
||||
[Token(Token = "0x40070E4")]
|
||||
public const int DH_DSS = 7;
|
||||
|
||||
// Token: 0x040070E5 RID: 28901
|
||||
[Token(Token = "0x40070E5")]
|
||||
public const int DH_DSS_EXPORT = 8;
|
||||
|
||||
// Token: 0x040070E6 RID: 28902
|
||||
[Token(Token = "0x40070E6")]
|
||||
public const int DH_RSA = 9;
|
||||
|
||||
// Token: 0x040070E7 RID: 28903
|
||||
[Token(Token = "0x40070E7")]
|
||||
public const int DH_RSA_EXPORT = 10;
|
||||
|
||||
// Token: 0x040070E8 RID: 28904
|
||||
[Token(Token = "0x40070E8")]
|
||||
public const int DH_anon = 11;
|
||||
|
||||
// Token: 0x040070E9 RID: 28905
|
||||
[Token(Token = "0x40070E9")]
|
||||
public const int DH_anon_EXPORT = 12;
|
||||
|
||||
// Token: 0x040070EA RID: 28906
|
||||
[Token(Token = "0x40070EA")]
|
||||
public const int PSK = 13;
|
||||
|
||||
// Token: 0x040070EB RID: 28907
|
||||
[Token(Token = "0x40070EB")]
|
||||
public const int DHE_PSK = 14;
|
||||
|
||||
// Token: 0x040070EC RID: 28908
|
||||
[Token(Token = "0x40070EC")]
|
||||
public const int RSA_PSK = 15;
|
||||
|
||||
// Token: 0x040070ED RID: 28909
|
||||
[Token(Token = "0x40070ED")]
|
||||
public const int ECDH_ECDSA = 16;
|
||||
|
||||
// Token: 0x040070EE RID: 28910
|
||||
[Token(Token = "0x40070EE")]
|
||||
public const int ECDHE_ECDSA = 17;
|
||||
|
||||
// Token: 0x040070EF RID: 28911
|
||||
[Token(Token = "0x40070EF")]
|
||||
public const int ECDH_RSA = 18;
|
||||
|
||||
// Token: 0x040070F0 RID: 28912
|
||||
[Token(Token = "0x40070F0")]
|
||||
public const int ECDHE_RSA = 19;
|
||||
|
||||
// Token: 0x040070F1 RID: 28913
|
||||
[Token(Token = "0x40070F1")]
|
||||
public const int ECDH_anon = 20;
|
||||
|
||||
// Token: 0x040070F2 RID: 28914
|
||||
[Token(Token = "0x40070F2")]
|
||||
public const int SRP = 21;
|
||||
|
||||
// Token: 0x040070F3 RID: 28915
|
||||
[Token(Token = "0x40070F3")]
|
||||
public const int SRP_DSS = 22;
|
||||
|
||||
// Token: 0x040070F4 RID: 28916
|
||||
[Token(Token = "0x40070F4")]
|
||||
public const int SRP_RSA = 23;
|
||||
|
||||
// Token: 0x040070F5 RID: 28917
|
||||
[Token(Token = "0x40070F5")]
|
||||
public const int ECDHE_PSK = 24;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C20 RID: 7200
|
||||
[Token(Token = "0x2001C20")]
|
||||
public abstract class MacAlgorithm
|
||||
{
|
||||
// Token: 0x0600B127 RID: 45351 RVA: 0x00264EFC File Offset: 0x002630FC
|
||||
[Token(Token = "0x600B127")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected MacAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070F6 RID: 28918
|
||||
[Token(Token = "0x40070F6")]
|
||||
public const int cls_null = 0;
|
||||
|
||||
// Token: 0x040070F7 RID: 28919
|
||||
[Token(Token = "0x40070F7")]
|
||||
public const int md5 = 1;
|
||||
|
||||
// Token: 0x040070F8 RID: 28920
|
||||
[Token(Token = "0x40070F8")]
|
||||
public const int sha = 2;
|
||||
|
||||
// Token: 0x040070F9 RID: 28921
|
||||
[Token(Token = "0x40070F9")]
|
||||
public const int hmac_md5 = 1;
|
||||
|
||||
// Token: 0x040070FA RID: 28922
|
||||
[Token(Token = "0x40070FA")]
|
||||
public const int hmac_sha1 = 2;
|
||||
|
||||
// Token: 0x040070FB RID: 28923
|
||||
[Token(Token = "0x40070FB")]
|
||||
public const int hmac_sha256 = 3;
|
||||
|
||||
// Token: 0x040070FC RID: 28924
|
||||
[Token(Token = "0x40070FC")]
|
||||
public const int hmac_sha384 = 4;
|
||||
|
||||
// Token: 0x040070FD RID: 28925
|
||||
[Token(Token = "0x40070FD")]
|
||||
public const int hmac_sha512 = 5;
|
||||
}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C21 RID: 7201
|
||||
[Token(Token = "0x2001C21")]
|
||||
public abstract class MaxFragmentLength
|
||||
{
|
||||
// Token: 0x0600B128 RID: 45352 RVA: 0x00264F10 File Offset: 0x00263110
|
||||
[Token(Token = "0x600B128")]
|
||||
[Address(RVA = "0x494A70", Offset = "0x493A70", VA = "0x180494A70")]
|
||||
public static bool IsValid(byte maxFragmentLength)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B129 RID: 45353 RVA: 0x00264F20 File Offset: 0x00263120
|
||||
[Token(Token = "0x600B129")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected MaxFragmentLength()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x040070FE RID: 28926
|
||||
[Token(Token = "0x40070FE")]
|
||||
public const byte pow2_9 = 1;
|
||||
|
||||
// Token: 0x040070FF RID: 28927
|
||||
[Token(Token = "0x40070FF")]
|
||||
public const byte pow2_10 = 2;
|
||||
|
||||
// Token: 0x04007100 RID: 28928
|
||||
[Token(Token = "0x4007100")]
|
||||
public const byte pow2_11 = 3;
|
||||
|
||||
// Token: 0x04007101 RID: 28929
|
||||
[Token(Token = "0x4007101")]
|
||||
public const byte pow2_12 = 4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C22 RID: 7202
|
||||
[Token(Token = "0x2001C22")]
|
||||
public abstract class NameType
|
||||
{
|
||||
// Token: 0x0600B12A RID: 45354 RVA: 0x00264F34 File Offset: 0x00263134
|
||||
[Token(Token = "0x600B12A")]
|
||||
[Address(RVA = "0x494A80", Offset = "0x493A80", VA = "0x180494A80")]
|
||||
public static bool IsValid(byte nameType)
|
||||
{
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x0600B12B RID: 45355 RVA: 0x00264F44 File Offset: 0x00263144
|
||||
[Token(Token = "0x600B12B")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected NameType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007102 RID: 28930
|
||||
[Token(Token = "0x4007102")]
|
||||
public const byte host_name = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C23 RID: 7203
|
||||
[Token(Token = "0x2001C23")]
|
||||
public abstract class NamedCurve
|
||||
{
|
||||
// Token: 0x0600B12C RID: 45356 RVA: 0x00264F58 File Offset: 0x00263158
|
||||
[Token(Token = "0x600B12C")]
|
||||
[Address(RVA = "0x494A90", Offset = "0x493A90", VA = "0x180494A90")]
|
||||
public static bool IsValid(int namedCurve)
|
||||
{
|
||||
if (namedCurve - 1 <= 27)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (namedCurve < 65281)
|
||||
{
|
||||
}
|
||||
return namedCurve <= 65282;
|
||||
}
|
||||
|
||||
// Token: 0x0600B12D RID: 45357 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B12D")]
|
||||
[Address(RVA = "0x494AB0", Offset = "0x493AB0", VA = "0x180494AB0")]
|
||||
public static bool RefersToASpecificNamedCurve(int namedCurve)
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B12E RID: 45358 RVA: 0x00264F84 File Offset: 0x00263184
|
||||
[Token(Token = "0x600B12E")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected NamedCurve()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007103 RID: 28931
|
||||
[Token(Token = "0x4007103")]
|
||||
public const int sect163k1 = 1;
|
||||
|
||||
// Token: 0x04007104 RID: 28932
|
||||
[Token(Token = "0x4007104")]
|
||||
public const int sect163r1 = 2;
|
||||
|
||||
// Token: 0x04007105 RID: 28933
|
||||
[Token(Token = "0x4007105")]
|
||||
public const int sect163r2 = 3;
|
||||
|
||||
// Token: 0x04007106 RID: 28934
|
||||
[Token(Token = "0x4007106")]
|
||||
public const int sect193r1 = 4;
|
||||
|
||||
// Token: 0x04007107 RID: 28935
|
||||
[Token(Token = "0x4007107")]
|
||||
public const int sect193r2 = 5;
|
||||
|
||||
// Token: 0x04007108 RID: 28936
|
||||
[Token(Token = "0x4007108")]
|
||||
public const int sect233k1 = 6;
|
||||
|
||||
// Token: 0x04007109 RID: 28937
|
||||
[Token(Token = "0x4007109")]
|
||||
public const int sect233r1 = 7;
|
||||
|
||||
// Token: 0x0400710A RID: 28938
|
||||
[Token(Token = "0x400710A")]
|
||||
public const int sect239k1 = 8;
|
||||
|
||||
// Token: 0x0400710B RID: 28939
|
||||
[Token(Token = "0x400710B")]
|
||||
public const int sect283k1 = 9;
|
||||
|
||||
// Token: 0x0400710C RID: 28940
|
||||
[Token(Token = "0x400710C")]
|
||||
public const int sect283r1 = 10;
|
||||
|
||||
// Token: 0x0400710D RID: 28941
|
||||
[Token(Token = "0x400710D")]
|
||||
public const int sect409k1 = 11;
|
||||
|
||||
// Token: 0x0400710E RID: 28942
|
||||
[Token(Token = "0x400710E")]
|
||||
public const int sect409r1 = 12;
|
||||
|
||||
// Token: 0x0400710F RID: 28943
|
||||
[Token(Token = "0x400710F")]
|
||||
public const int sect571k1 = 13;
|
||||
|
||||
// Token: 0x04007110 RID: 28944
|
||||
[Token(Token = "0x4007110")]
|
||||
public const int sect571r1 = 14;
|
||||
|
||||
// Token: 0x04007111 RID: 28945
|
||||
[Token(Token = "0x4007111")]
|
||||
public const int secp160k1 = 15;
|
||||
|
||||
// Token: 0x04007112 RID: 28946
|
||||
[Token(Token = "0x4007112")]
|
||||
public const int secp160r1 = 16;
|
||||
|
||||
// Token: 0x04007113 RID: 28947
|
||||
[Token(Token = "0x4007113")]
|
||||
public const int secp160r2 = 17;
|
||||
|
||||
// Token: 0x04007114 RID: 28948
|
||||
[Token(Token = "0x4007114")]
|
||||
public const int secp192k1 = 18;
|
||||
|
||||
// Token: 0x04007115 RID: 28949
|
||||
[Token(Token = "0x4007115")]
|
||||
public const int secp192r1 = 19;
|
||||
|
||||
// Token: 0x04007116 RID: 28950
|
||||
[Token(Token = "0x4007116")]
|
||||
public const int secp224k1 = 20;
|
||||
|
||||
// Token: 0x04007117 RID: 28951
|
||||
[Token(Token = "0x4007117")]
|
||||
public const int secp224r1 = 21;
|
||||
|
||||
// Token: 0x04007118 RID: 28952
|
||||
[Token(Token = "0x4007118")]
|
||||
public const int secp256k1 = 22;
|
||||
|
||||
// Token: 0x04007119 RID: 28953
|
||||
[Token(Token = "0x4007119")]
|
||||
public const int secp256r1 = 23;
|
||||
|
||||
// Token: 0x0400711A RID: 28954
|
||||
[Token(Token = "0x400711A")]
|
||||
public const int secp384r1 = 24;
|
||||
|
||||
// Token: 0x0400711B RID: 28955
|
||||
[Token(Token = "0x400711B")]
|
||||
public const int secp521r1 = 25;
|
||||
|
||||
// Token: 0x0400711C RID: 28956
|
||||
[Token(Token = "0x400711C")]
|
||||
public const int brainpoolP256r1 = 26;
|
||||
|
||||
// Token: 0x0400711D RID: 28957
|
||||
[Token(Token = "0x400711D")]
|
||||
public const int brainpoolP384r1 = 27;
|
||||
|
||||
// Token: 0x0400711E RID: 28958
|
||||
[Token(Token = "0x400711E")]
|
||||
public const int brainpoolP512r1 = 28;
|
||||
|
||||
// Token: 0x0400711F RID: 28959
|
||||
[Token(Token = "0x400711F")]
|
||||
public const int arbitrary_explicit_prime_curves = 65281;
|
||||
|
||||
// Token: 0x04007120 RID: 28960
|
||||
[Token(Token = "0x4007120")]
|
||||
public const int arbitrary_explicit_char2_curves = 65282;
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C24 RID: 7204
|
||||
[Token(Token = "0x2001C24")]
|
||||
public class NewSessionTicket
|
||||
{
|
||||
// Token: 0x0600B12F RID: 45359 RVA: 0x00264F98 File Offset: 0x00263198
|
||||
[Token(Token = "0x600B12F")]
|
||||
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
|
||||
public NewSessionTicket(long ticketLifetimeHint, byte[] ticket)
|
||||
{
|
||||
this.mTicketLifetimeHint = ticketLifetimeHint;
|
||||
this.mTicket = ticket;
|
||||
}
|
||||
|
||||
// Token: 0x17001C0C RID: 7180
|
||||
// (get) Token: 0x0600B130 RID: 45360 RVA: 0x00264FBC File Offset: 0x002631BC
|
||||
[Token(Token = "0x17001C0C")]
|
||||
public virtual long TicketLifetimeHint
|
||||
{
|
||||
[Token(Token = "0x600B130")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mTicketLifetimeHint;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C0D RID: 7181
|
||||
// (get) Token: 0x0600B131 RID: 45361 RVA: 0x00264FD0 File Offset: 0x002631D0
|
||||
[Token(Token = "0x17001C0D")]
|
||||
public virtual byte[] Ticket
|
||||
{
|
||||
[Token(Token = "0x600B131")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mTicket;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B132 RID: 45362 RVA: 0x00264FE4 File Offset: 0x002631E4
|
||||
[Token(Token = "0x600B132")]
|
||||
[Address(RVA = "0x494AC0", Offset = "0x493AC0", VA = "0x180494AC0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsUtilities.WriteUint32(this.mTicketLifetimeHint, output);
|
||||
TlsUtilities.WriteOpaque16(this.mTicket, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B133 RID: 45363 RVA: 0x0026500C File Offset: 0x0026320C
|
||||
[Token(Token = "0x600B133")]
|
||||
[Address(RVA = "0x494B40", Offset = "0x493B40", VA = "0x180494B40")]
|
||||
public static NewSessionTicket Parse(Stream input)
|
||||
{
|
||||
long num = TlsUtilities.ReadUint32(input);
|
||||
byte[] array = TlsUtilities.ReadOpaque16(input);
|
||||
NewSessionTicket newSessionTicket;
|
||||
newSessionTicket.mTicketLifetimeHint = num;
|
||||
newSessionTicket.mTicket = array;
|
||||
return newSessionTicket;
|
||||
}
|
||||
|
||||
// Token: 0x04007121 RID: 28961
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007121")]
|
||||
protected readonly long mTicketLifetimeHint;
|
||||
|
||||
// Token: 0x04007122 RID: 28962
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007122")]
|
||||
protected readonly byte[] mTicket;
|
||||
}
|
||||
}
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C25 RID: 7205
|
||||
[Token(Token = "0x2001C25")]
|
||||
public class OcspStatusRequest
|
||||
{
|
||||
// Token: 0x0600B134 RID: 45364 RVA: 0x00265038 File Offset: 0x00263238
|
||||
[Token(Token = "0x600B134")]
|
||||
[Address(RVA = "0x417DD0", Offset = "0x416DD0", VA = "0x180417DD0")]
|
||||
public OcspStatusRequest(IList responderIDList, X509Extensions requestExtensions)
|
||||
{
|
||||
this.mResponderIDList = responderIDList;
|
||||
this.mRequestExtensions = requestExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x17001C0E RID: 7182
|
||||
// (get) Token: 0x0600B135 RID: 45365 RVA: 0x0026505C File Offset: 0x0026325C
|
||||
[Token(Token = "0x17001C0E")]
|
||||
public virtual IList ResponderIDList
|
||||
{
|
||||
[Token(Token = "0x600B135")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mResponderIDList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C0F RID: 7183
|
||||
// (get) Token: 0x0600B136 RID: 45366 RVA: 0x00265070 File Offset: 0x00263270
|
||||
[Token(Token = "0x17001C0F")]
|
||||
public virtual X509Extensions RequestExtensions
|
||||
{
|
||||
[Token(Token = "0x600B136")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mRequestExtensions;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B137 RID: 45367 RVA: 0x00265084 File Offset: 0x00263284
|
||||
[Token(Token = "0x600B137")]
|
||||
[Address(RVA = "0x494BE0", Offset = "0x493BE0", VA = "0x180494BE0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
if (this.mResponderIDList != 0)
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
IList list = this.mResponderIDList;
|
||||
int num = 0;
|
||||
if (num < memoryStream)
|
||||
{
|
||||
IList list2 = this.mResponderIDList;
|
||||
if (num < list)
|
||||
{
|
||||
num += num;
|
||||
num++;
|
||||
}
|
||||
byte[] array;
|
||||
TlsUtilities.WriteOpaque16(array, memoryStream);
|
||||
IList list3 = this.mResponderIDList;
|
||||
num++;
|
||||
memoryStream += memoryStream;
|
||||
}
|
||||
TlsUtilities.CheckUint16(memoryStream.CanWrite ? 1L : 0L);
|
||||
TlsUtilities.WriteUint16(memoryStream.CanWrite ? 1 : 0, output);
|
||||
Streams.WriteBufTo(memoryStream, output);
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
X509Extensions x509Extensions = this.mRequestExtensions;
|
||||
if (x509Extensions != 0)
|
||||
{
|
||||
byte[] encoded = x509Extensions.GetEncoded("DER");
|
||||
TlsUtilities.CheckUint16(encoded.Length);
|
||||
TlsUtilities.WriteUint16(encoded.Length, output);
|
||||
int num2 = output.ReadByte();
|
||||
}
|
||||
TlsUtilities.WriteUint16(0, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B138 RID: 45368 RVA: 0x00265148 File Offset: 0x00263348
|
||||
[Token(Token = "0x600B138")]
|
||||
[Address(RVA = "0x494F00", Offset = "0x493F00", VA = "0x180494F00")]
|
||||
public static OcspStatusRequest Parse(Stream input)
|
||||
{
|
||||
IList list = Platform.CreateArrayList();
|
||||
int num = TlsUtilities.ReadUint16(input);
|
||||
int num2 = 0;
|
||||
if (num > 0)
|
||||
{
|
||||
int num3;
|
||||
MemoryStream memoryStream = new MemoryStream(TlsUtilities.ReadFully(num, input), num3 != 0);
|
||||
num3 = 0;
|
||||
ResponderID instance = ResponderID.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(memoryStream)));
|
||||
if (num2 < num3)
|
||||
{
|
||||
num2 += num2;
|
||||
num2++;
|
||||
}
|
||||
long length = memoryStream.Length;
|
||||
}
|
||||
int num4 = TlsUtilities.ReadUint16(input);
|
||||
num = num4;
|
||||
X509Extensions instance2;
|
||||
if (num4 > 0)
|
||||
{
|
||||
instance2 = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadFully(num, input)));
|
||||
}
|
||||
OcspStatusRequest ocspStatusRequest;
|
||||
ocspStatusRequest.mResponderIDList = list;
|
||||
ocspStatusRequest.mRequestExtensions = instance2;
|
||||
return ocspStatusRequest;
|
||||
}
|
||||
|
||||
// Token: 0x04007123 RID: 28963
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007123")]
|
||||
protected readonly IList mResponderIDList;
|
||||
|
||||
// Token: 0x04007124 RID: 28964
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007124")]
|
||||
protected readonly X509Extensions mRequestExtensions;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C26 RID: 7206
|
||||
[Token(Token = "0x2001C26")]
|
||||
public abstract class PrfAlgorithm
|
||||
{
|
||||
// Token: 0x0600B139 RID: 45369 RVA: 0x002651EC File Offset: 0x002633EC
|
||||
[Token(Token = "0x600B139")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected PrfAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007125 RID: 28965
|
||||
[Token(Token = "0x4007125")]
|
||||
public const int tls_prf_legacy = 0;
|
||||
|
||||
// Token: 0x04007126 RID: 28966
|
||||
[Token(Token = "0x4007126")]
|
||||
public const int tls_prf_sha256 = 1;
|
||||
|
||||
// Token: 0x04007127 RID: 28967
|
||||
[Token(Token = "0x4007127")]
|
||||
public const int tls_prf_sha384 = 2;
|
||||
}
|
||||
}
|
||||
+312
@@ -0,0 +1,312 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C27 RID: 7207
|
||||
[Token(Token = "0x2001C27")]
|
||||
public sealed class ProtocolVersion
|
||||
{
|
||||
// Token: 0x0600B13A RID: 45370 RVA: 0x00265200 File Offset: 0x00263400
|
||||
[Token(Token = "0x600B13A")]
|
||||
[Address(RVA = "0x495A70", Offset = "0x494A70", VA = "0x180495A70")]
|
||||
private ProtocolVersion(int v, string name)
|
||||
{
|
||||
this.name = name;
|
||||
this.version = v;
|
||||
}
|
||||
|
||||
// Token: 0x17001C10 RID: 7184
|
||||
// (get) Token: 0x0600B13B RID: 45371 RVA: 0x00265224 File Offset: 0x00263424
|
||||
[Token(Token = "0x17001C10")]
|
||||
public int FullVersion
|
||||
{
|
||||
[Token(Token = "0x600B13B")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C11 RID: 7185
|
||||
// (get) Token: 0x0600B13C RID: 45372 RVA: 0x00265238 File Offset: 0x00263438
|
||||
[Token(Token = "0x17001C11")]
|
||||
public int MajorVersion
|
||||
{
|
||||
[Token(Token = "0x600B13C")]
|
||||
[Address(RVA = "0x495B50", Offset = "0x494B50", VA = "0x180495B50")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C12 RID: 7186
|
||||
// (get) Token: 0x0600B13D RID: 45373 RVA: 0x0026524C File Offset: 0x0026344C
|
||||
[Token(Token = "0x17001C12")]
|
||||
public int MinorVersion
|
||||
{
|
||||
[Token(Token = "0x600B13D")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0")]
|
||||
get
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C13 RID: 7187
|
||||
// (get) Token: 0x0600B13E RID: 45374 RVA: 0x00265260 File Offset: 0x00263460
|
||||
[Token(Token = "0x17001C13")]
|
||||
public bool IsDtls
|
||||
{
|
||||
[Token(Token = "0x600B13E")]
|
||||
[Address(RVA = "0x495AB0", Offset = "0x494AB0", VA = "0x180495AB0")]
|
||||
get
|
||||
{
|
||||
return this.version == 65024;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C14 RID: 7188
|
||||
// (get) Token: 0x0600B13F RID: 45375 RVA: 0x0026527C File Offset: 0x0026347C
|
||||
[Token(Token = "0x17001C14")]
|
||||
public bool IsSsl
|
||||
{
|
||||
[Token(Token = "0x600B13F")]
|
||||
[Address(RVA = "0x495AD0", Offset = "0x494AD0", VA = "0x180495AD0")]
|
||||
get
|
||||
{
|
||||
return this == "{il2cpp field on {'constant10' (constant value of type Cpp2IL.Core.Analysis.ResultModels.StaticFieldsPtr)}, offset 0x0}";
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C15 RID: 7189
|
||||
// (get) Token: 0x0600B140 RID: 45376 RVA: 0x00265294 File Offset: 0x00263494
|
||||
[Token(Token = "0x17001C15")]
|
||||
public bool IsTls
|
||||
{
|
||||
[Token(Token = "0x600B140")]
|
||||
[Address(RVA = "0x495B30", Offset = "0x494B30", VA = "0x180495B30")]
|
||||
get
|
||||
{
|
||||
return this.version == 768;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B141 RID: 45377 RVA: 0x002652B0 File Offset: 0x002634B0
|
||||
[Token(Token = "0x600B141")]
|
||||
[Address(RVA = "0x495340", Offset = "0x494340", VA = "0x180495340")]
|
||||
public ProtocolVersion GetEquivalentTLSVersion()
|
||||
{
|
||||
if (this.version == 65024)
|
||||
{
|
||||
return ProtocolVersion.TLSv12;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B142 RID: 45378 RVA: 0x002652D8 File Offset: 0x002634D8
|
||||
[Token(Token = "0x600B142")]
|
||||
[Address(RVA = "0x495810", Offset = "0x494810", VA = "0x180495810")]
|
||||
public bool IsEqualOrEarlierVersionOf(ProtocolVersion version)
|
||||
{
|
||||
int num = version.version;
|
||||
int num2 = this.version;
|
||||
if (num2 == num)
|
||||
{
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 -= num;
|
||||
if (num2 == 254)
|
||||
{
|
||||
return num2 <= 0;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B143 RID: 45379 RVA: 0x00265318 File Offset: 0x00263518
|
||||
[Token(Token = "0x600B143")]
|
||||
[Address(RVA = "0x495870", Offset = "0x494870", VA = "0x180495870")]
|
||||
public bool IsLaterVersionOf(ProtocolVersion version)
|
||||
{
|
||||
int num = version.version;
|
||||
int num2 = this.version;
|
||||
if (num2 == num)
|
||||
{
|
||||
num = num2;
|
||||
num2 = num;
|
||||
num2 -= num;
|
||||
if (num2 == 254)
|
||||
{
|
||||
return num2 > 0;
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B144 RID: 45380 RVA: 0x00265358 File Offset: 0x00263558
|
||||
[Token(Token = "0x600B144")]
|
||||
[Address(RVA = "0x4952A0", Offset = "0x4942A0", VA = "0x1804952A0", Slot = "0")]
|
||||
public override bool Equals(object other)
|
||||
{
|
||||
while (this != other)
|
||||
{
|
||||
if (other != 0 && other != 0)
|
||||
{
|
||||
if (other != 0)
|
||||
{
|
||||
return this.TLSv11 == other;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Token: 0x0600B145 RID: 45381 RVA: 0x00265384 File Offset: 0x00263584
|
||||
[Token(Token = "0x600B145")]
|
||||
[Address(RVA = "0x495280", Offset = "0x494280", VA = "0x180495280")]
|
||||
public bool Equals(ProtocolVersion other)
|
||||
{
|
||||
if (other == 0)
|
||||
{
|
||||
}
|
||||
int num = other.version;
|
||||
return this.TLSv11 == num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B146 RID: 45382 RVA: 0x002653A8 File Offset: 0x002635A8
|
||||
[Token(Token = "0x600B146")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return this.version;
|
||||
}
|
||||
|
||||
// Token: 0x0600B147 RID: 45383 RVA: 0x002653BC File Offset: 0x002635BC
|
||||
[Token(Token = "0x600B147")]
|
||||
[Address(RVA = "0x495540", Offset = "0x494540", VA = "0x180495540")]
|
||||
public static ProtocolVersion Get(int major, int minor)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B147)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ProtocolVersion::Get(System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_5A:
|
||||
stloc:TlsFatalAlert(var_1_60, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_2)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B148 RID: 45384 RVA: 0x0026542C File Offset: 0x0026362C
|
||||
[Token(Token = "0x600B148")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "3")]
|
||||
public override string ToString()
|
||||
{
|
||||
return this.name;
|
||||
}
|
||||
|
||||
// Token: 0x0600B149 RID: 45385 RVA: 0x00265440 File Offset: 0x00263640
|
||||
[Token(Token = "0x600B149")]
|
||||
[Address(RVA = "0x495410", Offset = "0x494410", VA = "0x180495410")]
|
||||
private static ProtocolVersion GetUnknownVersion(int major, int minor, string prefix)
|
||||
{
|
||||
TlsUtilities.CheckUint8(major);
|
||||
TlsUtilities.CheckUint8(major);
|
||||
string text = Platform.ToUpperInvariant(Convert.ToString(major, 16).Substring(1));
|
||||
int num = 0;
|
||||
string text2 = prefix + " 0x" + text;
|
||||
int num2 = 0;
|
||||
ProtocolVersion protocolVersion;
|
||||
protocolVersion.FieldGetter(num2, text, num);
|
||||
protocolVersion.version = major;
|
||||
protocolVersion.name = text2;
|
||||
return protocolVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14A RID: 45386 RVA: 0x002654A0 File Offset: 0x002636A0
|
||||
// Note: this type is marked as 'beforefieldinit'.
|
||||
[Token(Token = "0x600B14A")]
|
||||
[Address(RVA = "0x4958D0", Offset = "0x4948D0", VA = "0x1804958D0")]
|
||||
static ProtocolVersion()
|
||||
{
|
||||
ProtocolVersion protocolVersion;
|
||||
protocolVersion.version = (int)((ulong)768L);
|
||||
protocolVersion.name = "SSL 3.0";
|
||||
ProtocolVersion.SSLv3 = protocolVersion;
|
||||
ProtocolVersion protocolVersion2;
|
||||
protocolVersion2.version = (int)((ulong)769L);
|
||||
protocolVersion2.name = "TLS 1.0";
|
||||
ProtocolVersion.TLSv10 = protocolVersion2;
|
||||
ProtocolVersion protocolVersion3;
|
||||
protocolVersion3.version = (int)((ulong)770L);
|
||||
protocolVersion3.name = "TLS 1.1";
|
||||
ProtocolVersion.TLSv11 = protocolVersion3;
|
||||
ProtocolVersion protocolVersion4;
|
||||
protocolVersion4.version = (int)((ulong)771L);
|
||||
protocolVersion4.name = "TLS 1.2";
|
||||
ProtocolVersion.TLSv12 = protocolVersion4;
|
||||
ProtocolVersion protocolVersion5;
|
||||
protocolVersion5.version = (int)((ulong)65279L);
|
||||
protocolVersion5.name = "DTLS 1.0";
|
||||
ProtocolVersion.DTLSv10 = protocolVersion5;
|
||||
ProtocolVersion protocolVersion6;
|
||||
protocolVersion6.name = "DTLS 1.2";
|
||||
protocolVersion6.version = (int)((ulong)65277L);
|
||||
ProtocolVersion.DTLSv12 = protocolVersion6;
|
||||
}
|
||||
|
||||
// Token: 0x04007128 RID: 28968
|
||||
[Token(Token = "0x4007128")]
|
||||
public static readonly ProtocolVersion SSLv3;
|
||||
|
||||
// Token: 0x04007129 RID: 28969
|
||||
[Token(Token = "0x4007129")]
|
||||
public static readonly ProtocolVersion TLSv10;
|
||||
|
||||
// Token: 0x0400712A RID: 28970
|
||||
[Token(Token = "0x400712A")]
|
||||
public static readonly ProtocolVersion TLSv11;
|
||||
|
||||
// Token: 0x0400712B RID: 28971
|
||||
[Token(Token = "0x400712B")]
|
||||
public static readonly ProtocolVersion TLSv12;
|
||||
|
||||
// Token: 0x0400712C RID: 28972
|
||||
[Token(Token = "0x400712C")]
|
||||
public static readonly ProtocolVersion DTLSv10;
|
||||
|
||||
// Token: 0x0400712D RID: 28973
|
||||
[Token(Token = "0x400712D")]
|
||||
public static readonly ProtocolVersion DTLSv12;
|
||||
|
||||
// Token: 0x0400712E RID: 28974
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400712E")]
|
||||
private readonly int version;
|
||||
|
||||
// Token: 0x0400712F RID: 28975
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400712F")]
|
||||
private readonly string name;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C28 RID: 7208
|
||||
[Token(Token = "0x2001C28")]
|
||||
public class PskTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600B14B RID: 45387 RVA: 0x00265568 File Offset: 0x00263768
|
||||
[Token(Token = "0x600B14B")]
|
||||
[Address(RVA = "0x495DA0", Offset = "0x494DA0", VA = "0x180495DA0")]
|
||||
public PskTlsClient(TlsPskIdentity pskIdentity)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mPskIdentity = pskIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14C RID: 45388 RVA: 0x00265598 File Offset: 0x00263798
|
||||
[Token(Token = "0x600B14C")]
|
||||
[Address(RVA = "0x495E50", Offset = "0x494E50", VA = "0x180495E50")]
|
||||
public PskTlsClient(TlsCipherFactory cipherFactory, TlsPskIdentity pskIdentity)
|
||||
{
|
||||
DefaultTlsDHVerifier defaultTlsDHVerifier = new DefaultTlsDHVerifier();
|
||||
base..ctor(cipherFactory);
|
||||
this.mDHVerifier = defaultTlsDHVerifier;
|
||||
this.mPskIdentity = pskIdentity;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14D RID: 45389 RVA: 0x002655C0 File Offset: 0x002637C0
|
||||
[Token(Token = "0x600B14D")]
|
||||
[Address(RVA = "0x495ED0", Offset = "0x494ED0", VA = "0x180495ED0")]
|
||||
public PskTlsClient(TlsCipherFactory cipherFactory, TlsDHVerifier dhVerifier, TlsPskIdentity pskIdentity)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mPskIdentity = pskIdentity;
|
||||
this.mDHVerifier = dhVerifier;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14E RID: 45390 RVA: 0x002655E4 File Offset: 0x002637E4
|
||||
[Token(Token = "0x600B14E")]
|
||||
[Address(RVA = "0x495C70", Offset = "0x494C70", VA = "0x180495C70", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[2];
|
||||
array[0] = (int)((ulong)49207L);
|
||||
array[0] = (int)((ulong)49205L);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B14F RID: 45391 RVA: 0x0026561C File Offset: 0x0026381C
|
||||
[Token(Token = "0x600B14F")]
|
||||
[Address(RVA = "0x495CF0", Offset = "0x494CF0", VA = "0x180495CF0", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B14F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:int32[](var_2_1D, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:PskTlsClient[exp: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: 0x0600B150 RID: 45392 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B150")]
|
||||
[Address(RVA = "0x495C20", Offset = "0x494C20", VA = "0x180495C20", Slot = "58")]
|
||||
public override TlsAuthentication GetAuthentication()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B151 RID: 45393 RVA: 0x00265648 File Offset: 0x00263848
|
||||
[Token(Token = "0x600B151")]
|
||||
[Address(RVA = "0x495B60", Offset = "0x494B60", VA = "0x180495B60", Slot = "61")]
|
||||
protected virtual TlsKeyExchange CreatePskKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B151)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsClient::CreatePskKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsPskIdentity(var_1_0D, ldfld:TlsPskIdentity(PskTlsClient::mPskIdentity, ldloc:PskTlsClient(this)))
|
||||
stloc:TlsDHVerifier(var_2_14, ldfld:TlsDHVerifier(PskTlsClient::mDHVerifier, ldloc:PskTlsClient(this)))
|
||||
stloc:int32[](var_3_1B, ldfld:int32[](AbstractTlsClient::mNamedCurves, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_4_22, ldfld:uint8[](AbstractTlsClient::mClientECPointFormats, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:uint8[](var_5_2A, ldfld:uint8[](AbstractTlsClient::mServerECPointFormats, ldloc:PskTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsPskKeyExchange(var_6_3E, newobj:TlsPskKeyExchange(TlsPskKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsPskIdentity(var_1_0D), ldloc:int32[exp:TlsPskIdentityManager](var_7), ldloc:TlsDHVerifier(var_2_14), ldloc:int32[exp:DHParameters](var_7), ldloc:int32[](var_3_1B), ldloc:uint8[](var_4_22), ldloc:uint8[](var_5_2A)))
|
||||
stloc:int32(var_7, ldc.i4:int32(0))
|
||||
}
|
||||
|
||||
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: 0x04007130 RID: 28976
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007130")]
|
||||
protected TlsDHVerifier mDHVerifier;
|
||||
|
||||
// Token: 0x04007131 RID: 28977
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007131")]
|
||||
protected TlsPskIdentity mPskIdentity;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C29 RID: 7209
|
||||
[Token(Token = "0x2001C29")]
|
||||
public class PskTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x0600B152 RID: 45394 RVA: 0x00265698 File Offset: 0x00263898
|
||||
[Token(Token = "0x600B152")]
|
||||
[Address(RVA = "0x496250", Offset = "0x495250", VA = "0x180496250")]
|
||||
public PskTlsServer(TlsPskIdentityManager pskIdentityManager)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mPskIdentityManager = pskIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600B153 RID: 45395 RVA: 0x002656BC File Offset: 0x002638BC
|
||||
[Token(Token = "0x600B153")]
|
||||
[Address(RVA = "0x4962C0", Offset = "0x4952C0", VA = "0x1804962C0")]
|
||||
public PskTlsServer(TlsCipherFactory cipherFactory, TlsPskIdentityManager pskIdentityManager)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mPskIdentityManager = pskIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600B154 RID: 45396 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B154")]
|
||||
[Address(RVA = "0x496200", Offset = "0x495200", VA = "0x180496200", Slot = "63")]
|
||||
protected virtual TlsEncryptionCredentials GetRsaEncryptionCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B155 RID: 45397 RVA: 0x002656D8 File Offset: 0x002638D8
|
||||
[Token(Token = "0x600B155")]
|
||||
[Address(RVA = "0x4960F0", Offset = "0x4950F0", VA = "0x1804960F0", Slot = "64")]
|
||||
protected virtual DHParameters GetDHParameters()
|
||||
{
|
||||
return DHStandardGroups.rfc7919_ffdhe2048;
|
||||
}
|
||||
|
||||
// Token: 0x0600B156 RID: 45398 RVA: 0x002656EC File Offset: 0x002638EC
|
||||
[Token(Token = "0x600B156")]
|
||||
[Address(RVA = "0x495FE0", Offset = "0x494FE0", VA = "0x180495FE0", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[4];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.00A4ED0900CBF010B3628AA473D0D1477DB67FFF).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B157 RID: 45399 RVA: 0x0026570C File Offset: 0x0026390C
|
||||
[Token(Token = "0x600B157")]
|
||||
[Address(RVA = "0x496030", Offset = "0x495030", VA = "0x180496030", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
int mSelectedCipherSuite = this.mSelectedCipherSuite;
|
||||
int keyExchangeAlgorithm = TlsUtilities.GetKeyExchangeAlgorithm(mSelectedCipherSuite);
|
||||
if (mSelectedCipherSuite <= 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (keyExchangeAlgorithm == 15)
|
||||
{
|
||||
TlsCompression compression = base.GetCompression();
|
||||
}
|
||||
if (keyExchangeAlgorithm == 24)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B158 RID: 45400 RVA: 0x00265740 File Offset: 0x00263940
|
||||
[Token(Token = "0x600B158")]
|
||||
[Address(RVA = "0x496150", Offset = "0x495150", VA = "0x180496150", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B158)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:TlsCompression(var_2_1D, call:TlsCompression(AbstractTlsPeer::GetCompression, ldloc:PskTlsServer[exp:AbstractTlsPeer](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: 0x0600B159 RID: 45401 RVA: 0x0026576C File Offset: 0x0026396C
|
||||
[Token(Token = "0x600B159")]
|
||||
[Address(RVA = "0x495F10", Offset = "0x494F10", VA = "0x180495F10", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreatePskKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B159)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.PskTlsServer::CreatePskKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsPskIdentityManager(var_0_06, ldfld:TlsPskIdentityManager(PskTlsServer::mPskIdentityManager, ldloc:PskTlsServer(this)))
|
||||
stloc:TlsEncryptionCredentials(var_1_0D, callvirt:TlsEncryptionCredentials(PskTlsServer::GetRsaEncryptionCredentials, ldloc:PskTlsServer(this)))
|
||||
stloc:int32[](var_2_14, ldfld:int32[](AbstractTlsServer::mNamedCurves, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](AbstractTlsServer::mClientECPointFormats, ldloc:PskTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_4_22, ldfld:uint8[](AbstractTlsServer::mServerECPointFormats, ldloc:PskTlsServer[exp:AbstractTlsServer](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: 0x04007132 RID: 28978
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4007132")]
|
||||
protected TlsPskIdentityManager mPskIdentityManager;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,597 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.Extensions;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C2A RID: 7210
|
||||
[Token(Token = "0x2001C2A")]
|
||||
internal sealed class RecordStream
|
||||
{
|
||||
// Token: 0x0600B15A RID: 45402 RVA: 0x002657A0 File Offset: 0x002639A0
|
||||
[Token(Token = "0x600B15A")]
|
||||
[Address(RVA = "0x4973C0", Offset = "0x4963C0", VA = "0x1804973C0")]
|
||||
internal RecordStream(TlsProtocol handler, Stream input, Stream output)
|
||||
{
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mReadSeqNo = sequenceNumber;
|
||||
RecordStream.SequenceNumber sequenceNumber2 = new RecordStream.SequenceNumber();
|
||||
this.mWriteSeqNo = sequenceNumber2;
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
this.mBuffer = memoryStream;
|
||||
this.mRestrictReadVersion = true;
|
||||
base..ctor();
|
||||
this.mHandler = handler;
|
||||
this.mInput = input;
|
||||
this.mOutput = output;
|
||||
TlsNullCompression tlsNullCompression = new TlsNullCompression();
|
||||
this.mReadCompression = tlsNullCompression;
|
||||
this.mWriteCompression = tlsNullCompression;
|
||||
RecordStream.HandshakeHashUpdateStream handshakeHashUpdateStream;
|
||||
handshakeHashUpdateStream.mOuter = this;
|
||||
this.mHandshakeHashUpdater = handshakeHashUpdateStream;
|
||||
}
|
||||
|
||||
// Token: 0x0600B15B RID: 45403 RVA: 0x0026581C File Offset: 0x00263A1C
|
||||
[Token(Token = "0x600B15B")]
|
||||
[Address(RVA = "0x4969D0", Offset = "0x4959D0", VA = "0x1804969D0")]
|
||||
internal void Init(TlsContext context)
|
||||
{
|
||||
TlsNullCipher tlsNullCipher;
|
||||
tlsNullCipher.context = context;
|
||||
int num = 0;
|
||||
tlsNullCipher.writeMac = num;
|
||||
tlsNullCipher.readMac = num;
|
||||
this.mReadCipher = tlsNullCipher;
|
||||
this.mWriteCipher = tlsNullCipher;
|
||||
DeferredHash deferredHash = new DeferredHash();
|
||||
this.mHandshakeHash = deferredHash;
|
||||
this.mPlaintextLimit = (int)((ulong)16384L);
|
||||
this.mCompressedLimit = (int)((ulong)17408L);
|
||||
this.mCiphertextLimit = (int)((ulong)18432L);
|
||||
}
|
||||
|
||||
// Token: 0x0600B15C RID: 45404 RVA: 0x00265888 File Offset: 0x00263A88
|
||||
[Token(Token = "0x600B15C")]
|
||||
[Address(RVA = "0x4969C0", Offset = "0x4959C0", VA = "0x1804969C0")]
|
||||
internal int GetPlaintextLimit()
|
||||
{
|
||||
return this.mPlaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x0600B15D RID: 45405 RVA: 0x0026589C File Offset: 0x00263A9C
|
||||
[Token(Token = "0x600B15D")]
|
||||
[Address(RVA = "0x496FF0", Offset = "0x495FF0", VA = "0x180496FF0")]
|
||||
internal void SetPlaintextLimit(int plaintextLimit)
|
||||
{
|
||||
this.mPlaintextLimit = plaintextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x17001C16 RID: 7190
|
||||
// (get) Token: 0x0600B15E RID: 45406 RVA: 0x002658B0 File Offset: 0x00263AB0
|
||||
// (set) Token: 0x0600B15F RID: 45407 RVA: 0x002658C4 File Offset: 0x00263AC4
|
||||
[Token(Token = "0x17001C16")]
|
||||
internal ProtocolVersion ReadVersion
|
||||
{
|
||||
[Token(Token = "0x600B15E")]
|
||||
[Address(RVA = "0x4177B0", Offset = "0x4167B0", VA = "0x1804177B0")]
|
||||
get
|
||||
{
|
||||
return this.mReadVersion;
|
||||
}
|
||||
[Token(Token = "0x600B15F")]
|
||||
[Address(RVA = "0x417AA0", Offset = "0x416AA0", VA = "0x180417AA0")]
|
||||
set
|
||||
{
|
||||
this.mReadVersion = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B160 RID: 45408 RVA: 0x002658D8 File Offset: 0x00263AD8
|
||||
[Token(Token = "0x600B160")]
|
||||
[Address(RVA = "0x497020", Offset = "0x496020", VA = "0x180497020")]
|
||||
internal void SetWriteVersion(ProtocolVersion writeVersion)
|
||||
{
|
||||
this.mWriteVersion = writeVersion;
|
||||
}
|
||||
|
||||
// Token: 0x0600B161 RID: 45409 RVA: 0x002658EC File Offset: 0x00263AEC
|
||||
[Token(Token = "0x600B161")]
|
||||
[Address(RVA = "0x497010", Offset = "0x496010", VA = "0x180497010")]
|
||||
internal void SetRestrictReadVersion(bool enabled)
|
||||
{
|
||||
this.mRestrictReadVersion = enabled;
|
||||
}
|
||||
|
||||
// Token: 0x0600B162 RID: 45410 RVA: 0x00265900 File Offset: 0x00263B00
|
||||
[Token(Token = "0x600B162")]
|
||||
[Address(RVA = "0x496FE0", Offset = "0x495FE0", VA = "0x180496FE0")]
|
||||
internal void SetPendingConnectionState(TlsCompression tlsCompression, TlsCipher tlsCipher)
|
||||
{
|
||||
this.mPendingCompression = tlsCompression;
|
||||
this.mPendingCipher = tlsCipher;
|
||||
}
|
||||
|
||||
// Token: 0x0600B163 RID: 45411 RVA: 0x0026591C File Offset: 0x00263B1C
|
||||
[Token(Token = "0x600B163")]
|
||||
[Address(RVA = "0x496F40", Offset = "0x495F40", VA = "0x180496F40")]
|
||||
internal void SentWriteCipherSpec()
|
||||
{
|
||||
TlsCompression tlsCompression;
|
||||
TlsCipher tlsCipher;
|
||||
for (;;)
|
||||
{
|
||||
tlsCompression = this.mPendingCompression;
|
||||
if (tlsCompression != 0)
|
||||
{
|
||||
tlsCipher = this.mPendingCipher;
|
||||
if (tlsCipher != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mWriteCompression = tlsCompression;
|
||||
this.mWriteCipher = tlsCipher;
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mWriteSeqNo = sequenceNumber;
|
||||
}
|
||||
|
||||
// Token: 0x0600B164 RID: 45412 RVA: 0x0026595C File Offset: 0x00263B5C
|
||||
[Token(Token = "0x600B164")]
|
||||
[Address(RVA = "0x496DE0", Offset = "0x495DE0", VA = "0x180496DE0")]
|
||||
internal void ReceivedReadCipherSpec()
|
||||
{
|
||||
TlsCompression tlsCompression;
|
||||
TlsCipher tlsCipher;
|
||||
for (;;)
|
||||
{
|
||||
tlsCompression = this.mPendingCompression;
|
||||
if (tlsCompression != 0)
|
||||
{
|
||||
tlsCipher = this.mPendingCipher;
|
||||
if (tlsCipher != 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mReadCompression = tlsCompression;
|
||||
this.mReadCipher = tlsCipher;
|
||||
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
||||
this.mReadSeqNo = sequenceNumber;
|
||||
}
|
||||
|
||||
// Token: 0x0600B165 RID: 45413 RVA: 0x0026599C File Offset: 0x00263B9C
|
||||
[Token(Token = "0x600B165")]
|
||||
[Address(RVA = "0x4968B0", Offset = "0x4958B0", VA = "0x1804968B0")]
|
||||
internal void FinaliseHandshake()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
TlsCompression tlsCompression = this.mPendingCompression;
|
||||
if (this.mReadCompression == tlsCompression && this.mWriteCompression == tlsCompression)
|
||||
{
|
||||
TlsCipher tlsCipher = this.mPendingCipher;
|
||||
if (this.mReadCipher == tlsCipher && this.mWriteCipher == tlsCipher)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int num = 0;
|
||||
this.mPendingCompression = num;
|
||||
this.mPendingCipher = num;
|
||||
}
|
||||
|
||||
// Token: 0x0600B166 RID: 45414 RVA: 0x002659EC File Offset: 0x00263BEC
|
||||
[Token(Token = "0x600B166")]
|
||||
[Address(RVA = "0x496370", Offset = "0x495370", VA = "0x180496370")]
|
||||
internal void CheckRecordHeader(byte[] recordHeader)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B166)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::CheckRecordHeader(System.Byte[])
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_58:
|
||||
stloc:TlsFatalAlert(var_7_5F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_8)))
|
||||
}
|
||||
|
||||
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: 0x0600B167 RID: 45415 RVA: 0x00265A5C File Offset: 0x00263C5C
|
||||
[Token(Token = "0x600B167")]
|
||||
[Address(RVA = "0x496B50", Offset = "0x495B50", VA = "0x180496B50")]
|
||||
internal bool ReadRecord()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B167)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::ReadRecord()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_C5:
|
||||
stloc:TlsFatalAlert(var_20_CC, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_21)))
|
||||
}
|
||||
|
||||
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: 0x0600B168 RID: 45416 RVA: 0x00265B38 File Offset: 0x00263D38
|
||||
[Token(Token = "0x600B168")]
|
||||
[Address(RVA = "0x496620", Offset = "0x495620", VA = "0x180496620")]
|
||||
internal byte[] DecodeAndVerify(byte type, Stream input, int len)
|
||||
{
|
||||
byte[] array = TlsUtilities.ReadFully(len, input);
|
||||
RecordStream.SequenceNumber sequenceNumber = this.mReadSeqNo;
|
||||
TlsCipher tlsCipher = this.mReadCipher;
|
||||
int length = array.Length;
|
||||
int num = this.mCompressedLimit;
|
||||
TlsCompression tlsCompression = this.mReadCompression;
|
||||
long num2;
|
||||
if (num2 != this.mBuffer)
|
||||
{
|
||||
MemoryStream memoryStream = this.mBuffer;
|
||||
MemoryStream memoryStream2 = this.mBuffer;
|
||||
}
|
||||
int num3 = this.mPlaintextLimit;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B169 RID: 45417 RVA: 0x00265B9C File Offset: 0x00263D9C
|
||||
[Token(Token = "0x600B169")]
|
||||
[Address(RVA = "0x497030", Offset = "0x496030", VA = "0x180497030")]
|
||||
internal void WriteRecord(byte type, byte[] plaintext, int plaintextOffset, int plaintextLength)
|
||||
{
|
||||
if (this.mWriteVersion != (ulong)0L)
|
||||
{
|
||||
int num = this.mPlaintextLimit;
|
||||
TlsCompression tlsCompression = this.mWriteCompression;
|
||||
ulong num3;
|
||||
long num2 = this.mWriteSeqNo.NextValue((byte)num3);
|
||||
if (type != this.mBuffer)
|
||||
{
|
||||
int num4 = 0;
|
||||
byte[] bufferContents = this.GetBufferContents();
|
||||
ulong num5;
|
||||
RecordStream.CheckLength(bufferContents.Length, num4, (byte)num5);
|
||||
TlsCipher tlsCipher = this.mWriteCipher;
|
||||
int length = bufferContents.Length;
|
||||
}
|
||||
TlsCipher tlsCipher2 = this.mWriteCipher;
|
||||
int num6 = this.mCiphertextLimit;
|
||||
uint num7;
|
||||
ulong num8;
|
||||
RecordStream.CheckLength((int)num7, num6, (byte)num8);
|
||||
ulong num9;
|
||||
byte[] array = VariableSizedBufferPool.Get((long)type, num9 != 0UL);
|
||||
int num10 = 0;
|
||||
TlsUtilities.WriteUint8(type, array, num10);
|
||||
TlsUtilities.WriteVersion(this.mWriteVersion, array, 1);
|
||||
int num11 = this.mOutput.ReadByte();
|
||||
VariableSizedBufferPool.Release(array);
|
||||
Stream stream = this.mOutput;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B16A RID: 45418 RVA: 0x00265C78 File Offset: 0x00263E78
|
||||
[Token(Token = "0x600B16A")]
|
||||
[Address(RVA = "0x496AA0", Offset = "0x495AA0", VA = "0x180496AA0")]
|
||||
internal void NotifyHelloComplete()
|
||||
{
|
||||
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x17001C17 RID: 7191
|
||||
// (get) Token: 0x0600B16B RID: 45419 RVA: 0x00265C94 File Offset: 0x00263E94
|
||||
[Token(Token = "0x17001C17")]
|
||||
internal TlsHandshakeHash HandshakeHash
|
||||
{
|
||||
[Token(Token = "0x600B16B")]
|
||||
[Address(RVA = "0x493640", Offset = "0x492640", VA = "0x180493640")]
|
||||
get
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C18 RID: 7192
|
||||
// (get) Token: 0x0600B16C RID: 45420 RVA: 0x00265CA8 File Offset: 0x00263EA8
|
||||
[Token(Token = "0x17001C18")]
|
||||
internal Stream HandshakeHashUpdater
|
||||
{
|
||||
[Token(Token = "0x600B16C")]
|
||||
[Address(RVA = "0x4177C0", Offset = "0x4167C0", VA = "0x1804177C0")]
|
||||
get
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B16C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream::get_HandshakeHashUpdater()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:BaseOutputStream(var_0_06, ldfld:BaseOutputStream(RecordStream::mHandshakeHashUpdater, ldloc:RecordStream(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: 0x0600B16D RID: 45421 RVA: 0x00265CBC File Offset: 0x00263EBC
|
||||
[Token(Token = "0x600B16D")]
|
||||
[Address(RVA = "0x496AF0", Offset = "0x495AF0", VA = "0x180496AF0")]
|
||||
internal TlsHandshakeHash PrepareToFinish()
|
||||
{
|
||||
return this.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x0600B16E RID: 45422 RVA: 0x00265CD8 File Offset: 0x00263ED8
|
||||
[Token(Token = "0x600B16E")]
|
||||
[Address(RVA = "0x496E80", Offset = "0x495E80", VA = "0x180496E80")]
|
||||
internal void SafeClose()
|
||||
{
|
||||
Platform.Dispose(this.mInput);
|
||||
Platform.Dispose(this.mOutput);
|
||||
}
|
||||
|
||||
// Token: 0x0600B16F RID: 45423 RVA: 0x00265CFC File Offset: 0x00263EFC
|
||||
[Token(Token = "0x600B16F")]
|
||||
[Address(RVA = "0x496930", Offset = "0x495930", VA = "0x180496930")]
|
||||
internal void Flush()
|
||||
{
|
||||
bool canRead = this.mOutput.CanRead;
|
||||
}
|
||||
|
||||
// Token: 0x0600B170 RID: 45424 RVA: 0x00265D1C File Offset: 0x00263F1C
|
||||
[Token(Token = "0x600B170")]
|
||||
[Address(RVA = "0x496960", Offset = "0x495960", VA = "0x180496960")]
|
||||
private byte[] GetBufferContents()
|
||||
{
|
||||
MemoryStream memoryStream = this.mBuffer;
|
||||
MemoryStream memoryStream2 = this.mBuffer;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B171 RID: 45425 RVA: 0x00265D3C File Offset: 0x00263F3C
|
||||
[Token(Token = "0x600B171")]
|
||||
[Address(RVA = "0x4965B0", Offset = "0x4955B0", VA = "0x1804965B0")]
|
||||
private static void CheckType(byte type, byte alertDescription)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B172 RID: 45426 RVA: 0x00265D50 File Offset: 0x00263F50
|
||||
[Token(Token = "0x600B172")]
|
||||
[Address(RVA = "0x4962F0", Offset = "0x4952F0", VA = "0x1804962F0")]
|
||||
private static void CheckLength(int length, int limit, byte alertDescription)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007133 RID: 28979
|
||||
[Token(Token = "0x4007133")]
|
||||
private const int DEFAULT_PLAINTEXT_LIMIT = 16384;
|
||||
|
||||
// Token: 0x04007134 RID: 28980
|
||||
[Token(Token = "0x4007134")]
|
||||
internal const int TLS_HEADER_SIZE = 5;
|
||||
|
||||
// Token: 0x04007135 RID: 28981
|
||||
[Token(Token = "0x4007135")]
|
||||
internal const int TLS_HEADER_TYPE_OFFSET = 0;
|
||||
|
||||
// Token: 0x04007136 RID: 28982
|
||||
[Token(Token = "0x4007136")]
|
||||
internal const int TLS_HEADER_VERSION_OFFSET = 1;
|
||||
|
||||
// Token: 0x04007137 RID: 28983
|
||||
[Token(Token = "0x4007137")]
|
||||
internal const int TLS_HEADER_LENGTH_OFFSET = 3;
|
||||
|
||||
// Token: 0x04007138 RID: 28984
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007138")]
|
||||
private TlsProtocol mHandler;
|
||||
|
||||
// Token: 0x04007139 RID: 28985
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007139")]
|
||||
private Stream mInput;
|
||||
|
||||
// Token: 0x0400713A RID: 28986
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400713A")]
|
||||
private Stream mOutput;
|
||||
|
||||
// Token: 0x0400713B RID: 28987
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400713B")]
|
||||
private TlsCompression mPendingCompression;
|
||||
|
||||
// Token: 0x0400713C RID: 28988
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400713C")]
|
||||
private TlsCompression mReadCompression;
|
||||
|
||||
// Token: 0x0400713D RID: 28989
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400713D")]
|
||||
private TlsCompression mWriteCompression;
|
||||
|
||||
// Token: 0x0400713E RID: 28990
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400713E")]
|
||||
private TlsCipher mPendingCipher;
|
||||
|
||||
// Token: 0x0400713F RID: 28991
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x400713F")]
|
||||
private TlsCipher mReadCipher;
|
||||
|
||||
// Token: 0x04007140 RID: 28992
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007140")]
|
||||
private TlsCipher mWriteCipher;
|
||||
|
||||
// Token: 0x04007141 RID: 28993
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007141")]
|
||||
private RecordStream.SequenceNumber mReadSeqNo;
|
||||
|
||||
// Token: 0x04007142 RID: 28994
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007142")]
|
||||
private RecordStream.SequenceNumber mWriteSeqNo;
|
||||
|
||||
// Token: 0x04007143 RID: 28995
|
||||
[FieldOffset(Offset = "0x68")]
|
||||
[Token(Token = "0x4007143")]
|
||||
private MemoryStream mBuffer;
|
||||
|
||||
// Token: 0x04007144 RID: 28996
|
||||
[FieldOffset(Offset = "0x70")]
|
||||
[Token(Token = "0x4007144")]
|
||||
private TlsHandshakeHash mHandshakeHash;
|
||||
|
||||
// Token: 0x04007145 RID: 28997
|
||||
[FieldOffset(Offset = "0x78")]
|
||||
[Token(Token = "0x4007145")]
|
||||
private readonly BaseOutputStream mHandshakeHashUpdater;
|
||||
|
||||
// Token: 0x04007146 RID: 28998
|
||||
[FieldOffset(Offset = "0x80")]
|
||||
[Token(Token = "0x4007146")]
|
||||
private ProtocolVersion mReadVersion;
|
||||
|
||||
// Token: 0x04007147 RID: 28999
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4007147")]
|
||||
private ProtocolVersion mWriteVersion;
|
||||
|
||||
// Token: 0x04007148 RID: 29000
|
||||
[FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x4007148")]
|
||||
private bool mRestrictReadVersion;
|
||||
|
||||
// Token: 0x04007149 RID: 29001
|
||||
[FieldOffset(Offset = "0x94")]
|
||||
[Token(Token = "0x4007149")]
|
||||
private int mPlaintextLimit;
|
||||
|
||||
// Token: 0x0400714A RID: 29002
|
||||
[FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x400714A")]
|
||||
private int mCompressedLimit;
|
||||
|
||||
// Token: 0x0400714B RID: 29003
|
||||
[FieldOffset(Offset = "0x9C")]
|
||||
[Token(Token = "0x400714B")]
|
||||
private int mCiphertextLimit;
|
||||
|
||||
// Token: 0x02001C2B RID: 7211
|
||||
[Token(Token = "0x2001C2B")]
|
||||
private class HandshakeHashUpdateStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600B173 RID: 45427 RVA: 0x00265D60 File Offset: 0x00263F60
|
||||
[Token(Token = "0x600B173")]
|
||||
[Address(RVA = "0x493F00", Offset = "0x492F00", VA = "0x180493F00")]
|
||||
public HandshakeHashUpdateStream(RecordStream mOuter)
|
||||
{
|
||||
this.mOuter = mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x0600B174 RID: 45428 RVA: 0x00265D7C File Offset: 0x00263F7C
|
||||
[Token(Token = "0x600B174")]
|
||||
[Address(RVA = "0x493E70", Offset = "0x492E70", VA = "0x180493E70", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
TlsHandshakeHash mHandshakeHash = this.mOuter.mHandshakeHash;
|
||||
}
|
||||
|
||||
// Token: 0x0400714C RID: 29004
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400714C")]
|
||||
private readonly RecordStream mOuter;
|
||||
}
|
||||
|
||||
// Token: 0x02001C2C RID: 7212
|
||||
[Token(Token = "0x2001C2C")]
|
||||
private class SequenceNumber
|
||||
{
|
||||
// Token: 0x0600B175 RID: 45429 RVA: 0x00265D9C File Offset: 0x00263F9C
|
||||
[Token(Token = "0x600B175")]
|
||||
[Address(RVA = "0x4975B0", Offset = "0x4965B0", VA = "0x1804975B0")]
|
||||
internal long NextValue(byte alertDescription)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B175)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.RecordStream/SequenceNumber::NextValue(System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_24:
|
||||
stloc:TlsFatalAlert(var_2_2A, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B176 RID: 45430 RVA: 0x00265DD4 File Offset: 0x00263FD4
|
||||
[Token(Token = "0x600B176")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
public SequenceNumber()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400714D RID: 29005
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400714D")]
|
||||
private long value;
|
||||
|
||||
// Token: 0x0400714E RID: 29006
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400714E")]
|
||||
private bool exhausted;
|
||||
}
|
||||
}
|
||||
}
|
||||
+263
@@ -0,0 +1,263 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C2D RID: 7213
|
||||
[Token(Token = "0x2001C2D")]
|
||||
public class SecurityParameters
|
||||
{
|
||||
// Token: 0x0600B177 RID: 45431 RVA: 0x00265DE8 File Offset: 0x00263FE8
|
||||
[Token(Token = "0x600B177")]
|
||||
[Address(RVA = "0x4974E0", Offset = "0x4964E0", VA = "0x1804974E0", Slot = "4")]
|
||||
internal virtual void Clear()
|
||||
{
|
||||
byte[] array = this.masterSecret;
|
||||
if (array != 0)
|
||||
{
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
this.masterSecret = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C19 RID: 7193
|
||||
// (get) Token: 0x0600B178 RID: 45432 RVA: 0x00265E14 File Offset: 0x00264014
|
||||
[Token(Token = "0x17001C19")]
|
||||
public virtual int Entity
|
||||
{
|
||||
[Token(Token = "0x600B178")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.entity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C1A RID: 7194
|
||||
// (get) Token: 0x0600B179 RID: 45433 RVA: 0x00265E28 File Offset: 0x00264028
|
||||
[Token(Token = "0x17001C1A")]
|
||||
public virtual int CipherSuite
|
||||
{
|
||||
[Token(Token = "0x600B179")]
|
||||
[Address(RVA = "0x4936D0", Offset = "0x4926D0", VA = "0x1804936D0", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.cipherSuite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C1B RID: 7195
|
||||
// (get) Token: 0x0600B17A RID: 45434 RVA: 0x00265E3C File Offset: 0x0026403C
|
||||
[Token(Token = "0x17001C1B")]
|
||||
public virtual byte CompressionAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600B17A")]
|
||||
[Address(RVA = "0x497570", Offset = "0x496570", VA = "0x180497570", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.compressionAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C1C RID: 7196
|
||||
// (get) Token: 0x0600B17B RID: 45435 RVA: 0x00265E50 File Offset: 0x00264050
|
||||
[Token(Token = "0x17001C1C")]
|
||||
public virtual int PrfAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600B17B")]
|
||||
[Address(RVA = "0x497590", Offset = "0x496590", VA = "0x180497590", Slot = "8")]
|
||||
get
|
||||
{
|
||||
return this.prfAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C1D RID: 7197
|
||||
// (get) Token: 0x0600B17C RID: 45436 RVA: 0x00265E64 File Offset: 0x00264064
|
||||
[Token(Token = "0x17001C1D")]
|
||||
public virtual int VerifyDataLength
|
||||
{
|
||||
[Token(Token = "0x600B17C")]
|
||||
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70", Slot = "9")]
|
||||
get
|
||||
{
|
||||
return this.verifyDataLength;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C1E RID: 7198
|
||||
// (get) Token: 0x0600B17D RID: 45437 RVA: 0x00265E78 File Offset: 0x00264078
|
||||
[Token(Token = "0x17001C1E")]
|
||||
public virtual byte[] MasterSecret
|
||||
{
|
||||
[Token(Token = "0x600B17D")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0", Slot = "10")]
|
||||
get
|
||||
{
|
||||
return this.masterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C1F RID: 7199
|
||||
// (get) Token: 0x0600B17E RID: 45438 RVA: 0x00265E8C File Offset: 0x0026408C
|
||||
[Token(Token = "0x17001C1F")]
|
||||
public virtual byte[] ClientRandom
|
||||
{
|
||||
[Token(Token = "0x600B17E")]
|
||||
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0", Slot = "11")]
|
||||
get
|
||||
{
|
||||
return this.clientRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C20 RID: 7200
|
||||
// (get) Token: 0x0600B17F RID: 45439 RVA: 0x00265EA0 File Offset: 0x002640A0
|
||||
[Token(Token = "0x17001C20")]
|
||||
public virtual byte[] ServerRandom
|
||||
{
|
||||
[Token(Token = "0x600B17F")]
|
||||
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0", Slot = "12")]
|
||||
get
|
||||
{
|
||||
return this.serverRandom;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C21 RID: 7201
|
||||
// (get) Token: 0x0600B180 RID: 45440 RVA: 0x00265EB4 File Offset: 0x002640B4
|
||||
[Token(Token = "0x17001C21")]
|
||||
public virtual byte[] SessionHash
|
||||
{
|
||||
[Token(Token = "0x600B180")]
|
||||
[Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680", Slot = "13")]
|
||||
get
|
||||
{
|
||||
return this.sessionHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C22 RID: 7202
|
||||
// (get) Token: 0x0600B181 RID: 45441 RVA: 0x00265EC8 File Offset: 0x002640C8
|
||||
[Token(Token = "0x17001C22")]
|
||||
public virtual byte[] PskIdentity
|
||||
{
|
||||
[Token(Token = "0x600B181")]
|
||||
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0", Slot = "14")]
|
||||
get
|
||||
{
|
||||
return this.pskIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C23 RID: 7203
|
||||
// (get) Token: 0x0600B182 RID: 45442 RVA: 0x00265EDC File Offset: 0x002640DC
|
||||
[Token(Token = "0x17001C23")]
|
||||
public virtual byte[] SrpIdentity
|
||||
{
|
||||
[Token(Token = "0x600B182")]
|
||||
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0", Slot = "15")]
|
||||
get
|
||||
{
|
||||
return this.srpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C24 RID: 7204
|
||||
// (get) Token: 0x0600B183 RID: 45443 RVA: 0x00265EF0 File Offset: 0x002640F0
|
||||
[Token(Token = "0x17001C24")]
|
||||
public virtual bool IsExtendedMasterSecret
|
||||
{
|
||||
[Token(Token = "0x600B183")]
|
||||
[Address(RVA = "0x497580", Offset = "0x496580", VA = "0x180497580", Slot = "16")]
|
||||
get
|
||||
{
|
||||
return this.extendedMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B184 RID: 45444 RVA: 0x00265F04 File Offset: 0x00264104
|
||||
[Token(Token = "0x600B184")]
|
||||
[Address(RVA = "0x497550", Offset = "0x496550", VA = "0x180497550")]
|
||||
public SecurityParameters()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0400714F RID: 29007
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400714F")]
|
||||
internal int entity = (int)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04007150 RID: 29008
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4007150")]
|
||||
internal int cipherSuite;
|
||||
|
||||
// Token: 0x04007151 RID: 29009
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007151")]
|
||||
internal byte compressionAlgorithm;
|
||||
|
||||
// Token: 0x04007152 RID: 29010
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x4007152")]
|
||||
internal int prfAlgorithm = (int)((ulong)(-1L));
|
||||
|
||||
// Token: 0x04007153 RID: 29011
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007153")]
|
||||
internal int verifyDataLength;
|
||||
|
||||
// Token: 0x04007154 RID: 29012
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007154")]
|
||||
internal byte[] masterSecret;
|
||||
|
||||
// Token: 0x04007155 RID: 29013
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007155")]
|
||||
internal byte[] clientRandom;
|
||||
|
||||
// Token: 0x04007156 RID: 29014
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007156")]
|
||||
internal byte[] serverRandom;
|
||||
|
||||
// Token: 0x04007157 RID: 29015
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007157")]
|
||||
internal byte[] sessionHash;
|
||||
|
||||
// Token: 0x04007158 RID: 29016
|
||||
[FieldOffset(Offset = "0x48")]
|
||||
[Token(Token = "0x4007158")]
|
||||
internal byte[] pskIdentity;
|
||||
|
||||
// Token: 0x04007159 RID: 29017
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007159")]
|
||||
internal byte[] srpIdentity;
|
||||
|
||||
// Token: 0x0400715A RID: 29018
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x400715A")]
|
||||
internal short maxFragmentLength = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x0400715B RID: 29019
|
||||
[FieldOffset(Offset = "0x5A")]
|
||||
[Token(Token = "0x400715B")]
|
||||
internal bool truncatedHMac;
|
||||
|
||||
// Token: 0x0400715C RID: 29020
|
||||
[FieldOffset(Offset = "0x5B")]
|
||||
[Token(Token = "0x400715C")]
|
||||
internal bool encryptThenMac;
|
||||
|
||||
// Token: 0x0400715D RID: 29021
|
||||
[FieldOffset(Offset = "0x5C")]
|
||||
[Token(Token = "0x400715D")]
|
||||
internal bool extendedMasterSecret;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C2E RID: 7214
|
||||
[Token(Token = "0x2001C2E")]
|
||||
public class ServerName
|
||||
{
|
||||
// Token: 0x0600B185 RID: 45445 RVA: 0x00265F34 File Offset: 0x00264134
|
||||
[Token(Token = "0x600B185")]
|
||||
[Address(RVA = "0x498250", Offset = "0x497250", VA = "0x180498250")]
|
||||
public ServerName(byte nameType, object name)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B185)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::.ctor(System.Byte,System.Object)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_1F:
|
||||
stloc:ArgumentException(var_0_2E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001C25 RID: 7205
|
||||
// (get) Token: 0x0600B186 RID: 45446 RVA: 0x00265F70 File Offset: 0x00264170
|
||||
[Token(Token = "0x17001C25")]
|
||||
public virtual byte NameType
|
||||
{
|
||||
[Token(Token = "0x600B186")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mNameType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C26 RID: 7206
|
||||
// (get) Token: 0x0600B187 RID: 45447 RVA: 0x00265F84 File Offset: 0x00264184
|
||||
[Token(Token = "0x17001C26")]
|
||||
public virtual object Name
|
||||
{
|
||||
[Token(Token = "0x600B187")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mName;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B188 RID: 45448 RVA: 0x00265F98 File Offset: 0x00264198
|
||||
[Token(Token = "0x600B188")]
|
||||
[Address(RVA = "0x497F70", Offset = "0x496F70", VA = "0x180497F70", Slot = "6")]
|
||||
public virtual string GetHostName()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B188)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::GetHostName()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_20:
|
||||
stloc:InvalidOperationException(var_3_2A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("'name' is not a HostName string")))
|
||||
}
|
||||
|
||||
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: 0x0600B189 RID: 45449 RVA: 0x00265FD0 File Offset: 0x002641D0
|
||||
[Token(Token = "0x600B189")]
|
||||
[Address(RVA = "0x497E30", Offset = "0x496E30", VA = "0x180497E30", Slot = "7")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
object obj;
|
||||
int num;
|
||||
do
|
||||
{
|
||||
TlsUtilities.WriteUint8(this.mNameType, output);
|
||||
obj = this.mName;
|
||||
num = 0;
|
||||
}
|
||||
while (obj != 0 && obj == 0);
|
||||
TlsUtilities.WriteOpaque16(Strings.ToAsciiByteArray(num), output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B18A RID: 45450 RVA: 0x00266008 File Offset: 0x00264208
|
||||
[Token(Token = "0x600B18A")]
|
||||
[Address(RVA = "0x4980C0", Offset = "0x4970C0", VA = "0x1804980C0")]
|
||||
public static ServerName Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B18A)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerName::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_35:
|
||||
stloc:ArgumentException(var_4_44, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B18B RID: 45451 RVA: 0x0026605C File Offset: 0x0026425C
|
||||
[Token(Token = "0x600B18B")]
|
||||
[Address(RVA = "0x498030", Offset = "0x497030", VA = "0x180498030")]
|
||||
protected static bool IsCorrectType(byte nameType, object name)
|
||||
{
|
||||
int num = 0;
|
||||
if (name != 0)
|
||||
{
|
||||
}
|
||||
return num != 0;
|
||||
}
|
||||
|
||||
// Token: 0x0400715E RID: 29022
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400715E")]
|
||||
protected readonly byte mNameType;
|
||||
|
||||
// Token: 0x0400715F RID: 29023
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400715F")]
|
||||
protected readonly object mName;
|
||||
}
|
||||
}
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C2F RID: 7215
|
||||
[Token(Token = "0x2001C2F")]
|
||||
public class ServerNameList
|
||||
{
|
||||
// Token: 0x0600B18C RID: 45452 RVA: 0x00266088 File Offset: 0x00264288
|
||||
[Token(Token = "0x600B18C")]
|
||||
[Address(RVA = "0x497DB0", Offset = "0x496DB0", VA = "0x180497DB0")]
|
||||
public ServerNameList(IList serverNameList)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B18C)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList::.ctor(System.Collections.IList)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_12:
|
||||
stloc:ArgumentNullException(var_0_1C, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("serverNameList")))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x17001C27 RID: 7207
|
||||
// (get) Token: 0x0600B18D RID: 45453 RVA: 0x002660B4 File Offset: 0x002642B4
|
||||
[Token(Token = "0x17001C27")]
|
||||
public virtual IList ServerNames
|
||||
{
|
||||
[Token(Token = "0x600B18D")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mServerNameList;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B18E RID: 45454 RVA: 0x002660C8 File Offset: 0x002642C8
|
||||
[Token(Token = "0x600B18E")]
|
||||
[Address(RVA = "0x4976E0", Offset = "0x4966E0", VA = "0x1804976E0", Slot = "5")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
MemoryStream memoryStream;
|
||||
for (;;)
|
||||
{
|
||||
int num = 0;
|
||||
memoryStream = new MemoryStream();
|
||||
byte[] emptyBytes = TlsUtilities.EmptyBytes;
|
||||
string text = this.ToString();
|
||||
if (text != 0)
|
||||
{
|
||||
if (text == 0)
|
||||
{
|
||||
goto IL_5F;
|
||||
}
|
||||
string text2 = text.ToString();
|
||||
byte[] array;
|
||||
if (array == 0)
|
||||
{
|
||||
goto IL_5F;
|
||||
}
|
||||
if (text.GetTypeCode() != TypeCode.Empty)
|
||||
{
|
||||
}
|
||||
if (num == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
TlsUtilities.CheckUint16(memoryStream.CanWrite ? 1L : 0L);
|
||||
TlsUtilities.WriteUint16(memoryStream.CanWrite ? 1 : 0, output);
|
||||
Streams.WriteBufTo(memoryStream, output);
|
||||
return;
|
||||
IL_5F:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B18F RID: 45455 RVA: 0x00266140 File Offset: 0x00264340
|
||||
[Token(Token = "0x600B18F")]
|
||||
[Address(RVA = "0x4979C0", Offset = "0x4969C0", VA = "0x1804979C0")]
|
||||
public static ServerNameList Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B18F)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.ServerNameList::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_8F:
|
||||
stloc:ArgumentException(var_14_9E, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("not an instance of the correct type"), ldstr:string("name")))
|
||||
}
|
||||
|
||||
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: 0x0600B190 RID: 45456 RVA: 0x002661EC File Offset: 0x002643EC
|
||||
[Token(Token = "0x600B190")]
|
||||
[Address(RVA = "0x497640", Offset = "0x496640", VA = "0x180497640")]
|
||||
private static byte[] CheckNameType(byte[] nameTypesSeen, byte nameType)
|
||||
{
|
||||
int num = 0;
|
||||
if (!Arrays.Contains(nameTypesSeen, (byte)num))
|
||||
{
|
||||
int num2 = 0;
|
||||
return Arrays.Append(nameTypesSeen, (byte)num2);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007160 RID: 29024
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007160")]
|
||||
protected readonly IList mServerNameList;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C30 RID: 7216
|
||||
[Token(Token = "0x2001C30")]
|
||||
public abstract class ServerOnlyTlsAuthentication : TlsAuthentication
|
||||
{
|
||||
// Token: 0x0600B191 RID: 45457
|
||||
[Token(Token = "0x600B191")]
|
||||
[Address(Slot = "6")]
|
||||
public abstract void NotifyServerCertificate(Certificate serverCertificate);
|
||||
|
||||
// Token: 0x0600B192 RID: 45458 RVA: 0x00266210 File Offset: 0x00264410
|
||||
[Token(Token = "0x600B192")]
|
||||
[Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "5")]
|
||||
public TlsCredentials GetClientCredentials(TlsContext context, CertificateRequest certificateRequest)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B193 RID: 45459 RVA: 0x00266220 File Offset: 0x00264420
|
||||
[Token(Token = "0x600B193")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected ServerOnlyTlsAuthentication()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C31 RID: 7217
|
||||
[Token(Token = "0x2001C31")]
|
||||
public class ServerSrpParams
|
||||
{
|
||||
// Token: 0x0600B194 RID: 45460 RVA: 0x00266234 File Offset: 0x00264434
|
||||
[Token(Token = "0x600B194")]
|
||||
[Address(RVA = "0x4984B0", Offset = "0x4974B0", VA = "0x1804984B0")]
|
||||
public ServerSrpParams(BigInteger N, BigInteger g, byte[] s, BigInteger B)
|
||||
{
|
||||
this.m_N = N;
|
||||
this.m_g = g;
|
||||
byte[] array = Arrays.Clone(s);
|
||||
this.m_s = array;
|
||||
this.m_B = 0;
|
||||
}
|
||||
|
||||
// Token: 0x17001C28 RID: 7208
|
||||
// (get) Token: 0x0600B195 RID: 45461 RVA: 0x0026626C File Offset: 0x0026446C
|
||||
[Token(Token = "0x17001C28")]
|
||||
public virtual BigInteger B
|
||||
{
|
||||
[Token(Token = "0x600B195")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.m_B;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C29 RID: 7209
|
||||
// (get) Token: 0x0600B196 RID: 45462 RVA: 0x00266280 File Offset: 0x00264480
|
||||
[Token(Token = "0x17001C29")]
|
||||
public virtual BigInteger G
|
||||
{
|
||||
[Token(Token = "0x600B196")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.m_g;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C2A RID: 7210
|
||||
// (get) Token: 0x0600B197 RID: 45463 RVA: 0x00266294 File Offset: 0x00264494
|
||||
[Token(Token = "0x17001C2A")]
|
||||
public virtual BigInteger N
|
||||
{
|
||||
[Token(Token = "0x600B197")]
|
||||
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "6")]
|
||||
get
|
||||
{
|
||||
return this.m_N;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C2B RID: 7211
|
||||
// (get) Token: 0x0600B198 RID: 45464 RVA: 0x002662A8 File Offset: 0x002644A8
|
||||
[Token(Token = "0x17001C2B")]
|
||||
public virtual byte[] S
|
||||
{
|
||||
[Token(Token = "0x600B198")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0", Slot = "7")]
|
||||
get
|
||||
{
|
||||
return this.m_s;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B199 RID: 45465 RVA: 0x002662BC File Offset: 0x002644BC
|
||||
[Token(Token = "0x600B199")]
|
||||
[Address(RVA = "0x4982F0", Offset = "0x4972F0", VA = "0x1804982F0", Slot = "8")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_N, output);
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_g, output);
|
||||
TlsUtilities.WriteOpaque8(this.m_s, output);
|
||||
TlsSrpUtilities.WriteSrpParameter(this.m_B, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B19A RID: 45466 RVA: 0x002662FC File Offset: 0x002644FC
|
||||
[Token(Token = "0x600B19A")]
|
||||
[Address(RVA = "0x498390", Offset = "0x497390", VA = "0x180498390")]
|
||||
public static ServerSrpParams Parse(Stream input)
|
||||
{
|
||||
BigInteger bigInteger = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
BigInteger bigInteger2 = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
byte[] array = TlsUtilities.ReadOpaque8(input);
|
||||
BigInteger bigInteger3 = TlsSrpUtilities.ReadSrpParameter(input);
|
||||
ServerSrpParams serverSrpParams;
|
||||
serverSrpParams.m_N = bigInteger;
|
||||
serverSrpParams.m_g = bigInteger2;
|
||||
byte[] array2 = Arrays.Clone(array);
|
||||
serverSrpParams.m_s = array2;
|
||||
serverSrpParams.m_B = bigInteger3;
|
||||
return serverSrpParams;
|
||||
}
|
||||
|
||||
// Token: 0x04007161 RID: 29025
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007161")]
|
||||
protected BigInteger m_N;
|
||||
|
||||
// Token: 0x04007162 RID: 29026
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007162")]
|
||||
protected BigInteger m_g;
|
||||
|
||||
// Token: 0x04007163 RID: 29027
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007163")]
|
||||
protected BigInteger m_B;
|
||||
|
||||
// Token: 0x04007164 RID: 29028
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007164")]
|
||||
protected byte[] m_s;
|
||||
}
|
||||
}
|
||||
+386
@@ -0,0 +1,386 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C32 RID: 7218
|
||||
[Token(Token = "0x2001C32")]
|
||||
public sealed class SessionParameters
|
||||
{
|
||||
// Token: 0x0600B19B RID: 45467 RVA: 0x00266350 File Offset: 0x00264550
|
||||
[Token(Token = "0x600B19B")]
|
||||
[Address(RVA = "0x498700", Offset = "0x497700", VA = "0x180498700")]
|
||||
private SessionParameters(int cipherSuite, byte compressionAlgorithm, byte[] masterSecret, Certificate peerCertificate, byte[] pskIdentity, byte[] srpIdentity, byte[] encodedServerExtensions, bool extendedMasterSecret)
|
||||
{
|
||||
this.mCipherSuite = cipherSuite;
|
||||
this.mCompressionAlgorithm = compressionAlgorithm;
|
||||
byte[] array = Arrays.Clone(masterSecret);
|
||||
this.mMasterSecret = array;
|
||||
this.mPeerCertificate = 0;
|
||||
byte[] array2;
|
||||
this.mPskIdentity = array2;
|
||||
byte[] array3;
|
||||
this.mSrpIdentity = array3;
|
||||
this.mEncodedServerExtensions = 0;
|
||||
this.mExtendedMasterSecret = false;
|
||||
}
|
||||
|
||||
// Token: 0x0600B19C RID: 45468 RVA: 0x002663A4 File Offset: 0x002645A4
|
||||
[Token(Token = "0x600B19C")]
|
||||
[Address(RVA = "0x498550", Offset = "0x497550", VA = "0x180498550")]
|
||||
public void Clear()
|
||||
{
|
||||
byte[] array = this.mMasterSecret;
|
||||
if (array != 0)
|
||||
{
|
||||
int num = 0;
|
||||
Arrays.Fill(array, (byte)num);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B19D RID: 45469 RVA: 0x002663C8 File Offset: 0x002645C8
|
||||
[Token(Token = "0x600B19D")]
|
||||
[Address(RVA = "0x4985C0", Offset = "0x4975C0", VA = "0x1804985C0")]
|
||||
public SessionParameters Copy()
|
||||
{
|
||||
int num = this.mCipherSuite;
|
||||
byte b = this.mCompressionAlgorithm;
|
||||
byte[] array = this.mMasterSecret;
|
||||
Certificate certificate = this.mPeerCertificate;
|
||||
byte[] array2 = this.mPskIdentity;
|
||||
byte[] array3 = this.mSrpIdentity;
|
||||
byte[] array4 = this.mEncodedServerExtensions;
|
||||
bool flag = this.mExtendedMasterSecret;
|
||||
return new SessionParameters(num, b, array, certificate, array2, array3, array4, flag);
|
||||
}
|
||||
|
||||
// Token: 0x17001C2C RID: 7212
|
||||
// (get) Token: 0x0600B19E RID: 45470 RVA: 0x00266424 File Offset: 0x00264624
|
||||
[Token(Token = "0x17001C2C")]
|
||||
public int CipherSuite
|
||||
{
|
||||
[Token(Token = "0x600B19E")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")]
|
||||
get
|
||||
{
|
||||
return this.mCipherSuite;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C2D RID: 7213
|
||||
// (get) Token: 0x0600B19F RID: 45471 RVA: 0x00266438 File Offset: 0x00264638
|
||||
[Token(Token = "0x17001C2D")]
|
||||
public byte CompressionAlgorithm
|
||||
{
|
||||
[Token(Token = "0x600B19F")]
|
||||
[Address(RVA = "0x4987D0", Offset = "0x4977D0", VA = "0x1804987D0")]
|
||||
get
|
||||
{
|
||||
return this.mCompressionAlgorithm;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C2E RID: 7214
|
||||
// (get) Token: 0x0600B1A0 RID: 45472 RVA: 0x0026644C File Offset: 0x0026464C
|
||||
[Token(Token = "0x17001C2E")]
|
||||
public bool IsExtendedMasterSecret
|
||||
{
|
||||
[Token(Token = "0x600B1A0")]
|
||||
[Address(RVA = "0x41CF00", Offset = "0x41BF00", VA = "0x18041CF00")]
|
||||
get
|
||||
{
|
||||
return this.mExtendedMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C2F RID: 7215
|
||||
// (get) Token: 0x0600B1A1 RID: 45473 RVA: 0x00266460 File Offset: 0x00264660
|
||||
[Token(Token = "0x17001C2F")]
|
||||
public byte[] MasterSecret
|
||||
{
|
||||
[Token(Token = "0x600B1A1")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
|
||||
get
|
||||
{
|
||||
return this.mMasterSecret;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C30 RID: 7216
|
||||
// (get) Token: 0x0600B1A2 RID: 45474 RVA: 0x00266474 File Offset: 0x00264674
|
||||
[Token(Token = "0x17001C30")]
|
||||
public Certificate PeerCertificate
|
||||
{
|
||||
[Token(Token = "0x600B1A2")]
|
||||
[Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")]
|
||||
get
|
||||
{
|
||||
return this.mPeerCertificate;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C31 RID: 7217
|
||||
// (get) Token: 0x0600B1A3 RID: 45475 RVA: 0x00266488 File Offset: 0x00264688
|
||||
[Token(Token = "0x17001C31")]
|
||||
public byte[] PskIdentity
|
||||
{
|
||||
[Token(Token = "0x600B1A3")]
|
||||
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
|
||||
get
|
||||
{
|
||||
return this.mPskIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C32 RID: 7218
|
||||
// (get) Token: 0x0600B1A4 RID: 45476 RVA: 0x0026649C File Offset: 0x0026469C
|
||||
[Token(Token = "0x17001C32")]
|
||||
public byte[] SrpIdentity
|
||||
{
|
||||
[Token(Token = "0x600B1A4")]
|
||||
[Address(RVA = "0x4157E0", Offset = "0x4147E0", VA = "0x1804157E0")]
|
||||
get
|
||||
{
|
||||
return this.mSrpIdentity;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B1A5 RID: 45477 RVA: 0x002664B0 File Offset: 0x002646B0
|
||||
[Token(Token = "0x600B1A5")]
|
||||
[Address(RVA = "0x498690", Offset = "0x497690", VA = "0x180498690")]
|
||||
public IDictionary ReadServerExtensions()
|
||||
{
|
||||
byte[] array = this.mEncodedServerExtensions;
|
||||
if (array != 0)
|
||||
{
|
||||
int num;
|
||||
MemoryStream memoryStream = new MemoryStream(array, num != 0);
|
||||
num = 0;
|
||||
return TlsProtocol.ReadExtensions(memoryStream);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007165 RID: 29029
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007165")]
|
||||
private int mCipherSuite;
|
||||
|
||||
// Token: 0x04007166 RID: 29030
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x4007166")]
|
||||
private byte mCompressionAlgorithm;
|
||||
|
||||
// Token: 0x04007167 RID: 29031
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007167")]
|
||||
private byte[] mMasterSecret;
|
||||
|
||||
// Token: 0x04007168 RID: 29032
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007168")]
|
||||
private Certificate mPeerCertificate;
|
||||
|
||||
// Token: 0x04007169 RID: 29033
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007169")]
|
||||
private byte[] mPskIdentity;
|
||||
|
||||
// Token: 0x0400716A RID: 29034
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400716A")]
|
||||
private byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x0400716B RID: 29035
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400716B")]
|
||||
private byte[] mEncodedServerExtensions;
|
||||
|
||||
// Token: 0x0400716C RID: 29036
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x400716C")]
|
||||
private bool mExtendedMasterSecret;
|
||||
|
||||
// Token: 0x02001C33 RID: 7219
|
||||
[Token(Token = "0x2001C33")]
|
||||
public sealed class Builder
|
||||
{
|
||||
// Token: 0x0600B1A6 RID: 45478 RVA: 0x002664DC File Offset: 0x002646DC
|
||||
[Token(Token = "0x600B1A6")]
|
||||
[Address(RVA = "0x4939B0", Offset = "0x4929B0", VA = "0x1804939B0")]
|
||||
public Builder()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B1A7 RID: 45479 RVA: 0x00266500 File Offset: 0x00264700
|
||||
[Token(Token = "0x600B1A7")]
|
||||
[Address(RVA = "0x4936F0", Offset = "0x4926F0", VA = "0x1804936F0")]
|
||||
public SessionParameters Build()
|
||||
{
|
||||
int num = this.mCipherSuite;
|
||||
this.Validate(num != 0, "cipherSuite");
|
||||
short num2 = this.mCompressionAlgorithm;
|
||||
this.Validate(num2 != 0, "compressionAlgorithm");
|
||||
this.Validate(num2 != 0, "masterSecret");
|
||||
int num3 = this.mCipherSuite;
|
||||
short num4 = this.mCompressionAlgorithm;
|
||||
byte[] array = this.mMasterSecret;
|
||||
Certificate certificate = this.mPeerCertificate;
|
||||
byte[] array2 = this.mPskIdentity;
|
||||
byte[] array3 = this.mSrpIdentity;
|
||||
byte[] array4 = this.mEncodedServerExtensions;
|
||||
bool flag = this.mExtendedMasterSecret;
|
||||
return new SessionParameters(num3, (byte)num4, array, certificate, array2, array3, array4, flag);
|
||||
}
|
||||
|
||||
// Token: 0x0600B1A8 RID: 45480 RVA: 0x00266590 File Offset: 0x00264790
|
||||
[Token(Token = "0x600B1A8")]
|
||||
[Address(RVA = "0x493810", Offset = "0x492810", VA = "0x180493810")]
|
||||
public SessionParameters.Builder SetCipherSuite(int cipherSuite)
|
||||
{
|
||||
this.mCipherSuite = cipherSuite;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1A9 RID: 45481 RVA: 0x002665A8 File Offset: 0x002647A8
|
||||
[Token(Token = "0x600B1A9")]
|
||||
[Address(RVA = "0x493820", Offset = "0x492820", VA = "0x180493820")]
|
||||
public SessionParameters.Builder SetCompressionAlgorithm(byte compressionAlgorithm)
|
||||
{
|
||||
this.mCompressionAlgorithm = (short)compressionAlgorithm;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1AA RID: 45482 RVA: 0x002665C0 File Offset: 0x002647C0
|
||||
[Token(Token = "0x600B1AA")]
|
||||
[Address(RVA = "0x493830", Offset = "0x492830", VA = "0x180493830")]
|
||||
public SessionParameters.Builder SetExtendedMasterSecret(bool extendedMasterSecret)
|
||||
{
|
||||
this.mExtendedMasterSecret = extendedMasterSecret;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1AB RID: 45483 RVA: 0x002665D8 File Offset: 0x002647D8
|
||||
[Token(Token = "0x600B1AB")]
|
||||
[Address(RVA = "0x493840", Offset = "0x492840", VA = "0x180493840")]
|
||||
public SessionParameters.Builder SetMasterSecret(byte[] masterSecret)
|
||||
{
|
||||
this.mMasterSecret = masterSecret;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1AC RID: 45484 RVA: 0x002665F0 File Offset: 0x002647F0
|
||||
[Token(Token = "0x600B1AC")]
|
||||
[Address(RVA = "0x493850", Offset = "0x492850", VA = "0x180493850")]
|
||||
public SessionParameters.Builder SetPeerCertificate(Certificate peerCertificate)
|
||||
{
|
||||
this.mPeerCertificate = peerCertificate;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1AD RID: 45485 RVA: 0x00266608 File Offset: 0x00264808
|
||||
[Token(Token = "0x600B1AD")]
|
||||
[Address(RVA = "0x493860", Offset = "0x492860", VA = "0x180493860")]
|
||||
public SessionParameters.Builder SetPskIdentity(byte[] pskIdentity)
|
||||
{
|
||||
this.mPskIdentity = pskIdentity;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1AE RID: 45486 RVA: 0x00266620 File Offset: 0x00264820
|
||||
[Token(Token = "0x600B1AE")]
|
||||
[Address(RVA = "0x493910", Offset = "0x492910", VA = "0x180493910")]
|
||||
public SessionParameters.Builder SetSrpIdentity(byte[] srpIdentity)
|
||||
{
|
||||
this.mSrpIdentity = srpIdentity;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1AF RID: 45487 RVA: 0x00266638 File Offset: 0x00264838
|
||||
[Token(Token = "0x600B1AF")]
|
||||
[Address(RVA = "0x493870", Offset = "0x492870", VA = "0x180493870")]
|
||||
public SessionParameters.Builder SetServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
if (serverExtensions != 0)
|
||||
{
|
||||
TlsProtocol.WriteExtensions(new MemoryStream(), serverExtensions);
|
||||
}
|
||||
int num = 0;
|
||||
this.mEncodedServerExtensions = num;
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1B0 RID: 45488 RVA: 0x00266664 File Offset: 0x00264864
|
||||
[Token(Token = "0x600B1B0")]
|
||||
[Address(RVA = "0x493920", Offset = "0x492920", VA = "0x180493920")]
|
||||
private void Validate(bool condition, string parameter)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1B0)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SessionParameters/Builder::Validate(System.Boolean,System.String)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_05:
|
||||
stloc:InvalidOperationException(var_0_1A, newobj:InvalidOperationException(InvalidOperationException::.ctor, call:string(string::Concat, ldstr:string("Required session parameter '"), ldloc:string(parameter), ldstr:string("' not configured"))))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0400716D RID: 29037
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400716D")]
|
||||
private int mCipherSuite = (int)((uint)(-1));
|
||||
|
||||
// Token: 0x0400716E RID: 29038
|
||||
[FieldOffset(Offset = "0x14")]
|
||||
[Token(Token = "0x400716E")]
|
||||
private short mCompressionAlgorithm = (short)((uint)(-1));
|
||||
|
||||
// Token: 0x0400716F RID: 29039
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400716F")]
|
||||
private byte[] mMasterSecret;
|
||||
|
||||
// Token: 0x04007170 RID: 29040
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007170")]
|
||||
private Certificate mPeerCertificate;
|
||||
|
||||
// Token: 0x04007171 RID: 29041
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x4007171")]
|
||||
private byte[] mPskIdentity;
|
||||
|
||||
// Token: 0x04007172 RID: 29042
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x4007172")]
|
||||
private byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x04007173 RID: 29043
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x4007173")]
|
||||
private byte[] mEncodedServerExtensions;
|
||||
|
||||
// Token: 0x04007174 RID: 29044
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x4007174")]
|
||||
private bool mExtendedMasterSecret;
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C34 RID: 7220
|
||||
[Token(Token = "0x2001C34")]
|
||||
public abstract class SignatureAlgorithm
|
||||
{
|
||||
// Token: 0x0600B1B1 RID: 45489 RVA: 0x0026668C File Offset: 0x0026488C
|
||||
[Token(Token = "0x600B1B1")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected SignatureAlgorithm()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007175 RID: 29045
|
||||
[Token(Token = "0x4007175")]
|
||||
public const byte anonymous = 0;
|
||||
|
||||
// Token: 0x04007176 RID: 29046
|
||||
[Token(Token = "0x4007176")]
|
||||
public const byte rsa = 1;
|
||||
|
||||
// Token: 0x04007177 RID: 29047
|
||||
[Token(Token = "0x4007177")]
|
||||
public const byte dsa = 2;
|
||||
|
||||
// Token: 0x04007178 RID: 29048
|
||||
[Token(Token = "0x4007178")]
|
||||
public const byte ecdsa = 3;
|
||||
}
|
||||
}
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C35 RID: 7221
|
||||
[Token(Token = "0x2001C35")]
|
||||
public class SignatureAndHashAlgorithm
|
||||
{
|
||||
// Token: 0x0600B1B2 RID: 45490 RVA: 0x002666A0 File Offset: 0x002648A0
|
||||
[Token(Token = "0x600B1B2")]
|
||||
[Address(RVA = "0x498CC0", Offset = "0x497CC0", VA = "0x180498CC0")]
|
||||
public SignatureAndHashAlgorithm(byte hash, byte signature)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1B2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::.ctor(System.Byte,System.Byte)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_27:
|
||||
stloc:ArgumentException(var_0_36, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("should be a uint8"), ldstr:string("hash")))
|
||||
stloc:ArgumentException(var_1_46, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("MUST NOT be \"anonymous\""), ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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: 0x17001C33 RID: 7219
|
||||
// (get) Token: 0x0600B1B3 RID: 45491 RVA: 0x002666F4 File Offset: 0x002648F4
|
||||
[Token(Token = "0x17001C33")]
|
||||
public virtual byte Hash
|
||||
{
|
||||
[Token(Token = "0x600B1B3")]
|
||||
[Address(RVA = "0x4944B0", Offset = "0x4934B0", VA = "0x1804944B0", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mHash;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C34 RID: 7220
|
||||
// (get) Token: 0x0600B1B4 RID: 45492 RVA: 0x00266708 File Offset: 0x00264908
|
||||
[Token(Token = "0x17001C34")]
|
||||
public virtual byte Signature
|
||||
{
|
||||
[Token(Token = "0x600B1B4")]
|
||||
[Address(RVA = "0x498E20", Offset = "0x497E20", VA = "0x180498E20", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mSignature;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B1B5 RID: 45493 RVA: 0x0026671C File Offset: 0x0026491C
|
||||
[Token(Token = "0x600B1B5")]
|
||||
[Address(RVA = "0x498970", Offset = "0x497970", VA = "0x180498970", Slot = "0")]
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
while (obj != 0 && obj != 0)
|
||||
{
|
||||
if (obj != 0)
|
||||
{
|
||||
string text = obj.ToString();
|
||||
string text2 = this.ToString();
|
||||
if (text == text2)
|
||||
{
|
||||
byte hash = this.Hash;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B1B6 RID: 45494 RVA: 0x00266758 File Offset: 0x00264958
|
||||
[Token(Token = "0x600B1B6")]
|
||||
[Address(RVA = "0x498AB0", Offset = "0x497AB0", VA = "0x180498AB0", Slot = "2")]
|
||||
public override int GetHashCode()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1B6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::GetHashCode()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:string(var_0_06, callvirt:string(object::ToString, ldloc:SignatureAndHashAlgorithm[exp:object](this)))
|
||||
stloc:uint8(var_1_0D, callvirtgetter:uint8(SignatureAndHashAlgorithm::get_Hash, ldloc:SignatureAndHashAlgorithm(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: 0x0600B1B7 RID: 45495 RVA: 0x00266774 File Offset: 0x00264974
|
||||
[Token(Token = "0x600B1B7")]
|
||||
[Address(RVA = "0x4988C0", Offset = "0x4978C0", VA = "0x1804988C0", Slot = "6")]
|
||||
public virtual void Encode(Stream output)
|
||||
{
|
||||
string text = this.ToString();
|
||||
TlsUtilities.WriteUint8(this.Hash, output);
|
||||
}
|
||||
|
||||
// Token: 0x0600B1B8 RID: 45496 RVA: 0x00266794 File Offset: 0x00264994
|
||||
[Token(Token = "0x600B1B8")]
|
||||
[Address(RVA = "0x498B00", Offset = "0x497B00", VA = "0x180498B00")]
|
||||
public static SignatureAndHashAlgorithm Parse(Stream input)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1B8)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SignatureAndHashAlgorithm::Parse(System.IO.Stream)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_30:
|
||||
stloc:ArgumentException(var_3_3F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("should be a uint8"), ldstr:string("hash")))
|
||||
stloc:ArgumentException(var_4_4F, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("MUST NOT be \"anonymous\""), ldstr:string("signature")))
|
||||
}
|
||||
|
||||
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: 0x04007179 RID: 29049
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007179")]
|
||||
protected readonly byte mHash;
|
||||
|
||||
// Token: 0x0400717A RID: 29050
|
||||
[FieldOffset(Offset = "0x11")]
|
||||
[Token(Token = "0x400717A")]
|
||||
protected readonly byte mSignature;
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C36 RID: 7222
|
||||
[Token(Token = "0x2001C36")]
|
||||
internal class SignerInputBuffer : MemoryStream
|
||||
{
|
||||
// Token: 0x0600B1B9 RID: 45497 RVA: 0x002667F4 File Offset: 0x002649F4
|
||||
[Token(Token = "0x600B1B9")]
|
||||
[Address(RVA = "0x498E30", Offset = "0x497E30", VA = "0x180498E30")]
|
||||
internal void UpdateSigner(ISigner s)
|
||||
{
|
||||
SignerInputBuffer.SigStream sigStream;
|
||||
sigStream.s = s;
|
||||
Streams.WriteBufTo(this, sigStream);
|
||||
}
|
||||
|
||||
// Token: 0x0600B1BA RID: 45498 RVA: 0x00266810 File Offset: 0x00264A10
|
||||
[Token(Token = "0x600B1BA")]
|
||||
[Address(RVA = "0x495270", Offset = "0x494270", VA = "0x180495270")]
|
||||
public SignerInputBuffer()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x02001C37 RID: 7223
|
||||
[Token(Token = "0x2001C37")]
|
||||
private class SigStream : BaseOutputStream
|
||||
{
|
||||
// Token: 0x0600B1BB RID: 45499 RVA: 0x00266824 File Offset: 0x00264A24
|
||||
[Token(Token = "0x600B1BB")]
|
||||
[Address(RVA = "0x493F00", Offset = "0x492F00", VA = "0x180493F00")]
|
||||
internal SigStream(ISigner s)
|
||||
{
|
||||
this.s = s;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1BC RID: 45500 RVA: 0x00266840 File Offset: 0x00264A40
|
||||
[Token(Token = "0x600B1BC")]
|
||||
[Address(RVA = "0x4987E0", Offset = "0x4977E0", VA = "0x1804987E0", Slot = "30")]
|
||||
public override void WriteByte(byte b)
|
||||
{
|
||||
ISigner signer = this.s;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B1BD RID: 45501 RVA: 0x0026685C File Offset: 0x00264A5C
|
||||
[Token(Token = "0x600B1BD")]
|
||||
[Address(RVA = "0x498840", Offset = "0x497840", VA = "0x180498840", Slot = "29")]
|
||||
public override void Write(byte[] buf, int off, int len)
|
||||
{
|
||||
ISigner signer = this.s;
|
||||
}
|
||||
|
||||
// Token: 0x0400717B RID: 29051
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400717B")]
|
||||
private readonly ISigner s;
|
||||
}
|
||||
}
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Agreement.Srp;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C38 RID: 7224
|
||||
[Token(Token = "0x2001C38")]
|
||||
public class SimulatedTlsSrpIdentityManager : TlsSrpIdentityManager
|
||||
{
|
||||
// Token: 0x0600B1BE RID: 45502 RVA: 0x00266878 File Offset: 0x00264A78
|
||||
[Token(Token = "0x600B1BE")]
|
||||
[Address(RVA = "0x499110", Offset = "0x498110", VA = "0x180499110")]
|
||||
public static SimulatedTlsSrpIdentityManager GetRfc5054Default(Srp6GroupParameters group, byte[] seedKey)
|
||||
{
|
||||
Srp6VerifierGenerator srp6VerifierGenerator = new Srp6VerifierGenerator();
|
||||
IDigest digest;
|
||||
HMac hmac = new HMac(digest);
|
||||
KeyParameter keyParameter = new KeyParameter(seedKey);
|
||||
IDigest underlyingDigest = hmac.GetUnderlyingDigest();
|
||||
SimulatedTlsSrpIdentityManager simulatedTlsSrpIdentityManager;
|
||||
simulatedTlsSrpIdentityManager.mGroup = group;
|
||||
simulatedTlsSrpIdentityManager.mVerifierGenerator = srp6VerifierGenerator;
|
||||
simulatedTlsSrpIdentityManager.mMac = hmac;
|
||||
return simulatedTlsSrpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1BF RID: 45503 RVA: 0x002668C4 File Offset: 0x00264AC4
|
||||
[Token(Token = "0x600B1BF")]
|
||||
[Address(RVA = "0x466000", Offset = "0x465000", VA = "0x180466000")]
|
||||
public SimulatedTlsSrpIdentityManager(Srp6GroupParameters group, Srp6VerifierGenerator verifierGenerator, IMac mac)
|
||||
{
|
||||
this.mGroup = group;
|
||||
this.mVerifierGenerator = verifierGenerator;
|
||||
this.mMac = mac;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C0 RID: 45504 RVA: 0x002668EC File Offset: 0x00264AEC
|
||||
[Token(Token = "0x600B1C0")]
|
||||
[Address(RVA = "0x498EA0", Offset = "0x497EA0", VA = "0x180498EA0", Slot = "5")]
|
||||
public virtual TlsSrpLoginParameters GetLoginParameters(byte[] identity)
|
||||
{
|
||||
IMac mac = this.mMac;
|
||||
int length = SimulatedTlsSrpIdentityManager.PREFIX_SALT.Length;
|
||||
IMac mac2 = this.mMac;
|
||||
int length2 = identity.Length;
|
||||
IMac mac3 = this.mMac;
|
||||
byte[] array = new byte[length2];
|
||||
IMac mac4 = this.mMac;
|
||||
byte[] prefix_PASSWORD = SimulatedTlsSrpIdentityManager.PREFIX_PASSWORD;
|
||||
IMac mac5 = this.mMac;
|
||||
int length3 = prefix_PASSWORD.Length;
|
||||
IMac mac6 = this.mMac;
|
||||
int length4 = identity.Length;
|
||||
IMac mac7 = this.mMac;
|
||||
byte[] array2 = new byte[length4];
|
||||
IMac mac8 = this.mMac;
|
||||
Srp6VerifierGenerator srp6VerifierGenerator = this.mVerifierGenerator;
|
||||
TlsSrpLoginParameters tlsSrpLoginParameters;
|
||||
return tlsSrpLoginParameters;
|
||||
}
|
||||
|
||||
// Token: 0x0400717C RID: 29052
|
||||
[Token(Token = "0x400717C")]
|
||||
private static readonly byte[] PREFIX_PASSWORD = Strings.ToByteArray("password");
|
||||
|
||||
// Token: 0x0400717D RID: 29053
|
||||
[Token(Token = "0x400717D")]
|
||||
private static readonly byte[] PREFIX_SALT = Strings.ToByteArray("salt");
|
||||
|
||||
// Token: 0x0400717E RID: 29054
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x400717E")]
|
||||
protected readonly Srp6GroupParameters mGroup;
|
||||
|
||||
// Token: 0x0400717F RID: 29055
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400717F")]
|
||||
protected readonly Srp6VerifierGenerator mVerifierGenerator;
|
||||
|
||||
// Token: 0x04007180 RID: 29056
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007180")]
|
||||
protected readonly IMac mMac;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C39 RID: 7225
|
||||
[Token(Token = "0x2001C39")]
|
||||
public class SrpTlsClient : AbstractTlsClient
|
||||
{
|
||||
// Token: 0x0600B1C2 RID: 45506 RVA: 0x002669B4 File Offset: 0x00264BB4
|
||||
[Token(Token = "0x600B1C2")]
|
||||
[Address(RVA = "0x4996B0", Offset = "0x4986B0", VA = "0x1804996B0")]
|
||||
public SrpTlsClient(byte[] identity, byte[] password)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
DefaultTlsSrpGroupVerifier defaultTlsSrpGroupVerifier = new DefaultTlsSrpGroupVerifier();
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C3 RID: 45507 RVA: 0x002669D0 File Offset: 0x00264BD0
|
||||
[Token(Token = "0x600B1C3")]
|
||||
[Address(RVA = "0x499760", Offset = "0x498760", VA = "0x180499760")]
|
||||
public SrpTlsClient(TlsCipherFactory cipherFactory, byte[] identity, byte[] password)
|
||||
{
|
||||
DefaultTlsSrpGroupVerifier defaultTlsSrpGroupVerifier = new DefaultTlsSrpGroupVerifier();
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C4 RID: 45508 RVA: 0x002669E4 File Offset: 0x00264BE4
|
||||
[Token(Token = "0x600B1C4")]
|
||||
[Address(RVA = "0x499610", Offset = "0x498610", VA = "0x180499610")]
|
||||
public SrpTlsClient(TlsCipherFactory cipherFactory, TlsSrpGroupVerifier groupVerifier, byte[] identity, byte[] password)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mGroupVerifier = groupVerifier;
|
||||
byte[] array = Arrays.Clone(identity);
|
||||
this.mIdentity = array;
|
||||
byte[] array2;
|
||||
this.mPassword = array2;
|
||||
}
|
||||
|
||||
// Token: 0x17001C35 RID: 7221
|
||||
// (get) Token: 0x0600B1C5 RID: 45509 RVA: 0x00266A14 File Offset: 0x00264C14
|
||||
[Token(Token = "0x17001C35")]
|
||||
protected virtual bool RequireSrpServerExtension
|
||||
{
|
||||
[Token(Token = "0x600B1C5")]
|
||||
[Address(RVA = "0x424690", Offset = "0x423690", VA = "0x180424690", Slot = "61")]
|
||||
get
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C6 RID: 45510 RVA: 0x00266A24 File Offset: 0x00264C24
|
||||
[Token(Token = "0x600B1C6")]
|
||||
[Address(RVA = "0x4993C0", Offset = "0x4983C0", VA = "0x1804993C0", Slot = "50")]
|
||||
public override int[] GetCipherSuites()
|
||||
{
|
||||
return new int[] { (int)((ulong)49182L) };
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C7 RID: 45511 RVA: 0x00266A50 File Offset: 0x00264C50
|
||||
[Token(Token = "0x600B1C7")]
|
||||
[Address(RVA = "0x499420", Offset = "0x498420", VA = "0x180499420", Slot = "47")]
|
||||
public override IDictionary GetClientExtensions()
|
||||
{
|
||||
IDictionary clientExtensions = base.GetClientExtensions();
|
||||
if (clientExtensions == 0)
|
||||
{
|
||||
IDictionary dictionary = Platform.CreateHashtable();
|
||||
}
|
||||
byte[] array = this.mIdentity;
|
||||
TlsSrpUtilities.AddSrpExtension(clientExtensions, array);
|
||||
return clientExtensions;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C8 RID: 45512 RVA: 0x00266A80 File Offset: 0x00264C80
|
||||
[Token(Token = "0x600B1C8")]
|
||||
[Address(RVA = "0x499550", Offset = "0x498550", VA = "0x180499550", Slot = "55")]
|
||||
public override void ProcessServerExtensions(IDictionary serverExtensions)
|
||||
{
|
||||
bool flag;
|
||||
if (!flag)
|
||||
{
|
||||
}
|
||||
base.ProcessServerExtensions(serverExtensions);
|
||||
}
|
||||
|
||||
// Token: 0x0600B1C9 RID: 45513 RVA: 0x00266A98 File Offset: 0x00264C98
|
||||
[Token(Token = "0x600B1C9")]
|
||||
[Address(RVA = "0x4994A0", Offset = "0x4984A0", VA = "0x1804994A0", Slot = "57")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1C9)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsClient::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:int32[](var_2_18, call:int32[](AbstractTlsClient::GetCipherSuites, ldloc:SrpTlsClient[exp: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: 0x0600B1CA RID: 45514 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B1CA")]
|
||||
[Address(RVA = "0x499370", Offset = "0x498370", VA = "0x180499370", Slot = "58")]
|
||||
public override TlsAuthentication GetAuthentication()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B1CB RID: 45515 RVA: 0x00266AC0 File Offset: 0x00264CC0
|
||||
[Token(Token = "0x600B1CB")]
|
||||
[Address(RVA = "0x4992D0", Offset = "0x4982D0", VA = "0x1804992D0", Slot = "62")]
|
||||
protected virtual TlsKeyExchange CreateSrpKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1CB)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsClient::CreateSrpKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsClient::mSupportedSignatureAlgorithms, ldloc:SrpTlsClient[exp:AbstractTlsClient](this)))
|
||||
stloc:TlsSrpGroupVerifier(var_1_0D, ldfld:TlsSrpGroupVerifier(SrpTlsClient::mGroupVerifier, ldloc:SrpTlsClient(this)))
|
||||
stloc:uint8[](var_2_14, ldfld:uint8[](SrpTlsClient::mIdentity, ldloc:SrpTlsClient(this)))
|
||||
stloc:uint8[](var_3_1B, ldfld:uint8[](SrpTlsClient::mPassword, ldloc:SrpTlsClient(this)))
|
||||
stloc:TlsSrpKeyExchange(var_4_26, newobj:TlsSrpKeyExchange(TlsSrpKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:TlsSrpGroupVerifier(var_1_0D), ldloc:uint8[](var_2_14), ldloc:uint8[](var_3_1B)))
|
||||
}
|
||||
|
||||
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: 0x04007181 RID: 29057
|
||||
[FieldOffset(Offset = "0x50")]
|
||||
[Token(Token = "0x4007181")]
|
||||
protected TlsSrpGroupVerifier mGroupVerifier;
|
||||
|
||||
// Token: 0x04007182 RID: 29058
|
||||
[FieldOffset(Offset = "0x58")]
|
||||
[Token(Token = "0x4007182")]
|
||||
protected byte[] mIdentity;
|
||||
|
||||
// Token: 0x04007183 RID: 29059
|
||||
[FieldOffset(Offset = "0x60")]
|
||||
[Token(Token = "0x4007183")]
|
||||
protected byte[] mPassword;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C3A RID: 7226
|
||||
[Token(Token = "0x2001C3A")]
|
||||
public class SrpTlsServer : AbstractTlsServer
|
||||
{
|
||||
// Token: 0x0600B1CC RID: 45516 RVA: 0x00266AF4 File Offset: 0x00264CF4
|
||||
[Token(Token = "0x600B1CC")]
|
||||
[Address(RVA = "0x499CA0", Offset = "0x498CA0", VA = "0x180499CA0")]
|
||||
public SrpTlsServer(TlsSrpIdentityManager srpIdentityManager)
|
||||
{
|
||||
DefaultTlsCipherFactory defaultTlsCipherFactory = new DefaultTlsCipherFactory();
|
||||
base..ctor(defaultTlsCipherFactory);
|
||||
this.mSrpIdentityManager = srpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1CD RID: 45517 RVA: 0x00266B18 File Offset: 0x00264D18
|
||||
[Token(Token = "0x600B1CD")]
|
||||
[Address(RVA = "0x4962C0", Offset = "0x4952C0", VA = "0x1804962C0")]
|
||||
public SrpTlsServer(TlsCipherFactory cipherFactory, TlsSrpIdentityManager srpIdentityManager)
|
||||
: base(cipherFactory)
|
||||
{
|
||||
this.mSrpIdentityManager = srpIdentityManager;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1CE RID: 45518 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B1CE")]
|
||||
[Address(RVA = "0x4999D0", Offset = "0x4989D0", VA = "0x1804999D0", Slot = "63")]
|
||||
protected virtual TlsSignerCredentials GetDsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B1CF RID: 45519 RVA: 0x0000220F File Offset: 0x0000040F
|
||||
[Token(Token = "0x600B1CF")]
|
||||
[Address(RVA = "0x499AD0", Offset = "0x498AD0", VA = "0x180499AD0", Slot = "64")]
|
||||
protected virtual TlsSignerCredentials GetRsaSignerCredentials()
|
||||
{
|
||||
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
||||
}
|
||||
|
||||
// Token: 0x0600B1D0 RID: 45520 RVA: 0x00266B34 File Offset: 0x00264D34
|
||||
[Token(Token = "0x600B1D0")]
|
||||
[Address(RVA = "0x4998A0", Offset = "0x4988A0", VA = "0x1804998A0", Slot = "41")]
|
||||
protected override int[] GetCipherSuites()
|
||||
{
|
||||
int[] array = new int[6];
|
||||
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.A6BA6E61D8DC7245D265FDFACD05778F1F6FA238).FieldHandle);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1D1 RID: 45521 RVA: 0x00266B54 File Offset: 0x00264D54
|
||||
[Token(Token = "0x600B1D1")]
|
||||
[Address(RVA = "0x499C60", Offset = "0x498C60", VA = "0x180499C60", Slot = "50")]
|
||||
public override void ProcessClientExtensions(IDictionary clientExtensions)
|
||||
{
|
||||
base.ProcessClientExtensions(clientExtensions);
|
||||
byte[] srpExtension = TlsSrpUtilities.GetSrpExtension(clientExtensions);
|
||||
this.mSrpIdentity = srpExtension;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1D2 RID: 45522 RVA: 0x00266B78 File Offset: 0x00264D78
|
||||
[Token(Token = "0x600B1D2")]
|
||||
[Address(RVA = "0x499B20", Offset = "0x498B20", VA = "0x180499B20", Slot = "52")]
|
||||
public override int GetSelectedCipherSuite()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1D2)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetSelectedCipherSuite()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_4C:
|
||||
stloc:TlsFatalAlert(var_5_53, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_6)))
|
||||
}
|
||||
|
||||
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
||||
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
||||
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: 0x0600B1D3 RID: 45523 RVA: 0x00266BDC File Offset: 0x00264DDC
|
||||
[Token(Token = "0x600B1D3")]
|
||||
[Address(RVA = "0x4998F0", Offset = "0x4988F0", VA = "0x1804998F0", Slot = "56")]
|
||||
public override TlsCredentials GetCredentials()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1D3)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsCredentials BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetCredentials()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_17:
|
||||
stloc:TlsFatalAlert(var_2_1D, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_3)))
|
||||
}
|
||||
|
||||
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: 0x0600B1D4 RID: 45524 RVA: 0x00266C08 File Offset: 0x00264E08
|
||||
[Token(Token = "0x600B1D4")]
|
||||
[Address(RVA = "0x499A20", Offset = "0x498A20", VA = "0x180499A20", Slot = "58")]
|
||||
public override TlsKeyExchange GetKeyExchange()
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1D4)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::GetKeyExchange()
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:TlsCompression(var_2_18, call:TlsCompression(AbstractTlsPeer::GetCompression, ldloc:SrpTlsServer[exp:AbstractTlsPeer](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: 0x0600B1D5 RID: 45525 RVA: 0x00266C30 File Offset: 0x00264E30
|
||||
[Token(Token = "0x600B1D5")]
|
||||
[Address(RVA = "0x499800", Offset = "0x498800", VA = "0x180499800", Slot = "65")]
|
||||
protected virtual TlsKeyExchange CreateSrpKeyExchange(int keyExchange)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1D5)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsKeyExchange BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.SrpTlsServer::CreateSrpKeyExchange(System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
Block_0:
|
||||
stloc:IList(var_0_06, ldfld:IList(AbstractTlsServer::mSupportedSignatureAlgorithms, ldloc:SrpTlsServer[exp:AbstractTlsServer](this)))
|
||||
stloc:uint8[](var_1_0D, ldfld:uint8[](SrpTlsServer::mSrpIdentity, ldloc:SrpTlsServer(this)))
|
||||
stloc:TlsSrpLoginParameters(var_2_14, ldfld:TlsSrpLoginParameters(SrpTlsServer::mLoginParameters, ldloc:SrpTlsServer(this)))
|
||||
stloc:TlsSrpKeyExchange(var_3_1E, newobj:TlsSrpKeyExchange(TlsSrpKeyExchange::.ctor, ldloc:int32(keyExchange), ldloc:IList(var_0_06), ldloc:uint8[](var_1_0D), ldloc:TlsSrpLoginParameters(var_2_14)))
|
||||
}
|
||||
|
||||
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: 0x04007184 RID: 29060
|
||||
[FieldOffset(Offset = "0x88")]
|
||||
[Token(Token = "0x4007184")]
|
||||
protected TlsSrpIdentityManager mSrpIdentityManager;
|
||||
|
||||
// Token: 0x04007185 RID: 29061
|
||||
[FieldOffset(Offset = "0x90")]
|
||||
[Token(Token = "0x4007185")]
|
||||
protected byte[] mSrpIdentity;
|
||||
|
||||
// Token: 0x04007186 RID: 29062
|
||||
[FieldOffset(Offset = "0x98")]
|
||||
[Token(Token = "0x4007186")]
|
||||
protected TlsSrpLoginParameters mLoginParameters;
|
||||
}
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C3B RID: 7227
|
||||
[Token(Token = "0x2001C3B")]
|
||||
public abstract class SrtpProtectionProfile
|
||||
{
|
||||
// Token: 0x0600B1D6 RID: 45526 RVA: 0x00266C5C File Offset: 0x00264E5C
|
||||
[Token(Token = "0x600B1D6")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected SrtpProtectionProfile()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007187 RID: 29063
|
||||
[Token(Token = "0x4007187")]
|
||||
public const int SRTP_AES128_CM_HMAC_SHA1_80 = 1;
|
||||
|
||||
// Token: 0x04007188 RID: 29064
|
||||
[Token(Token = "0x4007188")]
|
||||
public const int SRTP_AES128_CM_HMAC_SHA1_32 = 2;
|
||||
|
||||
// Token: 0x04007189 RID: 29065
|
||||
[Token(Token = "0x4007189")]
|
||||
public const int SRTP_NULL_HMAC_SHA1_80 = 5;
|
||||
|
||||
// Token: 0x0400718A RID: 29066
|
||||
[Token(Token = "0x400718A")]
|
||||
public const int SRTP_NULL_HMAC_SHA1_32 = 6;
|
||||
|
||||
// Token: 0x0400718B RID: 29067
|
||||
[Token(Token = "0x400718B")]
|
||||
public const int SRTP_AEAD_AES_128_GCM = 7;
|
||||
|
||||
// Token: 0x0400718C RID: 29068
|
||||
[Token(Token = "0x400718C")]
|
||||
public const int SRTP_AEAD_AES_256_GCM = 8;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C3C RID: 7228
|
||||
[Token(Token = "0x2001C3C")]
|
||||
public class Ssl3Mac : IMac
|
||||
{
|
||||
// Token: 0x0600B1D7 RID: 45527 RVA: 0x00266C70 File Offset: 0x00264E70
|
||||
[Token(Token = "0x600B1D7")]
|
||||
[Address(RVA = "0x49A390", Offset = "0x499390", VA = "0x18049A390")]
|
||||
public Ssl3Mac(IDigest digest)
|
||||
{
|
||||
this.digest = digest;
|
||||
this.padLength = (int)((uint)48);
|
||||
}
|
||||
|
||||
// Token: 0x17001C36 RID: 7222
|
||||
// (get) Token: 0x0600B1D8 RID: 45528 RVA: 0x00266C9C File Offset: 0x00264E9C
|
||||
[Token(Token = "0x17001C36")]
|
||||
public virtual string AlgorithmName
|
||||
{
|
||||
[Token(Token = "0x600B1D8")]
|
||||
[Address(RVA = "0x49A410", Offset = "0x499410", VA = "0x18049A410", Slot = "11")]
|
||||
get
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
int num = 0;
|
||||
num += num;
|
||||
num++;
|
||||
string text;
|
||||
return text;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600B1D9 RID: 45529 RVA: 0x00266CC4 File Offset: 0x00264EC4
|
||||
[Token(Token = "0x600B1D9")]
|
||||
[Address(RVA = "0x49A010", Offset = "0x499010", VA = "0x18049A010", Slot = "12")]
|
||||
public virtual void Init(ICipherParameters parameters)
|
||||
{
|
||||
while (parameters == 0 || parameters == 0)
|
||||
{
|
||||
}
|
||||
byte[] array2;
|
||||
byte[] array = Arrays.Clone(array2);
|
||||
this.secret = array;
|
||||
string algorithmName = ((IMac)this).AlgorithmName;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1DA RID: 45530 RVA: 0x00266CFC File Offset: 0x00264EFC
|
||||
[Token(Token = "0x600B1DA")]
|
||||
[Address(RVA = "0x499FC0", Offset = "0x498FC0", VA = "0x180499FC0", Slot = "13")]
|
||||
public virtual int GetMacSize()
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B1DB RID: 45531 RVA: 0x00266D18 File Offset: 0x00264F18
|
||||
[Token(Token = "0x600B1DB")]
|
||||
[Address(RVA = "0x49A230", Offset = "0x499230", VA = "0x18049A230", Slot = "14")]
|
||||
public virtual void Update(byte input)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B1DC RID: 45532 RVA: 0x00266D34 File Offset: 0x00264F34
|
||||
[Token(Token = "0x600B1DC")]
|
||||
[Address(RVA = "0x499D10", Offset = "0x498D10", VA = "0x180499D10", Slot = "15")]
|
||||
public virtual void BlockUpdate(byte[] input, int inOff, int len)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1DD RID: 45533 RVA: 0x00266D50 File Offset: 0x00264F50
|
||||
[Token(Token = "0x600B1DD")]
|
||||
[Address(RVA = "0x499D90", Offset = "0x498D90", VA = "0x180499D90", Slot = "16")]
|
||||
public virtual int DoFinal(byte[] output, int outOff)
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
byte[] array = new byte[0];
|
||||
IDigest digest2 = this.digest;
|
||||
byte[] array2 = this.secret;
|
||||
IDigest digest3 = this.digest;
|
||||
int length = array2.Length;
|
||||
IDigest digest4 = this.digest;
|
||||
int num = this.padLength;
|
||||
IDigest digest5 = this.digest;
|
||||
int length2 = array.Length;
|
||||
IDigest digest6 = this.digest;
|
||||
return length2;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1DE RID: 45534 RVA: 0x00266DC0 File Offset: 0x00264FC0
|
||||
[Token(Token = "0x600B1DE")]
|
||||
[Address(RVA = "0x49A130", Offset = "0x499130", VA = "0x18049A130", Slot = "17")]
|
||||
public virtual void Reset()
|
||||
{
|
||||
IDigest digest = this.digest;
|
||||
byte[] array = this.secret;
|
||||
IDigest digest2 = this.digest;
|
||||
int length = array.Length;
|
||||
IDigest digest3 = this.digest;
|
||||
int num = this.padLength;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1DF RID: 45535 RVA: 0x00266E00 File Offset: 0x00265000
|
||||
[Token(Token = "0x600B1DF")]
|
||||
[Address(RVA = "0x499F40", Offset = "0x498F40", VA = "0x180499F40")]
|
||||
private static byte[] GenPad(byte b, int count)
|
||||
{
|
||||
byte[] array = new byte[count];
|
||||
Arrays.Fill(array, b);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x0400718D RID: 29069
|
||||
[Token(Token = "0x400718D")]
|
||||
private const byte IPAD_BYTE = 54;
|
||||
|
||||
// Token: 0x0400718E RID: 29070
|
||||
[Token(Token = "0x400718E")]
|
||||
private const byte OPAD_BYTE = 92;
|
||||
|
||||
// Token: 0x0400718F RID: 29071
|
||||
[Token(Token = "0x400718F")]
|
||||
internal static readonly byte[] IPAD = new byte[48];
|
||||
|
||||
// Token: 0x04007190 RID: 29072
|
||||
[Token(Token = "0x4007190")]
|
||||
internal static readonly byte[] OPAD = new byte[48];
|
||||
|
||||
// Token: 0x04007191 RID: 29073
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007191")]
|
||||
private readonly IDigest digest;
|
||||
|
||||
// Token: 0x04007192 RID: 29074
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007192")]
|
||||
private readonly int padLength;
|
||||
|
||||
// Token: 0x04007193 RID: 29075
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x4007193")]
|
||||
private byte[] secret;
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C3D RID: 7229
|
||||
[Token(Token = "0x2001C3D")]
|
||||
public class SupplementalDataEntry
|
||||
{
|
||||
// Token: 0x0600B1E1 RID: 45537 RVA: 0x00266E44 File Offset: 0x00265044
|
||||
[Token(Token = "0x600B1E1")]
|
||||
[Address(RVA = "0x49A4C0", Offset = "0x4994C0", VA = "0x18049A4C0")]
|
||||
public SupplementalDataEntry(int dataType, byte[] data)
|
||||
{
|
||||
this.mDataType = dataType;
|
||||
this.mData = data;
|
||||
}
|
||||
|
||||
// Token: 0x17001C37 RID: 7223
|
||||
// (get) Token: 0x0600B1E2 RID: 45538 RVA: 0x00266E68 File Offset: 0x00265068
|
||||
[Token(Token = "0x17001C37")]
|
||||
public virtual int DataType
|
||||
{
|
||||
[Token(Token = "0x600B1E2")]
|
||||
[Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000", Slot = "4")]
|
||||
get
|
||||
{
|
||||
return this.mDataType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17001C38 RID: 7224
|
||||
// (get) Token: 0x0600B1E3 RID: 45539 RVA: 0x00266E7C File Offset: 0x0026507C
|
||||
[Token(Token = "0x17001C38")]
|
||||
public virtual byte[] Data
|
||||
{
|
||||
[Token(Token = "0x600B1E3")]
|
||||
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0", Slot = "5")]
|
||||
get
|
||||
{
|
||||
return this.mData;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04007194 RID: 29076
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007194")]
|
||||
protected readonly int mDataType;
|
||||
|
||||
// Token: 0x04007195 RID: 29077
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x4007195")]
|
||||
protected readonly byte[] mData;
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C3E RID: 7230
|
||||
[Token(Token = "0x2001C3E")]
|
||||
public abstract class SupplementalDataType
|
||||
{
|
||||
// Token: 0x0600B1E4 RID: 45540 RVA: 0x00266E90 File Offset: 0x00265090
|
||||
[Token(Token = "0x600B1E4")]
|
||||
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
||||
protected SupplementalDataType()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04007196 RID: 29078
|
||||
[Token(Token = "0x4007196")]
|
||||
public const int user_mapping_data = 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,239 @@
|
||||
using System;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes;
|
||||
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
||||
using Cpp2IlInjected;
|
||||
using Hjg.Pngcs;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C3F RID: 7231
|
||||
[Token(Token = "0x2001C3F")]
|
||||
public class TlsAeadCipher : TlsCipher
|
||||
{
|
||||
// Token: 0x0600B1E5 RID: 45541 RVA: 0x00266EA4 File Offset: 0x002650A4
|
||||
[Token(Token = "0x600B1E5")]
|
||||
[Address(RVA = "0x49AE30", Offset = "0x499E30", VA = "0x18049AE30")]
|
||||
public TlsAeadCipher(TlsContext context, IAeadBlockCipher clientWriteCipher, IAeadBlockCipher serverWriteCipher, int cipherKeySize, int macSize)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x0600B1E6 RID: 45542 RVA: 0x00266EB4 File Offset: 0x002650B4
|
||||
[Token(Token = "0x600B1E6")]
|
||||
[Address(RVA = "0x49AE60", Offset = "0x499E60", VA = "0x18049AE60")]
|
||||
internal TlsAeadCipher(TlsContext context, IAeadBlockCipher clientWriteCipher, IAeadBlockCipher serverWriteCipher, int cipherKeySize, int macSize, int nonceMode)
|
||||
{
|
||||
/*
|
||||
An exception occurred when decompiling this method (0600B1E6)
|
||||
|
||||
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsAeadCipher::.ctor(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher,System.Int32,System.Int32,System.Int32)
|
||||
|
||||
---> System.Exception: Basic block has to end with unconditional control flow.
|
||||
{
|
||||
IL_82:
|
||||
stloc:TlsFatalAlert(var_12_89, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_13)))
|
||||
stloc:TlsFatalAlert(var_14_92, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_15)))
|
||||
}
|
||||
|
||||
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: 0x0600B1E7 RID: 45543 RVA: 0x00266F54 File Offset: 0x00265154
|
||||
[Token(Token = "0x600B1E7")]
|
||||
[Address(RVA = "0x49AE20", Offset = "0x499E20", VA = "0x18049AE20", Slot = "7")]
|
||||
public virtual int GetPlaintextLimit(int ciphertextLimit)
|
||||
{
|
||||
return ciphertextLimit;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1E8 RID: 45544 RVA: 0x00266F64 File Offset: 0x00265164
|
||||
[Token(Token = "0x600B1E8")]
|
||||
[Address(RVA = "0x49A920", Offset = "0x499920", VA = "0x18049A920", Slot = "8")]
|
||||
public virtual byte[] EncodePlaintext(long seqNo, byte type, byte[] plaintext, int offset, int len)
|
||||
{
|
||||
byte[] array2;
|
||||
byte[] array4;
|
||||
for (;;)
|
||||
{
|
||||
byte[] array = this.encryptImplicitNonce;
|
||||
int num = this.record_iv_length;
|
||||
int length = array.Length;
|
||||
num += length;
|
||||
array2 = new byte[num];
|
||||
int num2 = this.nonceMode;
|
||||
if (num2 == 1)
|
||||
{
|
||||
byte[] array3 = this.encryptImplicitNonce;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array2, num3, length2);
|
||||
int length3 = this.encryptImplicitNonce.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length3);
|
||||
IAeadBlockCipher aeadBlockCipher = this.encryptCipher;
|
||||
int num5 = this.record_iv_length;
|
||||
num5 += num2;
|
||||
array4 = new byte[num5];
|
||||
int num6 = this.record_iv_length;
|
||||
if (num6 != 0)
|
||||
{
|
||||
int num7 = array2.Length;
|
||||
num7 -= num6;
|
||||
int num8 = 0;
|
||||
Array.Copy(array2, num7, array4, num8, num6);
|
||||
}
|
||||
int num9 = this.macSize;
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.encryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher3 = this.encryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher4 = this.encryptCipher;
|
||||
AeadParameters aeadParameters;
|
||||
num9 += aeadParameters;
|
||||
if (num9 == array4.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (num2 == 2)
|
||||
{
|
||||
goto Block_3;
|
||||
}
|
||||
}
|
||||
return array4;
|
||||
Block_3:
|
||||
int length4 = array2.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length4);
|
||||
int num10 = 0;
|
||||
int i = 0;
|
||||
byte[] array5 = this.encryptImplicitNonce;
|
||||
while (i >= array5.Length)
|
||||
{
|
||||
}
|
||||
num10++;
|
||||
byte[] array6 = this.encryptImplicitNonce;
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600B1E9 RID: 45545 RVA: 0x002670AC File Offset: 0x002652AC
|
||||
[Token(Token = "0x600B1E9")]
|
||||
[Address(RVA = "0x49A500", Offset = "0x499500", VA = "0x18049A500", Slot = "9")]
|
||||
public virtual byte[] DecodeCiphertext(long seqNo, byte type, byte[] ciphertext, int offset, int len)
|
||||
{
|
||||
byte[] array6;
|
||||
for (;;)
|
||||
{
|
||||
byte[] array = this.decryptImplicitNonce;
|
||||
int num = this.record_iv_length;
|
||||
int length = array.Length;
|
||||
num += length;
|
||||
byte[] array2 = new byte[num];
|
||||
int num2 = this.nonceMode;
|
||||
if (num2 == 1)
|
||||
{
|
||||
byte[] array3 = this.decryptImplicitNonce;
|
||||
int length2 = array3.Length;
|
||||
int num3 = 0;
|
||||
int num4 = 0;
|
||||
Array.Copy(array3, num4, array2, num3, length2);
|
||||
int num5 = this.record_iv_length;
|
||||
int num6 = array2.Length;
|
||||
num6 -= num5;
|
||||
Array.Copy(ciphertext, (int)seqNo, array2, num6, num5);
|
||||
}
|
||||
if (num2 == 2)
|
||||
{
|
||||
int length3 = array2.Length;
|
||||
TlsUtilities.WriteUint64(seqNo, array2, length3);
|
||||
int num7 = 0;
|
||||
int num8 = 0;
|
||||
byte[] array4 = this.decryptImplicitNonce;
|
||||
if (num8 < array4.Length)
|
||||
{
|
||||
num7++;
|
||||
byte[] array5 = this.decryptImplicitNonce;
|
||||
}
|
||||
int num9 = this.record_iv_length;
|
||||
IAeadBlockCipher aeadBlockCipher = this.decryptCipher;
|
||||
array6 = new byte[num9];
|
||||
IAeadBlockCipher aeadBlockCipher2 = this.decryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher3 = this.decryptCipher;
|
||||
IAeadBlockCipher aeadBlockCipher4 = this.decryptCipher;
|
||||
AeadParameters aeadParameters;
|
||||
aeadParameters += aeadParameters;
|
||||
if (aeadParameters == array6.Length)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array6;
|
||||
}
|
||||
|
||||
// Token: 0x0600B1EA RID: 45546 RVA: 0x002671CC File Offset: 0x002653CC
|
||||
[Token(Token = "0x600B1EA")]
|
||||
[Address(RVA = "0x49AD20", Offset = "0x499D20", VA = "0x18049AD20", Slot = "10")]
|
||||
protected virtual byte[] GetAdditionalData(long seqNo, byte type, int len)
|
||||
{
|
||||
byte[] array = new byte[13];
|
||||
int num = 0;
|
||||
TlsUtilities.WriteUint64(seqNo, array, num);
|
||||
TlsUtilities.WriteUint8(type, array, 8);
|
||||
TlsContext tlsContext = this.context;
|
||||
PngHelperInternal.WriteInt2tobytes(len, array, 11);
|
||||
return array;
|
||||
}
|
||||
|
||||
// Token: 0x04007197 RID: 29079
|
||||
[Token(Token = "0x4007197")]
|
||||
public const int NONCE_RFC5288 = 1;
|
||||
|
||||
// Token: 0x04007198 RID: 29080
|
||||
[Token(Token = "0x4007198")]
|
||||
internal const int NONCE_DRAFT_CHACHA20_POLY1305 = 2;
|
||||
|
||||
// Token: 0x04007199 RID: 29081
|
||||
[FieldOffset(Offset = "0x10")]
|
||||
[Token(Token = "0x4007199")]
|
||||
protected readonly TlsContext context;
|
||||
|
||||
// Token: 0x0400719A RID: 29082
|
||||
[FieldOffset(Offset = "0x18")]
|
||||
[Token(Token = "0x400719A")]
|
||||
protected readonly int macSize;
|
||||
|
||||
// Token: 0x0400719B RID: 29083
|
||||
[FieldOffset(Offset = "0x1C")]
|
||||
[Token(Token = "0x400719B")]
|
||||
protected readonly int record_iv_length;
|
||||
|
||||
// Token: 0x0400719C RID: 29084
|
||||
[FieldOffset(Offset = "0x20")]
|
||||
[Token(Token = "0x400719C")]
|
||||
protected readonly IAeadBlockCipher encryptCipher;
|
||||
|
||||
// Token: 0x0400719D RID: 29085
|
||||
[FieldOffset(Offset = "0x28")]
|
||||
[Token(Token = "0x400719D")]
|
||||
protected readonly IAeadBlockCipher decryptCipher;
|
||||
|
||||
// Token: 0x0400719E RID: 29086
|
||||
[FieldOffset(Offset = "0x30")]
|
||||
[Token(Token = "0x400719E")]
|
||||
protected readonly byte[] encryptImplicitNonce;
|
||||
|
||||
// Token: 0x0400719F RID: 29087
|
||||
[FieldOffset(Offset = "0x38")]
|
||||
[Token(Token = "0x400719F")]
|
||||
protected readonly byte[] decryptImplicitNonce;
|
||||
|
||||
// Token: 0x040071A0 RID: 29088
|
||||
[FieldOffset(Offset = "0x40")]
|
||||
[Token(Token = "0x40071A0")]
|
||||
protected readonly int nonceMode;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
||||
{
|
||||
// Token: 0x02001C40 RID: 7232
|
||||
[Token(Token = "0x2001C40")]
|
||||
public interface TlsAgreementCredentials : TlsCredentials
|
||||
{
|
||||
// Token: 0x0600B1EB RID: 45547
|
||||
[Token(Token = "0x600B1EB")]
|
||||
[Address(Slot = "0")]
|
||||
byte[] GenerateAgreement(AsymmetricKeyParameter peerPublicKey);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user