Esempio n. 1
0
        public override void ImportParameters(ECParameters parameters)
        {
            ThrowIfDisposed();

            parameters.Validate();
            KeySize = parameters.Q.X.Length * 8;

            _curve         = parameters.Curve.Clone();
            _publicKey     = parameters.Q.Clone();
            _privateKey    = CryptoUtils.CloneArray(parameters.D);
            _parametersSet = true;
        }
Esempio n. 2
0
        public override ECParameters ExportParameters(bool includePrivateParameters)
        {
            ThrowIfDisposed();

            if (!_parametersSet)
            {
                GenerateKey(GetDefaultCurve());
            }

            return(new ECParameters
            {
                Curve = _curve.Clone(),
                Q = _publicKey.Clone(),
                D = includePrivateParameters ? CryptoUtils.CloneArray(_privateKey) : null,
            });
        }