internal static ECPublicKeyParameters GetECPublicKeyParametersFromString(string publicKeyString) { var publicKeyBytes = GetPublicKeyBytesWithoutCheckSum(publicKeyString); Org.BouncyCastle.Math.EC.ECPoint q = curve.DecodePoint(publicKeyBytes); return(new ECPublicKeyParameters(q, domainParams)); }
public static Key Deserialize(IEnumerable <byte> payload) { if (payload == null) { throw new ArgumentNullException(nameof(payload)); } var c = SecNamedCurves.GetByName("secp256k1"); var domain = new ECDomainParameters(c.Curve, c.G, c.N, c.H); Org.BouncyCastle.Math.EC.ECCurve curve = domain.Curve; Org.BouncyCastle.Math.EC.ECPoint q = curve.DecodePoint(payload.ToArray()); var publicKey = new ECPublicKeyParameters(q, domain); return(new Key(null, publicKey)); }
public static Key Deserialize(BigInteger publicKey, BigInteger privateKey) { if (publicKey == null) { throw new ArgumentNullException(nameof(publicKey)); } if (privateKey == null) { throw new ArgumentNullException(nameof(privateKey)); } var c = SecNamedCurves.GetByName("secp256k1"); var domain = new ECDomainParameters(c.Curve, c.G, c.N, c.H); Org.BouncyCastle.Math.EC.ECCurve curve = domain.Curve; Org.BouncyCastle.Math.EC.ECPoint q = curve.DecodePoint(publicKey.ToByteArray()); var pubK = new ECPublicKeyParameters(q, domain); var prK = new ECPrivateKeyParameters(privateKey, domain); return(new Key(prK, pubK)); }