ISecurityHandler Interface

Definition

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

Remarks

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.

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

Properties (2)

Methods (1)