Now your PDF documents are safer! | Syncfusion Blogs
Detailed Blog page Skeleton loader

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:

  • Owner password, which is used to set certain restrictions in a PDF document.
  • User 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.

Customize permissions

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.

Permission flag

Description

FullQualityPrint

Allows users to print a clear copy of the document.

Print

Allows users to be able to print the document with low quality.

FillFields

Allows users to fill out and sign the form.

CopyContent

Allows users to copy content from the document.

AccessibilityCopyContent

Enables content screen reading for users with disabilities.

EditAnnotations

Allows users to get user input or feedback on a document.

AssembleDocument

Allows users to manipulate the pages in the document.

EditContent

Allows users to edit the content in the document.

Document security settings in Acrobat

Embark on a virtual tour of Syncfusion's PDF Library through interactive demos.

Getting started with PDF security

Already referencing the required assemblies from NuGet? Great! Now we need to add a namespace in our class, as in the following code sample.

using Syncfusion.Pdf;  
using Syncfusion.Pdf.Security;
using Syncfusion.Pdf.Graphics;

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.
document.Save("Sample.pdf");
} 

This sample can be downloaded from the following link: SecuritySample.zip.

Join thousands of developers who rely on Syncfusion for their PDF needs. Experience the difference today!

Wrapping up

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 started guide.

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!

Be the first to get updates

George Livingston

Meet the Author

George Livingston

George Livingston is the Product Manager for PDF at Syncfusion Software. He is passionate about web technologies. He loves creating productive software tools and shooting photographs.