THPDFHeadlessAES256Security
HPDFHeadlessSecurity의 이 클래스는 Standard V=5 암호화 사전을 R=5 또는 R=6과 AESV3 DocOpen crypt 필터로 공유 HotPDF 암호학 구현을 써서 인증합니다
Create(EncryptionDictionary, Password, CancellationToken)은 호출자 소유 사전, Unicode 비밀번호, 선택적 호출자 소유 취소 토큰을 받습니다. 비밀번호는 127바이트에서 잘리는 UTF-8 바이트를 쓰며 SASLprep 정규화는 없습니다
소유자 인증이 사용자 인증보다 먼저 시도되고, OE나 UE가 256비트 파일 키를 복구하며, Perms가 권한 마스크와 EncryptMetadata 정책을 인증합니다. 파괴 시 유지된 키가 지워집니다
DecryptString과 EncryptString은 StrF를 따르고, DecryptStream(Data, IsMetadata)과 EncryptStream(Data, IsMetadata)은 StmF와 EncryptMetadata를 따릅니다. IsMetadata 기본값은 false이고, Identity는 바이트를 바꾸지 않으며, 암호화된 페이로드는 새로운 16바이트 IV와 PKCS7 패딩을 가집니다
RequireTextExtractionPermission은 권한 비트 5를, RequireFormFillPermission은 비트 9를 검사합니다. 인증된 소유자 비밀번호는 이 사용자 권한 제한을 우회합니다
읽기 전용 속성은 Revision, OwnerAuthenticated, PermissionMask, EncryptMetadata, EncryptStrings, EncryptStreams입니다
실패는 EHPDFHeadlessSecurityError를 일으킵니다. 취소는 EHPDFOperationCancelled를 유지하며, 이 제공자를 직접 쓰는 호출자는 xref, 객체 스트림, 암호화 사전, trailer ID, 서명 Contents 예외를 적용해야 합니다
RC4, AES-128, 공개 키 핸들러, AES-GCM, 명시적 스트림 Crypt 필터, PDF MAC 검증은 별도 정책이 필요합니다. 이 제공자는 암호화 사전을 만들지 않고 문서 권한을 바꾸지도 않습니다