A security handler: given a document's encryption dictionary and the reader's credentials, it authenticates them and yields the file encryption key and the permissions. The extension point every encrypted document opens through.
public interface ISecurityHandler
ISO 32000-2 §7.6.2 (Table 20) and §7.6.3. A handler is registered with UseSecurityHandler(ISecurityHandler); the engine
picks the one whose Filter is the document's Filter, else one that lists the document's SubFilter in
SubFilters. StandardSecurityHandler is registered by default; registering another handler for
Standard replaces it.
The handler only authenticates. The engine applies the encryption the dictionary describes (V, Length, CF,
StmF, StrF, EFF, EncryptMetadata) with the key the handler returns: Algorithm 1 (RC4 and AES-128 with
per-object keys), Algorithm 1.A (AES-256) and AES-GCM (ISO/TS 32003), the crypt filters of §7.6.6, and the integrity MAC of
ISO/TS 32004. Handlers are shared by every document an engine opens, from any thread: keep them stateless.
kind:method, kind:property, kind:ctor. Press Esc to clear.FilterGets the handler name a document's Filter entry selects it by, such as Standard.SubFiltersGets the SubFilter formats the handler implements, by which it may open documents another handler encrypted.Authenticate(SecurityHandlerContext)Authenticates the credentials against the encryption dictionary.