public ECPublicKeyParameters ParsePublicKey(String X, String Y) { var c = (FpCurve)ECSpec.Curve; var q = new FpPoint(ECP.Curve, c.FromBigInteger(new BigInteger(X, 16)), c.FromBigInteger(new BigInteger(Y, 16))); return(q.IsValid() ? new ECPublicKeyParameters("ECDH", q, SecObjectIdentifiers.SecP192r1) : null); }
public ECPublicKeyParameters ParsePublicKey(String PublicKey, PublicKeyFormats PublicKeyFormat = PublicKeyFormats.DER) { switch (PublicKeyFormat) { case PublicKeyFormats.DER: return(new ECPublicKeyParameters("ECDSA", ECP.Curve.DecodePoint(PublicKey.HexStringToByteArray()), ECSpec)); case PublicKeyFormats.plain: var c = (FpCurve)ECSpec.Curve; var x = c.FromBigInteger(new BigInteger(PublicKey.Substring(0, 48), 16)); var y = c.FromBigInteger(new BigInteger(PublicKey.Substring(48), 16)); var q = new FpPoint(ECP.Curve, x, y); var isv = q.IsValid(); return(new ECPublicKeyParameters("ECDH", q, SecObjectIdentifiers.SecP192r1)); } return(null); }