diff --git a/src/main/java/org/verapdf/pd/encryption/PDEncryption.java b/src/main/java/org/verapdf/pd/encryption/PDEncryption.java index 85e575b7..b0939621 100644 --- a/src/main/java/org/verapdf/pd/encryption/PDEncryption.java +++ b/src/main/java/org/verapdf/pd/encryption/PDEncryption.java @@ -43,6 +43,8 @@ public class PDEncryption extends PDObject { private static final boolean DEFAULT_ENCRYPT_METADATA = true; private static final int DEFAULT_LENGTH = 40; + private static final int DEFAULT_V4_LENGTH = 128; + private static final int DEFAULT_V5_LENGTH = 256; private static final int DEFAULT_V = 0; private Map cryptFilters; @@ -92,6 +94,14 @@ public int getV() { * @return the length of the encryption key, in bits. */ public int getLength() { + int v = getV(); + if (v == 1) { + return DEFAULT_LENGTH; + } else if (v == 4) { + return DEFAULT_V4_LENGTH; + } else if (v == 5) { + return DEFAULT_V5_LENGTH; + } return getIntWithDefault(ASAtom.LENGTH, DEFAULT_LENGTH); }