PDFium Delphi Component Docs

FPdfMac Unità

Unità: FPdfMac
Costruisce e verifica token CMS AuthenticatedData per codici di autenticazione PDF ISO/TS 32004 autonomi e collegati alla firma

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

Il builder deriva una chiave di crittografia AES-256 dalla chiave di crittografia del file a 32 byte e da /KDFSalt con HKDF-SHA256 e il valore info UTF-8 PDFMAC

Una chiave MAC casuale a 256 bit viene avvolta con AES-256 Key Wrap RFC 3394 ed emessa nell'unico PasswordRecipientInfo richiesto da ISO/TS 32004

Il token incorpora un PdfMacIntegrityInfo versione zero, gli attributi autenticati richiesti, CMSAlgorithmProtection e un valore HMAC-SHA256 sull'encoding DER SET canonico degli attributi

Il chiamante possiede la serializzazione PDF e fornisce il digest SHA-256 dei segmenti /ByteRange esatti; il codice applicativo usa normalmente TPdfEncryptOptions.EnableIntegrityProtection e TPdf.ValidatePdfMac

I token collegati alla firma associano il digest dei dati a un digest della firma e al numero e alla generazione dell'oggetto firma prima di costruire o verificare lo stesso formato di token autenticato

Funzioni

FunzioneDescrizione
BuildStandalonePdfMacTokenCostruisce un token AuthenticatedData autonomo da una chiave di crittografia del file di 32 byte, un sale KDF e valori di digest dei dati
VerifyStandalonePdfMacTokenValida DER canonico, algoritmi, attributi, chiave avvolta, digest dei dati atteso e HMAC in tempo costante dove vengono confrontati valori segreti
BuildAttachedPdfMacTokenCostruisce un token collegato eseguendo l'hash del digest dei dati, del digest della firma, del numero e della generazione dell'oggetto firma nel digest di integrità associato
VerifyAttachedPdfMacTokenRicostruisce il digest di associazione collegato dal contesto della firma atteso e verifica il token risultante

Current scope

L'implementazione supporta codici di autenticazione autonomi e collegati alla firma, digest di dati e di firma SHA-256, HMAC-SHA256, AES-256 Key Wrap e chiavi di file del gestore di sicurezza standard a 32 byte

I gestori di sicurezza a chiave pubblica e gli algoritmi di digest alternativi non vengono generati

See Also

FPdfHmac, FPdfAes, FPdfEncrypt, TPdf.ValidatePdfMac