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; }
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, }); }