PDFium Delphi Component Docs

FPdfMac-enhet

Unit: FPdfMac
Bygger och verifierar CMS AuthenticatedData-token för fristående och signaturbifogade PDF-autentiseringskoder enligt ISO/TS 32004

Syntax

function BuildStandalonePdfMacToken(const FileEncryptionKey, KdfSalt,
  DataDigest: TBytes): TBytes;
function VerifyStandalonePdfMacToken(const Token, FileEncryptionKey,
  KdfSalt, ExpectedDataDigest: TBytes;
  out ErrorText: string): Boolean;
function BuildAttachedPdfMacToken(const FileEncryptionKey, KdfSalt,
  DataDigest, SignatureDigest: TBytes; SignatureObjectNumber,
  SignatureGeneration: Integer): TBytes;
function VerifyAttachedPdfMacToken(const Token, FileEncryptionKey, KdfSalt,
  ExpectedDataDigest, ExpectedSignatureDigest: TBytes;
  SignatureObjectNumber, SignatureGeneration: Integer;
  out ErrorText: string): Boolean;

Description

Byggaren härleder en AES-256-nyckelkrypteringsnyckel från den 32 byte stora filkrypteringsnyckeln och /KDFSalt med HKDF-SHA256 och UTF-8-infovärdet PDFMAC

En slumpmässig 256-bitars MAC-nyckel omsluts med RFC 3394 AES-256 Key Wrap och emitteras i den enda PasswordRecipientInfo som ISO/TS 32004 kräver

Token bäddar in en PdfMacIntegrityInfo version noll, de obligatoriska autentiserade attributen, CMSAlgorithmProtection och ett HMAC-SHA256-värde över den kanoniska DER SET-kodningen av attributen

Anroparen äger PDF-serialiseringen och tillhandahåller SHA-256-digesten av de exakta /ByteRange-segmenten; applikationskod använder normalt TPdfEncryptOptions.EnableIntegrityProtection och TPdf.ValidatePdfMac

Bifogade token binder datadigesten till en signaturdigest samt signaturobjektets nummer och generation innan samma autentiserade tokenformat byggs eller verifieras

Functions

FunctionDescription
BuildStandalonePdfMacTokenBygger en fristående AuthenticatedData-token från 32 byte stora värden för filkrypteringsnyckel, KDF-salt och datadigest
VerifyStandalonePdfMacTokenValiderar kanonisk DER, algoritmer, attribut, omsluten nyckel, förväntad datadigest och HMAC med konstant tid där hemliga värden jämförs
BuildAttachedPdfMacTokenBygger en bifogad token genom att hasha datadigesten, signaturdigesten, signaturobjektets nummer och signaturgenerationen till den bundna integritetsdigesten
VerifyAttachedPdfMacTokenBygger om den bundna digesten från den förväntade signaturkontexten och verifierar den resulterande token

Current scope

Implementeringen stöder fristående och signaturbifogade autentiseringskoder, SHA-256-digestar för data och signatur, HMAC-SHA256, AES-256 Key Wrap och 32 byte stora filnycklar för Standard Security Handler

Säkerhetshanterare för publika nycklar och alternativa digestalgoritmer genereras inte

See Also

FPdfHmac, FPdfAes, FPdfEncrypt, TPdf.ValidatePdfMac