The standard password-based security handler, revisions 2 to 7. Registered by default.
public sealed class StandardSecurityHandler : ISecurityHandler
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).
kind:method, kind:property, kind:ctor. Press Esc to clear.FilterGets Standard, the name of the built-in password-based handler (Table 20).SubFiltersGets no formats: the standard handler is chosen by Filter only.Authenticate(SecurityHandlerContext)Authenticates the credentials against the encryption dictionary.UserPermissions(Int32, Int32)Computes the permissions a user has from the P entry, the way the revision defines them (Table 22).