StandardSecurityHandler Class

Definition

The standard password-based security handler, revisions 2 to 7. Registered by default.

public sealed class StandardSecurityHandler : ISecurityHandler

Remarks

ISO 32000-2 §7.6.4: Algorithms 2, 3, 6 and 7 for revisions 2 to 4 (RC4 and AES-128, MD5 key derivation), Algorithms 2.A, 2.B, 11, 12 and 13 for revision 6 (AES-256), the same for revision 7 (ISO/TS 32003, AES-GCM: its password algorithms are those of revision 6), and the deprecated revision 5 (an Adobe extension: SHA-256 instead of Algorithm 2.B) for reading only.

Without a password the default (empty) user password is tried (§7.6.4.1); a document it does not open throws PdfPasswordException with Required. A password is tried as the user password, then as the owner password; one that is neither throws Incorrect. The owner password grants All.

Repairs, each recorded as a diagnostic: O and U longer than the revision's length are truncated and shorter ones padded with zeros; a Length outside 40 to 128 bits is clamped (one that looks like a byte count is read as one); for a revision 3 or 4 key shorter than 128 bits whose owner password fails Algorithm 3 as written, the variant that rehashes only the first n bytes in step c (which PDFBox writes) is tried; a revision 6 Perms that disagrees with P wins over it (it is the tamper-resistant copy, ISO/TS 32004 §5.1.2 NOTE 2).

Tip: use kind:method, kind:property, kind:ctor. Press Esc to clear.

Properties (2)

Methods (2)