using System; using System.Runtime.InteropServices; 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: 0x0200160E RID: 5646 [Token(Token = "0x200160E")] [StructLayout(3)] public abstract class ECKeyParameters : AsymmetricKeyParameter { // Token: 0x060096E4 RID: 38628 RVA: 0x002179FC File Offset: 0x00215BFC [Token(Token = "0x60096E4")] [Address(RVA = "0x1DD6630", Offset = "0x1DD5030", VA = "0x181DD6630")] protected ECKeyParameters(string algorithm, bool isPrivate, ECDomainParameters parameters) { /* An exception occurred when decompiling this method (060096E4) 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: 0x060096E5 RID: 38629 RVA: 0x00217A44 File Offset: 0x00215C44 [Token(Token = "0x60096E5")] [Address(RVA = "0x1DD6520", Offset = "0x1DD4F20", VA = "0x181DD6520")] protected ECKeyParameters(string algorithm, bool isPrivate, DerObjectIdentifier publicKeyParamSet) { /* An exception occurred when decompiling this method (060096E5) 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: 0x1700181D RID: 6173 // (get) Token: 0x060096E6 RID: 38630 RVA: 0x00217A9C File Offset: 0x00215C9C [Token(Token = "0x1700181D")] public string AlgorithmName { [Token(Token = "0x60096E6")] [Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")] get { return this.algorithm; } } // Token: 0x1700181E RID: 6174 // (get) Token: 0x060096E7 RID: 38631 RVA: 0x00217AB0 File Offset: 0x00215CB0 [Token(Token = "0x1700181E")] public ECDomainParameters Parameters { [Token(Token = "0x60096E7")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")] get { return this.parameters; } } // Token: 0x1700181F RID: 6175 // (get) Token: 0x060096E8 RID: 38632 RVA: 0x00217AC4 File Offset: 0x00215CC4 [Token(Token = "0x1700181F")] public DerObjectIdentifier PublicKeyParamSet { [Token(Token = "0x60096E8")] [Address(RVA = "0x3C1230", Offset = "0x3BFC30", VA = "0x1803C1230")] get { return this.publicKeyParamSet; } } // Token: 0x060096E9 RID: 38633 RVA: 0x00217AD8 File Offset: 0x00215CD8 [Token(Token = "0x60096E9")] [Address(RVA = "0x1DD5F20", Offset = "0x1DD4920", VA = "0x181DD5F20", Slot = "0")] public override bool Equals(object obj) { if (obj != this) { if (obj == 0 || obj != 0) { } } return true; } // Token: 0x060096EA RID: 38634 RVA: 0x00217AF8 File Offset: 0x00215CF8 [Token(Token = "0x60096EA")] [Address(RVA = "0x1DD5EC0", Offset = "0x1DD48C0", VA = "0x181DD5EC0")] protected bool Equals(ECKeyParameters other) { ECDomainParameters ecdomainParameters = this.parameters; return base.Equals(other); } // Token: 0x060096EB RID: 38635 RVA: 0x00217B1C File Offset: 0x00215D1C [Token(Token = "0x60096EB")] [Address(RVA = "0x1DD5FD0", Offset = "0x1DD49D0", VA = "0x181DD5FD0", Slot = "2")] public override int GetHashCode() { this.parameters.Finalize(); return base.GetHashCode(); } // Token: 0x060096EC RID: 38636 RVA: 0x00217B40 File Offset: 0x00215D40 [Token(Token = "0x60096EC")] [Address(RVA = "0x1DD5D90", Offset = "0x1DD4790", VA = "0x181DD5D90")] 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: 0x060096ED RID: 38637 RVA: 0x00217BA0 File Offset: 0x00215DA0 [Token(Token = "0x60096ED")] [Address(RVA = "0x1DD6190", Offset = "0x1DD4B90", VA = "0x181DD6190")] internal static string VerifyAlgorithmName(string algorithm) { string text = Platform.ToUpperInvariant(algorithm); string[] array = ECKeyParameters.algorithms; return text; } // Token: 0x060096EE RID: 38638 RVA: 0x00217BC4 File Offset: 0x00215DC4 [Token(Token = "0x60096EE")] [Address(RVA = "0x1DD6020", Offset = "0x1DD4A20", VA = "0x181DD6020")] internal static ECDomainParameters LookupParameters(DerObjectIdentifier publicKeyParamSet) { /* An exception occurred when decompiling this method (060096EE) 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: 0x060096EF RID: 38639 RVA: 0x00217C40 File Offset: 0x00215E40 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x60096EF")] [Address(RVA = "0x1DD62A0", Offset = "0x1DD4CA0", VA = "0x181DD62A0")] 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: 0x04006383 RID: 25475 [Token(Token = "0x4006383")] private static readonly string[] algorithms; // Token: 0x04006384 RID: 25476 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4006384")] private readonly string algorithm; // Token: 0x04006385 RID: 25477 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4006385")] private readonly ECDomainParameters parameters; // Token: 0x04006386 RID: 25478 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4006386")] private readonly DerObjectIdentifier publicKeyParamSet; } }