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 1663 */; } // 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 1663 */; } // 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 1663 */; } // 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; } }