133 lines
5.0 KiB
C#
133 lines
5.0 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Anssi;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.CryptoPro;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.GM;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Nist;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Sec;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.TeleTrust;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
|
|
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.Collections;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X9
|
|
{
|
|
// Token: 0x020017EB RID: 6123
|
|
[Token(Token = "0x20017EB")]
|
|
[StructLayout(3)]
|
|
public class ECNamedCurveTable
|
|
{
|
|
// Token: 0x0600A540 RID: 42304 RVA: 0x002669A0 File Offset: 0x00264BA0
|
|
[Token(Token = "0x600A540")]
|
|
[Address(RVA = "0x27745E0", Offset = "0x2772FE0", VA = "0x1827745E0")]
|
|
public static X9ECParameters GetByName(string name)
|
|
{
|
|
DerObjectIdentifier oid;
|
|
do
|
|
{
|
|
oid = X962NamedCurves.GetOid(name);
|
|
if (oid == 0)
|
|
{
|
|
}
|
|
}
|
|
while (X962NamedCurves.GetByOid(oid) != 0 || SecNamedCurves.GetByName(name) != 0 || NistNamedCurves.GetByName(name) != 0 || TeleTrusTNamedCurves.GetByName(name) != 0 || AnssiNamedCurves.GetByName(name) != 0 || ECNamedCurveTable.FromDomainParameters(ECGost3410NamedCurves.GetByName(name)) != 0);
|
|
return GMNamedCurves.GetByName(name);
|
|
}
|
|
|
|
// Token: 0x0600A541 RID: 42305 RVA: 0x002669FC File Offset: 0x00264BFC
|
|
[Token(Token = "0x600A541")]
|
|
[Address(RVA = "0x2774920", Offset = "0x2773320", VA = "0x182774920")]
|
|
public static string GetName(DerObjectIdentifier oid)
|
|
{
|
|
do
|
|
{
|
|
IDictionary names = X962NamedCurves.names;
|
|
}
|
|
while (SecNamedCurves.GetName(oid) != 0 || NistNamedCurves.GetName(oid) != 0 || TeleTrusTNamedCurves.GetName(oid) != 0 || AnssiNamedCurves.GetName(oid) != 0 || ECGost3410NamedCurves.GetName(oid) != 0);
|
|
return GMNamedCurves.GetName(oid);
|
|
}
|
|
|
|
// Token: 0x0600A542 RID: 42306 RVA: 0x00266A48 File Offset: 0x00264C48
|
|
[Token(Token = "0x600A542")]
|
|
[Address(RVA = "0x2774B20", Offset = "0x2773520", VA = "0x182774B20")]
|
|
public static DerObjectIdentifier GetOid(string name)
|
|
{
|
|
DerObjectIdentifier oid = X962NamedCurves.GetOid(name);
|
|
if (oid == 0 && SecNamedCurves.GetOid(name) == 0 && NistNamedCurves.GetOid(name) == 0 && TeleTrusTNamedCurves.GetOid(name) == 0 && AnssiNamedCurves.GetOid(name) == 0 && ECGost3410NamedCurves.GetOid(name) == 0)
|
|
{
|
|
return GMNamedCurves.GetOid(name);
|
|
}
|
|
return oid;
|
|
}
|
|
|
|
// Token: 0x0600A543 RID: 42307 RVA: 0x00266A98 File Offset: 0x00264C98
|
|
[Token(Token = "0x600A543")]
|
|
[Address(RVA = "0x27747D0", Offset = "0x27731D0", VA = "0x1827747D0")]
|
|
public static X9ECParameters GetByOid(DerObjectIdentifier oid)
|
|
{
|
|
X9ECParameters byOid = X962NamedCurves.GetByOid(oid);
|
|
if (byOid == 0 && SecNamedCurves.GetByOid(oid) == 0 && TeleTrusTNamedCurves.GetByOid(oid) == 0 && AnssiNamedCurves.GetByOid(oid) == 0 && ECNamedCurveTable.FromDomainParameters(ECGost3410NamedCurves.GetByOid(oid)) == 0)
|
|
{
|
|
return GMNamedCurves.GetByOid(oid);
|
|
}
|
|
return byOid;
|
|
}
|
|
|
|
// Token: 0x170019C4 RID: 6596
|
|
// (get) Token: 0x0600A544 RID: 42308 RVA: 0x00266AE4 File Offset: 0x00264CE4
|
|
[Token(Token = "0x170019C4")]
|
|
public static IEnumerable Names
|
|
{
|
|
[Token(Token = "0x600A544")]
|
|
[Address(RVA = "0x2774C90", Offset = "0x2773690", VA = "0x182774C90")]
|
|
get
|
|
{
|
|
IList list = Platform.CreateArrayList();
|
|
IDictionary names = X962NamedCurves.names;
|
|
EnumerableProxy enumerableProxy;
|
|
CollectionUtilities.AddRange(list, enumerableProxy);
|
|
IEnumerable names2 = SecNamedCurves.Names;
|
|
CollectionUtilities.AddRange(list, names2);
|
|
IEnumerable names3 = NistNamedCurves.Names;
|
|
CollectionUtilities.AddRange(list, names3);
|
|
IEnumerable names4 = TeleTrusTNamedCurves.Names;
|
|
CollectionUtilities.AddRange(list, names4);
|
|
IEnumerable names5 = AnssiNamedCurves.Names;
|
|
CollectionUtilities.AddRange(list, names5);
|
|
IEnumerable names6 = ECGost3410NamedCurves.Names;
|
|
CollectionUtilities.AddRange(list, names6);
|
|
IEnumerable names7 = GMNamedCurves.Names;
|
|
CollectionUtilities.AddRange(list, names7);
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A545 RID: 42309 RVA: 0x00266B78 File Offset: 0x00264D78
|
|
[Token(Token = "0x600A545")]
|
|
[Address(RVA = "0x2774520", Offset = "0x2772F20", VA = "0x182774520")]
|
|
private static X9ECParameters FromDomainParameters(ECDomainParameters dp)
|
|
{
|
|
if (dp == 0)
|
|
{
|
|
}
|
|
BigInteger n = dp.n;
|
|
BigInteger h = dp.h;
|
|
ECPoint g = dp.g;
|
|
ECCurve curve = dp.curve;
|
|
byte[] seed = dp.GetSeed();
|
|
return new X9ECParameters(curve, g, n, h, seed);
|
|
}
|
|
|
|
// Token: 0x0600A546 RID: 42310 RVA: 0x00266BBC File Offset: 0x00264DBC
|
|
[Token(Token = "0x600A546")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public ECNamedCurveTable()
|
|
{
|
|
}
|
|
}
|
|
}
|