PDFium Component Docs

FPdfMac Moduł

Unit: FPdfMac
Buduje i weryfikuje tokeny CMS AuthenticatedData dla samodzielnych i dołączonych do podpisu kodów uwierzytelnienia PDF 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

Kreator wyprowadza klucz szyfrowania kluczy AES-256 z 32-bajtowego klucza szyfrowania pliku i /KDFSalt przy użyciu HKDF-SHA256 oraz wartości info w UTF-8 PDFMAC

Losowy 256-bitowy klucz MAC jest opakowany algorytmem RFC 3394 AES-256 Key Wrap i emitowany w pojedynczym PasswordRecipientInfo wymaganym przez ISO/TS 32004

Token osadza PdfMacIntegrityInfo w wersji zero, wymagane atrybuty uwierzytelnione, CMSAlgorithmProtection oraz wartość HMAC-SHA256 nad kanonicznym kodowaniem DER SET atrybutów

Wywołujący odpowiada za serializację PDF i dostarcza skrót SHA-256 dokładnych segmentów /ByteRange; kod aplikacji używa zwykle TPdfEncryptOptions.EnableIntegrityProtection i TPdf.ValidatePdfMac

Tokeny dołączone wiążą skrót danych ze skrótem podpisu oraz numerem obiektu podpisu i generacją przed zbudowaniem lub zweryfikowaniem tego samego formatu tokena uwierzytelnionego

Functions

FunctionDescription
BuildStandalonePdfMacTokenBuduje samodzielny token AuthenticatedData z 32-bajtowego klucza szyfrowania pliku, soli KDF i wartości skrótu danych
VerifyStandalonePdfMacTokenWaliduje kanoniczny DER, algorytmy, atrybuty, opakowany klucz, oczekiwany skrót danych i HMAC w czasie stałym tam, gdzie porównywane są wartości tajne
BuildAttachedPdfMacTokenBuduje token dołączony, mieszając skrót danych, skrót podpisu, numer obiektu podpisu i generację podpisu w powiązany skrót integralności
VerifyAttachedPdfMacTokenOdbudowuje powiązany skrót dołączenia z oczekiwanego kontekstu podpisu i weryfikuje wynikowy token

Current scope

Implementacja obsługuje samodzielne i dołączone do podpisu kody uwierzytelnienia, skróty danych i podpisów SHA-256, HMAC-SHA256, AES-256 Key Wrap oraz 32-bajtowe klucze plików Standard Security Handler

Procedury obsługi bezpieczeństwa klucza publicznego i alternatywne algorytmy skrótu nie są generowane

See Also

FPdfHmac, FPdfAes, FPdfEncrypt, TPdf.ValidatePdfMac