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: 0x02001FB3 RID: 8115 [Token(Token = "0x2001FB3")] public sealed class GMNamedCurves { // Token: 0x0600CB27 RID: 52007 RVA: 0x002E215C File Offset: 0x002E035C [Token(Token = "0x600CB27")] [Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")] private GMNamedCurves() { } // Token: 0x0600CB28 RID: 52008 RVA: 0x002E2170 File Offset: 0x002E0370 [Token(Token = "0x600CB28")] [Address(RVA = "0x4A65C0", Offset = "0x4A55C0", VA = "0x1804A65C0")] private static ECCurve ConfigureCurve(ECCurve curve) { return curve; } // Token: 0x0600CB29 RID: 52009 RVA: 0x002E2180 File Offset: 0x002E0380 [Token(Token = "0x600CB29")] [Address(RVA = "0x2EAC8F0", Offset = "0x2EAB8F0", VA = "0x182EAC8F0")] private static BigInteger FromHex(string hex) { byte[] array = Hex.Decode(hex); return new BigInteger(1, array); } // Token: 0x0600CB2A RID: 52010 RVA: 0x002E219C File Offset: 0x002E039C [Token(Token = "0x600CB2A")] [Address(RVA = "0x2EAC7B0", Offset = "0x2EAB7B0", VA = "0x182EAC7B0")] 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: 0x0600CB2B RID: 52011 RVA: 0x002E21C8 File Offset: 0x002E03C8 [Token(Token = "0x600CB2B")] [Address(RVA = "0x2EACE40", Offset = "0x2EABE40", VA = "0x182EACE40")] static GMNamedCurves() { IDictionary dictionary = Platform.CreateHashtable(); GMNamedCurves.objIds = dictionary; IDictionary dictionary2 = Platform.CreateHashtable(); GMNamedCurves.curves = dictionary2; GMNamedCurves.names = Platform.CreateHashtable(); } // Token: 0x0600CB2C RID: 52012 RVA: 0x002E2200 File Offset: 0x002E0400 [Token(Token = "0x600CB2C")] [Address(RVA = "0x2EAC980", Offset = "0x2EAB980", VA = "0x182EAC980")] 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: 0x0600CB2D RID: 52013 RVA: 0x002E2240 File Offset: 0x002E0440 [Token(Token = "0x600CB2D")] [Address(RVA = "0x2EACBC0", Offset = "0x2EABBC0", VA = "0x182EACBC0")] public static X9ECParameters GetByOid(DerObjectIdentifier oid) { IDictionary dictionary = GMNamedCurves.curves; IDictionary dictionary2 = GMNamedCurves.objIds; X9ECParameters x9ECParameters; return x9ECParameters; } // Token: 0x0600CB2E RID: 52014 RVA: 0x002E2268 File Offset: 0x002E0468 [Token(Token = "0x600CB2E")] [Address(RVA = "0x2EACD40", Offset = "0x2EABD40", VA = "0x182EACD40")] 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: 0x0600CB2F RID: 52015 RVA: 0x002E2294 File Offset: 0x002E0494 [Token(Token = "0x600CB2F")] [Address(RVA = "0x2EACCA0", Offset = "0x2EABCA0", VA = "0x182EACCA0")] public static string GetName(DerObjectIdentifier oid) { IDictionary dictionary = GMNamedCurves.names; throw new NullReferenceException(); } // Token: 0x17001FC9 RID: 8137 // (get) Token: 0x0600CB30 RID: 52016 RVA: 0x002E22AC File Offset: 0x002E04AC [Token(Token = "0x17001FC9")] public static IEnumerable Names { [Token(Token = "0x600CB30")] [Address(RVA = "0x2EACFB0", Offset = "0x2EABFB0", VA = "0x182EACFB0")] get { IDictionary dictionary = GMNamedCurves.names; throw new NullReferenceException(); } } // Token: 0x040080D0 RID: 32976 [Token(Token = "0x40080D0")] private static readonly IDictionary objIds; // Token: 0x040080D1 RID: 32977 [Token(Token = "0x40080D1")] private static readonly IDictionary curves; // Token: 0x040080D2 RID: 32978 [Token(Token = "0x40080D2")] private static readonly IDictionary names; // Token: 0x02001FB4 RID: 8116 [Token(Token = "0x2001FB4")] internal class SM2P256V1Holder : X9ECParametersHolder { // Token: 0x0600CB31 RID: 52017 RVA: 0x002E22C4 File Offset: 0x002E04C4 [Token(Token = "0x600CB31")] [Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")] private SM2P256V1Holder() { } // Token: 0x0600CB32 RID: 52018 RVA: 0x002E22D8 File Offset: 0x002E04D8 [Token(Token = "0x600CB32")] [Address(RVA = "0x2EB96B0", Offset = "0x2EB86B0", VA = "0x182EB96B0", 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: 0x0600CB33 RID: 52019 RVA: 0x002E2340 File Offset: 0x002E0540 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600CB33")] [Address(RVA = "0x2EB9850", Offset = "0x2EB8850", VA = "0x182EB9850")] static SM2P256V1Holder() { GMNamedCurves.SM2P256V1Holder sm2P256V1Holder = new GMNamedCurves.SM2P256V1Holder(); } // Token: 0x040080D3 RID: 32979 [Token(Token = "0x40080D3")] internal static readonly X9ECParametersHolder Instance; } // Token: 0x02001FB5 RID: 8117 [Token(Token = "0x2001FB5")] internal class WapiP192V1Holder : X9ECParametersHolder { // Token: 0x0600CB34 RID: 52020 RVA: 0x002E2354 File Offset: 0x002E0554 [Token(Token = "0x600CB34")] [Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")] private WapiP192V1Holder() { } // Token: 0x0600CB35 RID: 52021 RVA: 0x002E2368 File Offset: 0x002E0568 [Token(Token = "0x600CB35")] [Address(RVA = "0x2EBCCD0", Offset = "0x2EBBCD0", VA = "0x182EBCCD0", 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: 0x0600CB36 RID: 52022 RVA: 0x002E23D0 File Offset: 0x002E05D0 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x600CB36")] [Address(RVA = "0x2EBCE70", Offset = "0x2EBBE70", VA = "0x182EBCE70")] static WapiP192V1Holder() { GMNamedCurves.WapiP192V1Holder wapiP192V1Holder = new GMNamedCurves.WapiP192V1Holder(); } // Token: 0x040080D4 RID: 32980 [Token(Token = "0x40080D4")] internal static readonly X9ECParametersHolder Instance; } } }