Namespace: PdfSharp.Pdf.Security
Represents a crypt filter dictionary as written into the CF dictionary of a security handler (PDFCryptFilters).
public class PdfCryptFilter : CryptFilterBase, System.ICloneable, System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[PdfSharp.Pdf.PdfItem, PdfSharp, Version=0.1.3.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Collections.IEnumerable
Inheritance Object → PdfItem → PdfObject → PdfDictionary → CryptFilterBase → PdfCryptFilter
Implements ICloneable, IEnumerable<KeyValuePair<String, PdfItem>>, IEnumerable
Gets the dictionary containing the elements of this dictionary.
public DictionaryElements Elements { get; }
Gets or sets the PDF stream belonging to this dictionary. Returns null if the dictionary has no stream. To create the stream, call the CreateStream function.
public PdfStream Stream { get; set; }
Gets the PdfDocument this object belongs to.
public PdfDocument Owner { get; }
Indicates whether the object is an indirect object.
public bool IsIndirect { get; }
Gets the PdfInternals object of this document, that grants access to some internal structures which are not part of the public interface of PdfDocument.
public PdfObjectInternals Internals { get; }
Gets the indirect reference of this object. If the value is null, this object is a direct object.
public PdfReference Reference { get; internal set; }
Gets the indirect reference of this object. Throws if it is null.
public PdfReference ReferenceNotNull { get; }
InvalidOperationException
The indirect reference must be not null here.
Initializes a new instance of the PdfCryptFilter class.
public PdfCryptFilter(PdfStandardSecurityHandler parentStandardSecurityHandler)
parentStandardSecurityHandler
PdfStandardSecurityHandler
The parent standard security handler.
Initializes _parentStandardSecurityHandler to do the correct interpretation of the length key.
public void Initialize(PdfStandardSecurityHandler parentStandardSecurityHandler)
parentStandardSecurityHandler
PdfStandardSecurityHandler
The encryption shall be handled by the security handler.
public void SetEncryptionToNone()
Encrypt with RC4 and the given file encryption key length, using the algorithms of encryption V4 (PDF 1.5). For encryption V4 the file encryption key length shall be 128 bits.
public void SetEncryptionToRC4ForV4(int length)
length
Int32
The file encryption key length - a multiple of 8 from 40 to 256 bit.
Encrypt with AES and a file encryption key length of 128 bits, using the algorithms of encryption V4 (PDF 1.6).
public void SetEncryptionToAESForV4()
Encrypt with AES and a file encryption key length of 256 bits, using the algorithms of encryption V5 (PDF 2.0).
public void SetEncryptionToAESForV5()
Sets the AuthEvent Key to /EFOpen, in order authenticate embedded file streams when accessing the embedded file.
public void SetAuthEventForEmbeddedFiles()
Does all necessary initialization for reading and decrypting or encrypting and writing the document with this crypt filter.
internal void PrepareForProcessing()
Encrypts the given bytes.
internal bool EncryptForEnteredObject(Byte[]& bytes)
bytes
Byte[]&
Boolean
True, if the crypt filter encrypted the bytes, or false, if the security handler shall do it.
Decrypts the given bytes.
internal bool DecryptForEnteredObject(Byte[]& bytes)
bytes
Byte[]&
Boolean
True, if the crypt filter decrypted the bytes, or false, if the security handler shall do it.