public final class PdfEncryptor extends Object
Modifier and Type | Method and Description |
---|---|
static void |
encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions)
Entry point to encrypt a PDF document.
|
static void |
encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions, HashMap<String,String> newInfo)
Entry point to encrypt a PDF document.
|
static void |
encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits)
Entry point to encrypt a PDF document.
|
static void |
encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits, HashMap<String,String> newInfo)
Entry point to encrypt a PDF document.
|
static void |
encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions)
Entry point to encrypt a PDF document.
|
static void |
encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions, HashMap<String,String> newInfo)
Entry point to encrypt a PDF document.
|
static byte[] |
getContent(org.bouncycastle.cms.RecipientInformation recipientInfo, PrivateKey certificateKey, String certificateKeyProvider)
Gets the content from a recipient.
|
static String |
getPermissionsVerbose(int permissions)
Give you a verbose analysis of the permissions.
|
static boolean |
isAssemblyAllowed(int permissions)
Tells you if document assembly is allowed.
|
static boolean |
isCopyAllowed(int permissions)
Tells you if copying is allowed.
|
static boolean |
isDegradedPrintingAllowed(int permissions)
Tells you if degraded printing is allowed.
|
static boolean |
isFillInAllowed(int permissions)
Tells you if filling in fields is allowed.
|
static boolean |
isModifyAnnotationsAllowed(int permissions)
Tells you if modifying annotations is allowed.
|
static boolean |
isModifyContentsAllowed(int permissions)
Tells you if modifying content is allowed.
|
static boolean |
isPrintingAllowed(int permissions)
Tells you if printing is allowed.
|
static boolean |
isScreenReadersAllowed(int permissions)
Tells you if repurposing for screenreaders is allowed.
|
public static void encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits) throws DocumentException, IOException
PdfWriter
. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.
reader
- the read PDF
os
- the output destination
userPassword
- the user password. Can be null or empty
ownerPassword
- the owner password. Can be null or empty
permissions
- the user permissions
strength128Bits
- true
for 128 bit key length, false
for 40 bit key length
DocumentException
- on error
IOException
- on error
public static void encrypt(PdfReader reader, OutputStream os, byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits, HashMap<String,String> newInfo) throws DocumentException, IOException
PdfWriter
. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.
reader
- the read PDF
os
- the output destination
userPassword
- the user password. Can be null or empty
ownerPassword
- the owner password. Can be null or empty
permissions
- the user permissions
strength128Bits
- true
for 128 bit key length, false
for 40 bit key length
newInfo
- an optional String
map to add or change the info dictionary. Entries with null
values delete the key in the original info dictionary
DocumentException
- on error
IOException
- on error
public static void encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions) throws DocumentException, IOException
PdfWriter
. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.
reader
- the read PDF
os
- the output destination
strength
- true
for 128 bit key length, false
for 40 bit key length
userPassword
- the user password. Can be null or empty
ownerPassword
- the owner password. Can be null or empty
permissions
- the user permissions
DocumentException
- on error
IOException
- on error
public static void encrypt(PdfReader reader, OutputStream os, boolean strength, String userPassword, String ownerPassword, int permissions, HashMap<String,String> newInfo) throws DocumentException, IOException
PdfWriter
. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.
reader
- the read PDF
os
- the output destination
strength
- true
for 128 bit key length, false
for 40 bit key length
userPassword
- the user password. Can be null or empty
ownerPassword
- the owner password. Can be null or empty
permissions
- the user permissions
newInfo
- an optional String
map to add or change the info dictionary. Entries with null
values delete the key in the original info dictionary
DocumentException
- on error
IOException
- on error
public static void encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions, HashMap<String,String> newInfo) throws DocumentException, IOException
PdfWriter
. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.
reader
- the read PDF
os
- the output destination
type
- the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext
userPassword
- the user password. Can be null or empty
ownerPassword
- the owner password. Can be null or empty
permissions
- the user permissions
newInfo
- an optional String
map to add or change the info dictionary. Entries with null
values delete the key in the original info dictionary
DocumentException
- on error
IOException
- on error
public static void encrypt(PdfReader reader, OutputStream os, int type, String userPassword, String ownerPassword, int permissions) throws DocumentException, IOException
PdfWriter
. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.
reader
- the read PDF
os
- the output destination
type
- the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext
userPassword
- the user password. Can be null or empty
ownerPassword
- the owner password. Can be null or empty
permissions
- the user permissions values delete the key in the original info dictionary
DocumentException
- on error
IOException
- on error
public static String getPermissionsVerbose(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isPrintingAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isModifyContentsAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isCopyAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isModifyAnnotationsAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isFillInAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isScreenReadersAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isAssemblyAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static boolean isDegradedPrintingAllowed(int permissions)
permissions
- the permissions value of a PDF file
public static byte[] getContent(org.bouncycastle.cms.RecipientInformation recipientInfo, PrivateKey certificateKey, String certificateKeyProvider) throws org.bouncycastle.cms.CMSException
recipientInfo
-
certificateKey
-
certificateKeyProvider
-
org.bouncycastle.cms.CMSException
Copyright © 1998–2022. All rights reserved.