public override byte[] ExportEncryptedPkcs8PrivateKey( ReadOnlySpan <byte> passwordBytes, PbeParameters pbeParameters) { if (pbeParameters == null) { throw new ArgumentNullException(nameof(pbeParameters)); } return(CngPkcs8.ExportEncryptedPkcs8PrivateKey( this, passwordBytes, pbeParameters)); }
public override void ImportEncryptedPkcs8PrivateKey( ReadOnlySpan <char> password, ReadOnlySpan <byte> source, out int bytesRead) { ThrowIfDisposed(); CngPkcs8.Pkcs8Response response = CngPkcs8.ImportEncryptedPkcs8PrivateKey( password, source, out int localRead); ProcessPkcs8Response(response); bytesRead = localRead; }
public override bool TryExportEncryptedPkcs8PrivateKey( ReadOnlySpan <byte> passwordBytes, PbeParameters pbeParameters, Span <byte> destination, out int bytesWritten) { ArgumentNullException.ThrowIfNull(pbeParameters); PasswordBasedEncryption.ValidatePbeParameters( pbeParameters, ReadOnlySpan <char> .Empty, passwordBytes); return(CngPkcs8.TryExportEncryptedPkcs8PrivateKey( this, passwordBytes, pbeParameters, destination, out bytesWritten)); }
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)); }