In our modern, cloud-connected world, security is a major
concern in file transmission over the Internet, which may provide unauthorized
access to documents. In July 2017, PDF 2.0 or ISO 32000-2
was released by the International Organization for Standardization (ISO), which
included the next level of PDF security with additional features.
PDF 2.0 improves security management by providing AES
(Advanced Encryption Standard) 256 Revision 6 with Unicode (non-Roman
characters) password support. Our Essential PDF
library provides support to encrypt and decrypt PDF documents with AES 256
Revision 6 to comply with PDF 2.0.
The Essential PDF library provides support for basic to
advanced encryption standards:
- RC4 (Rivest Cipher 4) 40-bit
- RC4 128-bit
- AES 128-bit
- AES 256-bit Revision 5
- AES 256-bit Revision 6 (PDF 2.0)
All about passwords
The PDF format supports two types of passwords:
password, which is used to set certain restrictions in a PDF document.
password, which is used to restrict the opening of a PDF document.
The strength of the password is not only determined by the
key size and algorithm, but also depends on the length and quality of the
password. The common passwords like names, numbers, pet names, dates of birth, etc.,
should not be used as a password since they can be easily cracked by a dictionary
attack. Other common ways to crack a password are differential attack, brute
force attack, algebraic attack, and linear attack. Follow these guidelines to
create a quality password:
- Use a combination of uppercase and lowercase
letters, symbols, and numbers.
- Use Unicode characters when using AES 256-bit
Revision 6 encryption.
- The user password and owner password should not
be the same.
By customizing the permission settings, you can allow or
restrict users from performing certain actions such as content copying,
printing, editing the document, filling form fields, and more. Permission flags
supported by Essential PDF are listed in the following table.
Allows users to print a clear copy of the document.
Allows users to be able to print the document
with low quality.
Allows users to fill out and sign the form.
Allows users to copy content from the
Enables content screen reading for users with
Allows users to get user input or
feedback on a document.
Allows users to manipulate the pages in the document.
Allows users to edit the content in
Document security settings in Acrobat
Getting started with
Already referencing the required
assemblies from NuGet?
Great! Now we need to add a namespace in our class, as in the following code
Here is the code to create a PDF
from scratch and encrypt it with both owner and user passwords.
//Create a new PDF document.
using (PdfDocument document = new PdfDocument())
//Add a page in the PDF document.
PdfPage page = document.Pages.Add();
//Access the PDF graphics instance of the page.
PdfGraphics graphics = page.Graphics;
//Create the PDF font instance.
PdfStandardFont font = new PdfStandardFont(PdfFontFamily.TimesRoman, 20f, PdfFontStyle.Bold);
//PDF document security.
PdfSecurity security = document.Security;
//Specifies encryption key size, algorithm, and permission.
security.KeySize = PdfEncryptionKeySize.Key128Bit;
security.Algorithm = PdfEncryptionAlgorithm.AES;
//Customize permissions in the document.
security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.FullQualityPrint;
//Provide owner and user passwords.
security.OwnerPassword = "SyncOPÜ256PDF";
security.UserPassword = "SyncUP€99PDF";
//Draw text in PDF page.
graphics.DrawString("Document is encrypted with AES 256 Revision 6", font, PdfBrushes.Black, PointF.Empty);
//Save the document to the file system.
This sample can be downloaded from the following link: SecuritySample.zip
As you can see, Essential PDF provides advanced security for
protecting PDF documents. Use them effectively to generate more secure
documents from your application. Take a moment to peruse the documentation
where you’ll find other options like changing passwords or permissions, protecting
existing PDF documents, and removing passwords, all with accompanying code examples.
If you are new to our PDF library, it is highly recommended
that you follow our getting
If you’re already a Syncfusion user, you can download the
product setup here.
If you’re not yet a Syncfusion user, you can download a free, 30-day trial here.
If you have any questions or require clarifications about
this support, please let us know in the comments below. You can also contact us
through our support forum or Direct-Trac. We are
happy to assist you!