iText 8.0.2 API
iText.Kernel.Pdf.EncryptionProperties Class Reference

Allows configuration of output PDF encryption. More...

Public Member Functions

virtual EncryptionProperties  SetStandardEncryption (byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionAlgorithm)
  Sets the encryption options for the document. More...
 
virtual EncryptionProperties  SetPublicKeyEncryption (IX509Certificate[] certs, int[] permissions, int encryptionAlgorithm)
  Sets the certificate encryption options for the document. More...
 

Detailed Description

Allows configuration of output PDF encryption.

Member Function Documentation

◆ SetPublicKeyEncryption()

virtual EncryptionProperties iText.Kernel.Pdf.EncryptionProperties.SetPublicKeyEncryption ( IX509Certificate[]  certs,
int[]  permissions,
int  encryptionAlgorithm 
)
inlinevirtual

Sets the certificate encryption options for the document.

Sets the certificate encryption options for the document.

An array of one or more public certificates must be provided together with an array of the same size for the permissions for each certificate.

Parameters
certs the public certificates to be used for the encryption
permissions the user permissions for each of the certificates The open permissions for the document can be EncryptionConstants.ALLOW_PRINTING , EncryptionConstants.ALLOW_MODIFY_CONTENTS , EncryptionConstants.ALLOW_COPY , EncryptionConstants.ALLOW_MODIFY_ANNOTATIONS , EncryptionConstants.ALLOW_FILL_IN , EncryptionConstants.ALLOW_SCREENREADERS , EncryptionConstants.ALLOW_ASSEMBLY and EncryptionConstants.ALLOW_DEGRADED_PRINTING. The permissions can be combined by ORing them
encryptionAlgorithm the type of encryption. It can be one of EncryptionConstants.STANDARD_ENCRYPTION_40 , EncryptionConstants.STANDARD_ENCRYPTION_128 , EncryptionConstants.ENCRYPTION_AES_128 or EncryptionConstants.ENCRYPTION_AES_256. Optionally EncryptionConstants.DO_NOT_ENCRYPT_METADATA can be ORed to output the metadata in cleartext. EncryptionConstants.EMBEDDED_FILES_ONLY can be ORed as well. Please be aware that the passed encryption types may override permissions: EncryptionConstants.STANDARD_ENCRYPTION_40 implicitly sets EncryptionConstants.DO_NOT_ENCRYPT_METADATA and EncryptionConstants.EMBEDDED_FILES_ONLY as false; EncryptionConstants.STANDARD_ENCRYPTION_128 implicitly sets EncryptionConstants.EMBEDDED_FILES_ONLY as false;
Returns
this EncryptionProperties

◆ SetStandardEncryption()

virtual EncryptionProperties iText.Kernel.Pdf.EncryptionProperties.SetStandardEncryption ( byte[]  userPassword,
byte[]  ownerPassword,
int  permissions,
int  encryptionAlgorithm 
)
inlinevirtual

Sets the encryption options for the document.

Parameters
userPassword the user password. Can be null or of zero length, which is equal to omitting the user password
ownerPassword the owner password. If it's null or empty, iText will generate a random string to be used as the owner password
permissions the user permissions. The open permissions for the document can be EncryptionConstants.ALLOW_PRINTING , EncryptionConstants.ALLOW_MODIFY_CONTENTS , EncryptionConstants.ALLOW_COPY , EncryptionConstants.ALLOW_MODIFY_ANNOTATIONS , EncryptionConstants.ALLOW_FILL_IN , EncryptionConstants.ALLOW_SCREENREADERS , EncryptionConstants.ALLOW_ASSEMBLY and EncryptionConstants.ALLOW_DEGRADED_PRINTING. The permissions can be combined by ORing them
encryptionAlgorithm the type of encryption. It can be one of EncryptionConstants.STANDARD_ENCRYPTION_40 , EncryptionConstants.STANDARD_ENCRYPTION_128 , EncryptionConstants.ENCRYPTION_AES_128 or EncryptionConstants.ENCRYPTION_AES_256. Optionally EncryptionConstants.DO_NOT_ENCRYPT_METADATA can be OEed to output the metadata in cleartext. EncryptionConstants.EMBEDDED_FILES_ONLY can be ORed as well. Please be aware that the passed encryption types may override permissions: EncryptionConstants.STANDARD_ENCRYPTION_40 implicitly sets EncryptionConstants.DO_NOT_ENCRYPT_METADATA and EncryptionConstants.EMBEDDED_FILES_ONLY as false; EncryptionConstants.STANDARD_ENCRYPTION_128 implicitly sets EncryptionConstants.EMBEDDED_FILES_ONLY as false;
Returns
this EncryptionProperties