THotPDF.SaveIncrementalUpdateAuthenticated Method
Автентифікує політики підписаних ревізій, відхиляє заборонені зміни та атомарно публікує інкрементальне оновлення
Оголошення
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
const Options: THPDFAuthenticatedIncrementalUpdateOptions;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
Робочий процес
- Записує незавершену інкрементальну ревізію в унікального кандидата в каталозі призначення
- Завантажує кожну політику з точного захищеного сигнатурою діапазону байтів ревізії
- Автентифікує кожен підпис CMS із політикою та за бажанням перевіряє його шлях сертифікатів
- Класифікує кожну пізнішу ревізію та застосовує рішення DocMDP, FieldMDP, UR чи UR3, Identity та невідомих перетворень
- Публікує прийнятого кандидата через атомарну заміну з записом наскрізь
Відхилення видаляє кандидата та залишає наявне призначення побайтово незмінним
Параметри
| Поле | Призначення |
|---|---|
Authentication | ipaCryptographic вимагає дійсного підпису діапазону байтів CMS, тоді як ipaTrustedCertificate додатково вимагає cvsTrusted від перевірки шляху сертифікатів і відкликання |
RequireSignaturePolicy | Відхиляє документи без автентифікованої політики перетворення, коли True, що є типовим |
CertificateValidation | Довірені корені, проміжні сертифікати, докази офлайн-відкликання, час валідації, призначення та політика алгоритмів, що використовуються режимом довіреного сертифіката |
Деталі результату
THPDFAuthenticatedIncrementalUpdateInfo повідомляє підсумковий статус, індекс сигнатури, що не вдалася, статус підпису та сертифіката, загальну кількість підписів, кількість автентифікованих політик і діагностичну проблему
Важливі статуси: aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation та aiusCommitFailed
Використання
var
Info: THPDFAuthenticatedIncrementalUpdateInfo;
begin
PDF.BeginIncrementalUpdate('certified.pdf');
PDF.SetLoadedFormFieldValueByName('CustomerName', 'Ada');
if not PDF.SaveIncrementalUpdateAuthenticated('updated.pdf', Info) then
raise Exception.Create(String(Info.Issue));
end;
Межа безпеки
- Структурно присутня політика ніколи не стає авторитетною, доки її підпис не автентифікується успішно
- Словники політик читаються з підписаного знімка та прив'язуються до вихідного об'єкта сигнатури, діапазону байтів і значення CMS, що запобігає перенаправленню чи заміні пізнішою ревізією власного авторитету
- Режим довіреного сертифіката доречний, коли ідентичність підписувача має значення, а не лише цілісність документа
- Звичайний метод
SaveIncrementalUpdateлишається доступним для непідписаних робочих процесів, які не застосовують політики