Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }