<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.2" />

ECNamedDomainParameters

using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Asn1.X9; using Org.BouncyCastle.Crypto.EC; using Org.BouncyCastle.Math; using Org.BouncyCastle.Math.EC; using System; namespace Org.BouncyCastle.Crypto.Parameters { public class ECNamedDomainParameters : ECDomainParameters { private readonly DerObjectIdentifier m_name; public DerObjectIdentifier Name => m_name; public static ECNamedDomainParameters LookupOid(DerObjectIdentifier oid) { if (oid == null) throw new ArgumentNullException("oid"); X9ECParameters x9ECParameters = ECUtilities.FindECCurveByOid(oid); if (x9ECParameters == null) throw new ArgumentException("OID is not a valid public key parameter set", "oid"); X9ECParameters x = x9ECParameters; return new ECNamedDomainParameters(oid, x); } public ECNamedDomainParameters(DerObjectIdentifier name, ECDomainParameters dp) : base(dp) { m_name = name; } public ECNamedDomainParameters(DerObjectIdentifier name, X9ECParameters x9) : base(x9) { m_name = name; } public ECNamedDomainParameters(DerObjectIdentifier name, ECCurve curve, ECPoint g, BigInteger n) : base(curve, g, n) { m_name = name; } public ECNamedDomainParameters(DerObjectIdentifier name, ECCurve curve, ECPoint g, BigInteger n, BigInteger h) : base(curve, g, n, h) { m_name = name; } public ECNamedDomainParameters(DerObjectIdentifier name, ECCurve curve, ECPoint g, BigInteger n, BigInteger h, byte[] seed) : base(curve, g, n, h, seed) { m_name = name; } public override X962Parameters ToX962Parameters() { return new X962Parameters(Name); } } }