THotPDF.SaveIncrementalUpdateAuthenticated Method
Uwierzytelnia podpisane polityki rewizji, odrzuca zabronione zmiany i atomowo publikuje aktualizację przyrostową
Deklaracje
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
const Options: THPDFAuthenticatedIncrementalUpdateOptions;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
Workflow
- Zapisuje oczekującą rewizję przyrostową do unikalnego kandydata w katalogu docelowym
- Wczytuje każdą politykę z dokładnie tej rewizji, którą chroni zakres bajtów jej sygnatury
- Uwierzytelnia każdą sygnaturę CMS zawierającą politykę i opcjonalnie waliduje jej ścieżkę certyfikatów
- Klasyfikuje każdą późniejszą rewizję i egzekwuje decyzje DocMDP, FieldMDP, UR lub UR3, Identity oraz dotyczące nieznanych transformacji
- Publikuje zaakceptowanego kandydata za pomocą atomowej podmiany write-through
Odrzucenie usuwa kandydata i pozostawia istniejący cel niezmieniony bajt po bajcie
Opcje
| Składnik | Przeznaczenie |
|---|---|
Authentication | ipaCryptographic wymaga ważnej sygnatury CMS z zakresu bajtów, a ipaTrustedCertificate dodatkowo wymaga statusu cvsTrusted z walidacji ścieżki certyfikatów i rewokacji |
RequireSignaturePolicy | Odrzuca dokumenty bez uwierzytelnionej polityki transformacji, gdy ma wartość True, co jest ustawieniem domyślnym |
CertificateValidation | Kotwice zaufania, certyfikaty pośrednie, dowody rewokacji zebrane offline, czas walidacji, przeznaczenie i polityka algorytmów używane w trybie zaufanego certyfikatu |
Szczegóły wyniku
THPDFAuthenticatedIncrementalUpdateInfo raportuje status końcowy, indeks sygnatury, która zawiodła, statusy sygnatury i certyfikatu, łączną liczbę sygnatur, liczbę uwierzytelnionych polityk oraz problem diagnostyczny
Do ważnych statusów należą aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation i aiusCommitFailed
Użycie
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;
Granica bezpieczeństwa
- Polityka obecna w strukturze nigdy nie staje się wiążąca, dopóki jej sygnatura nie zostanie pomyślnie uwierzytelniona
- Słowniki polityk są odczytywane z podpisanego snapshotu i wiązane z oryginalnym obiektem sygnatury, zakresem bajtów i wartością CMS, co uniemożliwia późniejszej rewizji przekierowanie lub podmianę własnego źródła uprawnień
- Tryb zaufanego certyfikatu ma sens, gdy poza integralnością dokumentu istotna jest też tożsamość podpisującego
- Zwykła metoda
SaveIncrementalUpdatepozostaje dostępna dla niepodpisanych workflow, które nie żądają egzekwowania polityk