THotPDF.ValidatePDFMACChain Metodu

En eski cross-reference bölümünden etkin revizyona kadar her PDF MAC revizyonunu doğrular ve revizyona özgü bütünlük tanılamaları döndürür

Bildirim

function ValidatePDFMACChain(const FileName: TFileName; const Password: AnsiString; out ValidationInfo: THPDFPDFMACChainValidationInfo): boolean; overload;
function ValidatePDFMACChain(const FileName: TFileName; const Password: AnsiString; const Options: THPDFPDFMACOptions; out ValidationInfo: THPDFPDFMACChainValidationInfo): boolean; overload;

Doğrulama modeli

Sonuç kayıtları

THPDFPDFMACChainValidationInfo; RevisionCount, FirstMACRevisionIndex, ValidatedRevisionCount, FailureRevisionIndex, FailureXRefOffset, izin kapsamını, salt kararlılığını, digest monotonluğunu ve her revizyon için bir THPDFPDFMACRevisionValidation kaydını raporlar

THPDFPDFMACChainFailure; revizyon sınırı hatalarını, eksik MAC'leri, geçersiz veya değiştirilmiş MAC'leri, değişmiş KDFSalt'u, digest düşürmeyi ve kimlik doğrulamalı izin düşürmesini birbirinden ayırır

Uygulama revizyon zincirini bir kez numaralandırır ve tek bir kümülatif cross-reference durumunu güncelleyerek geçici PDF kopyalarını ve tekrarlanan nesne indekslemesini ortadan kaldırır; her korumalı revizyon için bağımsız kriptografik doğrulama korunur

Delphi örneği

var
  ChainInfo: THPDFPDFMACChainValidationInfo;
begin
  if not PDF.ValidatePDFMACChain('authenticated.pdf', 'user-password',
    ChainInfo) then
    raise Exception.CreateFmt('Revision %d at xref %d failed: %s',
      [ChainInfo.FailureRevisionIndex, ChainInfo.FailureXRefOffset,
       ChainInfo.Message]);
end;

Preflight

CreatePreflightReport aynı sonucu PDFMACRevisionChain olarak açar; böylece otomatik iş akışları etkin revizyon geçerliliğini tam revizyon zinciri geçerliliğinden ayırabilir

Yalnızca etkin revizyonun denetlenmesi gerekiyorsa ValidatePDFMAC sayfasına, digest politika semantiği için PDF MAC algoritma çevikliği ve politika profilleri sayfasına bakın