Files
2026-04-08 23:40:05 +02:00

236 lines
8.5 KiB
C#

using System;
using System.Collections;
using System.Runtime.InteropServices;
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: 0x020018F6 RID: 6390
[Token(Token = "0x20018F6")]
[StructLayout(3)]
public sealed class GMNamedCurves
{
// Token: 0x0600AB7F RID: 43903 RVA: 0x00281420 File Offset: 0x0027F620
[Token(Token = "0x600AB7F")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
private GMNamedCurves()
{
}
// Token: 0x0600AB80 RID: 43904 RVA: 0x00281434 File Offset: 0x0027F634
[Token(Token = "0x600AB80")]
[Address(RVA = "0x518E70", Offset = "0x517870", VA = "0x180518E70")]
private static ECCurve ConfigureCurve(ECCurve curve)
{
return curve;
}
// Token: 0x0600AB81 RID: 43905 RVA: 0x00281444 File Offset: 0x0027F644
[Token(Token = "0x600AB81")]
[Address(RVA = "0x1DEE550", Offset = "0x1DECF50", VA = "0x181DEE550")]
private static BigInteger FromHex(string hex)
{
byte[] array = Hex.Decode(hex);
return new BigInteger(1, array);
}
// Token: 0x0600AB82 RID: 43906 RVA: 0x00281460 File Offset: 0x0027F660
[Token(Token = "0x600AB82")]
[Address(RVA = "0x1DEE410", Offset = "0x1DECE10", VA = "0x181DEE410")]
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: 0x0600AB83 RID: 43907 RVA: 0x0028148C File Offset: 0x0027F68C
[Token(Token = "0x600AB83")]
[Address(RVA = "0x1DEEAA0", Offset = "0x1DED4A0", VA = "0x181DEEAA0")]
static GMNamedCurves()
{
IDictionary dictionary = Platform.CreateHashtable();
GMNamedCurves.objIds = dictionary;
IDictionary dictionary2 = Platform.CreateHashtable();
GMNamedCurves.curves = dictionary2;
GMNamedCurves.names = Platform.CreateHashtable();
}
// Token: 0x0600AB84 RID: 43908 RVA: 0x002814C4 File Offset: 0x0027F6C4
[Token(Token = "0x600AB84")]
[Address(RVA = "0x1DEE5E0", Offset = "0x1DECFE0", VA = "0x181DEE5E0")]
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: 0x0600AB85 RID: 43909 RVA: 0x00281504 File Offset: 0x0027F704
[Token(Token = "0x600AB85")]
[Address(RVA = "0x1DEE820", Offset = "0x1DED220", VA = "0x181DEE820")]
public static X9ECParameters GetByOid(DerObjectIdentifier oid)
{
IDictionary dictionary = GMNamedCurves.curves;
IDictionary dictionary2 = GMNamedCurves.objIds;
X9ECParameters x9ECParameters;
return x9ECParameters;
}
// Token: 0x0600AB86 RID: 43910 RVA: 0x0028152C File Offset: 0x0027F72C
[Token(Token = "0x600AB86")]
[Address(RVA = "0x1DEE9A0", Offset = "0x1DED3A0", VA = "0x181DEE9A0")]
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: 0x0600AB87 RID: 43911 RVA: 0x00281558 File Offset: 0x0027F758
[Token(Token = "0x600AB87")]
[Address(RVA = "0x1DEE900", Offset = "0x1DED300", VA = "0x181DEE900")]
public static string GetName(DerObjectIdentifier oid)
{
IDictionary dictionary = GMNamedCurves.names;
throw new NullReferenceException();
}
// Token: 0x17001B2B RID: 6955
// (get) Token: 0x0600AB88 RID: 43912 RVA: 0x00281570 File Offset: 0x0027F770
[Token(Token = "0x17001B2B")]
public static IEnumerable Names
{
[Token(Token = "0x600AB88")]
[Address(RVA = "0x1DEEC10", Offset = "0x1DED610", VA = "0x181DEEC10")]
get
{
IDictionary dictionary = GMNamedCurves.names;
throw new NullReferenceException();
}
}
// Token: 0x040070D4 RID: 28884
[Token(Token = "0x40070D4")]
private static readonly IDictionary objIds;
// Token: 0x040070D5 RID: 28885
[Token(Token = "0x40070D5")]
private static readonly IDictionary curves;
// Token: 0x040070D6 RID: 28886
[Token(Token = "0x40070D6")]
private static readonly IDictionary names;
// Token: 0x020018F7 RID: 6391
[Token(Token = "0x20018F7")]
internal class SM2P256V1Holder : X9ECParametersHolder
{
// Token: 0x0600AB89 RID: 43913 RVA: 0x00281588 File Offset: 0x0027F788
[Token(Token = "0x600AB89")]
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
private SM2P256V1Holder()
{
}
// Token: 0x0600AB8A RID: 43914 RVA: 0x0028159C File Offset: 0x0027F79C
[Token(Token = "0x600AB8A")]
[Address(RVA = "0x1DF8490", Offset = "0x1DF6E90", VA = "0x181DF8490", 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: 0x0600AB8B RID: 43915 RVA: 0x00281604 File Offset: 0x0027F804
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600AB8B")]
[Address(RVA = "0x1DF8630", Offset = "0x1DF7030", VA = "0x181DF8630")]
static SM2P256V1Holder()
{
GMNamedCurves.SM2P256V1Holder sm2P256V1Holder = new GMNamedCurves.SM2P256V1Holder();
}
// Token: 0x040070D7 RID: 28887
[Token(Token = "0x40070D7")]
internal static readonly X9ECParametersHolder Instance;
}
// Token: 0x020018F8 RID: 6392
[Token(Token = "0x20018F8")]
internal class WapiP192V1Holder : X9ECParametersHolder
{
// Token: 0x0600AB8C RID: 43916 RVA: 0x00281618 File Offset: 0x0027F818
[Token(Token = "0x600AB8C")]
[Address(RVA = "0x3D4170", Offset = "0x3D2B70", VA = "0x1803D4170")]
private WapiP192V1Holder()
{
}
// Token: 0x0600AB8D RID: 43917 RVA: 0x0028162C File Offset: 0x0027F82C
[Token(Token = "0x600AB8D")]
[Address(RVA = "0x1DFBAE0", Offset = "0x1DFA4E0", VA = "0x181DFBAE0", 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: 0x0600AB8E RID: 43918 RVA: 0x00281694 File Offset: 0x0027F894
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x600AB8E")]
[Address(RVA = "0x1DFBC80", Offset = "0x1DFA680", VA = "0x181DFBC80")]
static WapiP192V1Holder()
{
GMNamedCurves.WapiP192V1Holder wapiP192V1Holder = new GMNamedCurves.WapiP192V1Holder();
}
// Token: 0x040070D8 RID: 28888
[Token(Token = "0x40070D8")]
internal static readonly X9ECParametersHolder Instance;
}
}
}