248 lines
14 KiB
C#
248 lines
14 KiB
C#
using System;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters
|
|
{
|
|
// Token: 0x02001BEB RID: 7147
|
|
[Token(Token = "0x2001BEB")]
|
|
public abstract class ECKeyParameters : AsymmetricKeyParameter
|
|
{
|
|
// Token: 0x0600B2BE RID: 45758 RVA: 0x0026F018 File Offset: 0x0026D218
|
|
[Token(Token = "0x600B2BE")]
|
|
[Address(RVA = "0x18071E0", Offset = "0x1805FE0", VA = "0x1818071E0")]
|
|
protected ECKeyParameters(string algorithm, bool isPrivate, ECDomainParameters parameters)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B2BE)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.ECKeyParameters::.ctor(System.String,System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.ECDomainParameters)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_30:
|
|
stloc:ArgumentNullException(var_2_3A, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("parameters")))
|
|
}
|
|
|
|
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 1660
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B2BF RID: 45759 RVA: 0x0026F060 File Offset: 0x0026D260
|
|
[Token(Token = "0x600B2BF")]
|
|
[Address(RVA = "0x18070D0", Offset = "0x1805ED0", VA = "0x1818070D0")]
|
|
protected ECKeyParameters(string algorithm, bool isPrivate, DerObjectIdentifier publicKeyParamSet)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B2BF)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.ECKeyParameters::.ctor(System.String,System.Boolean,BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_3E:
|
|
stloc:ArgumentNullException(var_3_48, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("publicKeyParamSet")))
|
|
}
|
|
|
|
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 1660
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x17001C1E RID: 7198
|
|
// (get) Token: 0x0600B2C0 RID: 45760 RVA: 0x0026F0B8 File Offset: 0x0026D2B8
|
|
[Token(Token = "0x17001C1E")]
|
|
public string AlgorithmName
|
|
{
|
|
[Token(Token = "0x600B2C0")]
|
|
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
|
get
|
|
{
|
|
return this.algorithm;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001C1F RID: 7199
|
|
// (get) Token: 0x0600B2C1 RID: 45761 RVA: 0x0026F0CC File Offset: 0x0026D2CC
|
|
[Token(Token = "0x17001C1F")]
|
|
public ECDomainParameters Parameters
|
|
{
|
|
[Token(Token = "0x600B2C1")]
|
|
[Address(RVA = "0x3F6400", Offset = "0x3F5200", VA = "0x1803F6400")]
|
|
get
|
|
{
|
|
return this.parameters;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001C20 RID: 7200
|
|
// (get) Token: 0x0600B2C2 RID: 45762 RVA: 0x0026F0E0 File Offset: 0x0026D2E0
|
|
[Token(Token = "0x17001C20")]
|
|
public DerObjectIdentifier PublicKeyParamSet
|
|
{
|
|
[Token(Token = "0x600B2C2")]
|
|
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
|
|
get
|
|
{
|
|
return this.publicKeyParamSet;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B2C3 RID: 45763 RVA: 0x0026F0F4 File Offset: 0x0026D2F4
|
|
[Token(Token = "0x600B2C3")]
|
|
[Address(RVA = "0x1806AD0", Offset = "0x18058D0", VA = "0x181806AD0", Slot = "0")]
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (obj != this)
|
|
{
|
|
if (obj == 0 || obj != 0)
|
|
{
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600B2C4 RID: 45764 RVA: 0x0026F114 File Offset: 0x0026D314
|
|
[Token(Token = "0x600B2C4")]
|
|
[Address(RVA = "0x1806A70", Offset = "0x1805870", VA = "0x181806A70")]
|
|
protected bool Equals(ECKeyParameters other)
|
|
{
|
|
ECDomainParameters ecdomainParameters = this.parameters;
|
|
return base.Equals(other);
|
|
}
|
|
|
|
// Token: 0x0600B2C5 RID: 45765 RVA: 0x0026F138 File Offset: 0x0026D338
|
|
[Token(Token = "0x600B2C5")]
|
|
[Address(RVA = "0x1806B80", Offset = "0x1805980", VA = "0x181806B80", Slot = "2")]
|
|
public override int GetHashCode()
|
|
{
|
|
this.parameters.Finalize();
|
|
return base.GetHashCode();
|
|
}
|
|
|
|
// Token: 0x0600B2C6 RID: 45766 RVA: 0x0026F15C File Offset: 0x0026D35C
|
|
[Token(Token = "0x600B2C6")]
|
|
[Address(RVA = "0x1806940", Offset = "0x1805740", VA = "0x181806940")]
|
|
internal ECKeyGenerationParameters CreateKeyGenerationParameters(SecureRandom random)
|
|
{
|
|
DerObjectIdentifier derObjectIdentifier = this.publicKeyParamSet;
|
|
if (derObjectIdentifier == 0)
|
|
{
|
|
ECDomainParameters ecdomainParameters = this.parameters;
|
|
int bitLength = ecdomainParameters.n.BitLength;
|
|
ECKeyGenerationParameters eckeyGenerationParameters;
|
|
eckeyGenerationParameters.domainParams = ecdomainParameters;
|
|
return eckeyGenerationParameters;
|
|
}
|
|
ECDomainParameters ecdomainParameters2 = ECKeyParameters.LookupParameters(derObjectIdentifier);
|
|
int bitLength2 = ecdomainParameters2.n.BitLength;
|
|
ECKeyGenerationParameters eckeyGenerationParameters2;
|
|
eckeyGenerationParameters2.domainParams = ecdomainParameters2;
|
|
eckeyGenerationParameters2.publicKeyParamSet = derObjectIdentifier;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B2C7 RID: 45767 RVA: 0x0026F1BC File Offset: 0x0026D3BC
|
|
[Token(Token = "0x600B2C7")]
|
|
[Address(RVA = "0x1806D40", Offset = "0x1805B40", VA = "0x181806D40")]
|
|
internal static string VerifyAlgorithmName(string algorithm)
|
|
{
|
|
string text = Platform.ToUpperInvariant(algorithm);
|
|
string[] array = ECKeyParameters.algorithms;
|
|
return text;
|
|
}
|
|
|
|
// Token: 0x0600B2C8 RID: 45768 RVA: 0x0026F1E0 File Offset: 0x0026D3E0
|
|
[Token(Token = "0x600B2C8")]
|
|
[Address(RVA = "0x1806BD0", Offset = "0x18059D0", VA = "0x181806BD0")]
|
|
internal static ECDomainParameters LookupParameters(DerObjectIdentifier publicKeyParamSet)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B2C8)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.ECDomainParameters BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters.ECKeyParameters::LookupParameters(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.DerObjectIdentifier)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_5D:
|
|
stloc:ArgumentException(var_10_6C, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("OID is not a valid public key parameter set"), ldstr:string("publicKeyParamSet")))
|
|
}
|
|
|
|
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 1660
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B2C9 RID: 45769 RVA: 0x0026F25C File Offset: 0x0026D45C
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
[Token(Token = "0x600B2C9")]
|
|
[Address(RVA = "0x1806E50", Offset = "0x1805C50", VA = "0x181806E50")]
|
|
static ECKeyParameters()
|
|
{
|
|
string[] array = new string[6];
|
|
if ("EC" != 0)
|
|
{
|
|
}
|
|
array[0] = "EC";
|
|
if ("ECDSA" != 0)
|
|
{
|
|
}
|
|
array[1] = "ECDSA";
|
|
if ("ECDH" != 0)
|
|
{
|
|
}
|
|
array[2] = "ECDH";
|
|
if ("ECDHC" != 0)
|
|
{
|
|
}
|
|
array[3] = "ECDHC";
|
|
if ("ECGOST3410" != 0)
|
|
{
|
|
}
|
|
array[4] = "ECGOST3410";
|
|
if ("ECMQV" != 0)
|
|
{
|
|
}
|
|
array[5] = "ECMQV";
|
|
ECKeyParameters.algorithms = array;
|
|
}
|
|
|
|
// Token: 0x040071C6 RID: 29126
|
|
[Token(Token = "0x40071C6")]
|
|
private static readonly string[] algorithms;
|
|
|
|
// Token: 0x040071C7 RID: 29127
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40071C7")]
|
|
private readonly string algorithm;
|
|
|
|
// Token: 0x040071C8 RID: 29128
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40071C8")]
|
|
private readonly ECDomainParameters parameters;
|
|
|
|
// Token: 0x040071C9 RID: 29129
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40071C9")]
|
|
private readonly DerObjectIdentifier publicKeyParamSet;
|
|
}
|
|
}
|