public override byte[] ExportEncryptedPkcs8PrivateKey(
            ReadOnlySpan <byte> passwordBytes,
            PbeParameters pbeParameters)
        {
            if (pbeParameters == null)
            {
                throw new ArgumentNullException(nameof(pbeParameters));
            }

            return(CngPkcs8.ExportEncryptedPkcs8PrivateKey(
                       this,
                       passwordBytes,
                       pbeParameters));
        }
示例#2
0
        public override byte[] ExportEncryptedPkcs8PrivateKey(
            ReadOnlySpan <char> password,
            PbeParameters pbeParameters)
        {
            ArgumentNullException.ThrowIfNull(pbeParameters);

            PasswordBasedEncryption.ValidatePbeParameters(
                pbeParameters,
                password,
                ReadOnlySpan <byte> .Empty);

            if (CngPkcs8.IsPlatformScheme(pbeParameters))
            {
                return(ExportEncryptedPkcs8(password, pbeParameters.IterationCount));
            }

            return(CngPkcs8.ExportEncryptedPkcs8PrivateKey(
                       this,
                       password,
                       pbeParameters));
        }