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;
Oluşturucu, 32 baytlık dosya şifreleme anahtarından ve /KDFSalt değerinden, HKDF-SHA256 ve PDFMAC UTF-8 info değeriyle bir AES-256 anahtar şifreleme anahtarı türetir
Rastgele bir 256 bitlik MAC anahtarı RFC 3394 AES-256 Key Wrap ile sarmalanır ve ISO/TS 32004 tarafından gerektirilen tek PasswordRecipientInfo içinde yazılır
Belirteç, sürüm sıfır bir PdfMacIntegrityInfo, zorunlu kimlik doğrulamalı öznitelikler, CMSAlgorithmProtection ve özniteliklerin kurallı DER SET kodlaması üzerinden bir HMAC-SHA256 değeri içerir
PDF serileştirmesinden çağıran sorumludur ve tam /ByteRange segmentlerinin SHA-256 özetini sağlar; uygulama kodu normalde TPdfEncryptOptions.EnableIntegrityProtection ve TPdf.ValidatePdfMac kullanır
Ekli belirteçler, aynı kimlik doğrulamalı belirteç biçimini oluşturmadan ya da doğrulamadan önce veri özetini bir imza özetine ve imza nesnesi numarası ile üretimine bağlar
| Function | Description |
|---|---|
BuildStandalonePdfMacToken | 32 baytlık dosya şifreleme anahtarı, KDF salt ve veri özeti değerlerinden tek başına bir AuthenticatedData belirteci oluşturur |
VerifyStandalonePdfMacToken | Kurallı DER, algoritma, öznitelik, sarmalanmış anahtar, beklenen veri özeti ve HMAC değerlerini, gizli değerlerin karşılaştırıldığı yerlerde sabit sürede doğrular |
BuildAttachedPdfMacToken | Veri özetini, imza özetini, imza nesnesi numarasını ve imza üretimini bağlı bütünlük özetine işleyerek ekli bir belirteç oluşturur |
VerifyAttachedPdfMacToken | Beklenen imza bağlamından ekli bağlama özetini yeniden oluşturur ve oluşan belirteci doğrular |
Uygulama, tek başına ve imzaya ekli kimlik doğrulama kodlarını, SHA-256 veri ve imza özetlerini, HMAC-SHA256, AES-256 Key Wrap ve 32 baytlık Standard Security Handler dosya anahtarlarını destekler
Açık anahtar güvenlik işleyicileri ve alternatif özet algoritmaları üretilmez