using System; using System.Collections; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X9; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math; using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Encoders; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.GM { // Token: 0x02001ED3 RID: 7891 [Token(Token = "0x2001ED3")] public sealed class GMNamedCurves { // Token: 0x0600C759 RID: 51033 RVA: 0x002D98E8 File Offset: 0x002D7AE8 [Token(Token = "0x600C759")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] private GMNamedCurves() { } // Token: 0x0600C75A RID: 51034 RVA: 0x002D98FC File Offset: 0x002D7AFC [Token(Token = "0x600C75A")] [Address(RVA = "0x434BD0", Offset = "0x4339D0", VA = "0x180434BD0")] private static ECCurve ConfigureCurve(ECCurve curve) { return curve; } // Token: 0x0600C75B RID: 51035 RVA: 0x002D990C File Offset: 0x002D7B0C [Token(Token = "0x600C75B")] [Address(RVA = "0x28388A0", Offset = "0x28376A0", VA = "0x1828388A0")] private static BigInteger FromHex(string hex) { byte[] array = Hex.Decode(hex); return new BigInteger(1, array); } // Token: 0x0600C75C RID: 51036 RVA: 0x002D9928 File Offset: 0x002D7B28 [Token(Token = "0x600C75C")] [Address(RVA = "0x2838760", Offset = "0x2837560", VA = "0x182838760")] private static void DefineCurve(string name, DerObjectIdentifier oid, X9ECParametersHolder holder) { IDictionary dictionary = GMNamedCurves.objIds; string text = Platform.ToUpperInvariant(name); IDictionary dictionary2 = GMNamedCurves.names; IDictionary dictionary3 = GMNamedCurves.curves; } // Token: 0x0600C75D RID: 51037 RVA: 0x002D9954 File Offset: 0x002D7B54 [Token(Token = "0x600C75D")] [Address(RVA = "0x2838DF0", Offset = "0x2837BF0", VA = "0x182838DF0")] static GMNamedCurves() { IDictionary dictionary = Platform.CreateHashtable(); GMNamedCurves.objIds = dictionary; IDictionary dictionary2 = Platform.CreateHashtable(); GMNamedCurves.curves = dictionary2; GMNamedCurves.names = Platform.CreateHashtable(); } // Token: 0x0600C75E RID: 51038 RVA: 0x002D998C File Offset: 0x002D7B8C [Token(Token = "0x600C75E")] [Address(RVA = "0x2838930", Offset = "0x2837730", VA = "0x182838930")] public static X9ECParameters GetByName(string name) { string text; do { IDictionary dictionary = GMNamedCurves.objIds; text = Platform.ToUpperInvariant(name); if (text == 0) { goto IL_2A; } } while (text == 0); IDictionary dictionary2 = GMNamedCurves.curves; IDictionary dictionary3 = GMNamedCurves.objIds; IL_2A: throw new NullReferenceException(); } // Token: 0x0600C75F RID: 51039 RVA: 0x002D99CC File Offset: 0x002D7BCC [Token(Token = "0x600C75F")] [Address(RVA = "0x2838B70", Offset = "0x2837970", VA = "0x182838B70")] public static X9ECParameters GetByOid(DerObjectIdentifier oid) { IDictionary dictionary = GMNamedCurves.curves; IDictionary dictionary2 = GMNamedCurves.objIds; X9ECParameters x9ECParameters; return x9ECParameters; } // Token: 0x0600C760 RID: 51040 RVA: 0x002D99F4 File Offset: 0x002D7BF4 [Token(Token = "0x600C760")] [Address(RVA = "0x2838CF0", Offset = "0x2837AF0", VA = "0x182838CF0")] public static DerObjectIdentifier GetOid(string name) { string text; do { IDictionary dictionary = GMNamedCurves.objIds; text = Platform.ToUpperInvariant(name); if (text == 0) { } } while (text == 0); throw new NullReferenceException(); } // Token: 0x0600C761 RID: 51041 RVA: 0x002D9A20 File Offset: 0x002D7C20 [Token(Token = "0x600C761")] [Address(RVA = "0x2838C50", Offset = "0x2837A50", VA = "0x182838C50")] public static string GetName(DerObjectIdentifier oid) { IDictionary dictionary = GMNamedCurves.names; throw new NullReferenceException(); } // Token: 0x17001F2C RID: 7980 // (get) Token: 0x0600C762 RID: 51042 RVA: 0x002D9A38 File Offset: 0x002D7C38 [Token(Token = "0x17001F2C")] public static IEnumerable Names { [Token(Token = "0x600C762")] [Address(RVA = "0x2838F60", Offset = "0x2837D60", VA = "0x182838F60")] get { IDictionary dictionary = GMNamedCurves.names; throw new NullReferenceException(); } } // Token: 0x04007F17 RID: 32535 [Token(Token = "0x4007F17")] private static readonly IDictionary objIds; // Token: 0x04007F18 RID: 32536 [Token(Token = "0x4007F18")] private static readonly IDictionary curves; // Token: 0x04007F19 RID: 32537 [Token(Token = "0x4007F19")] private static readonly IDictionary names; // Token: 0x02001ED4 RID: 7892 [Token(Token = "0x2001ED4")] internal class SM2P256V1Holder : X9ECParametersHolder { // Token: 0x0600C763 RID: 51043 RVA: 0x002D9A50 File Offset: 0x002D7C50 [Token(Token = "0x600C763")] [Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")] private SM2P256V1Holder() { } // Token: 0x0600C764 RID: 51044 RVA: 0x002D9A64 File Offset: 0x002D7C64 [Token(Token = "0x600C764")] [Address(RVA = "0x2848DA0", Offset = "0x2847BA0", VA = "0x182848DA0", Slot = "4")] protected override X9ECParameters CreateParameters() { BigInteger bigInteger = GMNamedCurves.FromHex("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF"); BigInteger bigInteger2 = GMNamedCurves.FromHex("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC"); BigInteger bigInteger3 = GMNamedCurves.FromHex("28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93"); BigInteger bigInteger4 = GMNamedCurves.FromHex("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123"); BigInteger one = BigInteger.One; FpCurve fpCurve = new FpCurve(bigInteger, bigInteger2, bigInteger3, bigInteger4, one); byte[] array = Hex.Decode("0432C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0"); X9ECPoint x9ECPoint = new X9ECPoint(fpCurve, array); X9ECParameters x9ECParameters; return x9ECParameters; } // Token: 0x0600C765 RID: 51045 RVA: 0x002D9ACC File Offset: 0x002D7CCC // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600C765")] [Address(RVA = "0x2848F40", Offset = "0x2847D40", VA = "0x182848F40")] static SM2P256V1Holder() { GMNamedCurves.SM2P256V1Holder sm2P256V1Holder = new GMNamedCurves.SM2P256V1Holder(); } // Token: 0x04007F1A RID: 32538 [Token(Token = "0x4007F1A")] internal static readonly X9ECParametersHolder Instance; } // Token: 0x02001ED5 RID: 7893 [Token(Token = "0x2001ED5")] internal class WapiP192V1Holder : X9ECParametersHolder { // Token: 0x0600C766 RID: 51046 RVA: 0x002D9AE0 File Offset: 0x002D7CE0 [Token(Token = "0x600C766")] [Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")] private WapiP192V1Holder() { } // Token: 0x0600C767 RID: 51047 RVA: 0x002D9AF4 File Offset: 0x002D7CF4 [Token(Token = "0x600C767")] [Address(RVA = "0x284C410", Offset = "0x284B210", VA = "0x18284C410", Slot = "4")] protected override X9ECParameters CreateParameters() { BigInteger bigInteger = GMNamedCurves.FromHex("BDB6F4FE3E8B1D9E0DA8C0D46F4C318CEFE4AFE3B6B8551F"); BigInteger bigInteger2 = GMNamedCurves.FromHex("BB8E5E8FBC115E139FE6A814FE48AAA6F0ADA1AA5DF91985"); BigInteger bigInteger3 = GMNamedCurves.FromHex("1854BEBDC31B21B7AEFC80AB0ECD10D5B1B3308E6DBF11C1"); BigInteger bigInteger4 = GMNamedCurves.FromHex("BDB6F4FE3E8B1D9E0DA8C0D40FC962195DFAE76F56564677"); BigInteger one = BigInteger.One; FpCurve fpCurve = new FpCurve(bigInteger, bigInteger2, bigInteger3, bigInteger4, one); byte[] array = Hex.Decode("044AD5F7048DE709AD51236DE65E4D4B482C836DC6E410664002BB3A02D4AAADACAE24817A4CA3A1B014B5270432DB27D2"); X9ECPoint x9ECPoint = new X9ECPoint(fpCurve, array); X9ECParameters x9ECParameters; return x9ECParameters; } // Token: 0x0600C768 RID: 51048 RVA: 0x002D9B5C File Offset: 0x002D7D5C // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600C768")] [Address(RVA = "0x284C5B0", Offset = "0x284B3B0", VA = "0x18284C5B0")] static WapiP192V1Holder() { GMNamedCurves.WapiP192V1Holder wapiP192V1Holder = new GMNamedCurves.WapiP192V1Holder(); } // Token: 0x04007F1B RID: 32539 [Token(Token = "0x4007F1B")] internal static readonly X9ECParametersHolder Instance; } } }