THotPDF.SaveIncrementalUpdateAuthenticated Method
İmzalı revizyon politikalarını doğrular, yasaklanan değişiklikleri reddeder ve artımlı güncellemeyi atomik olarak yayımlar
Bildirimler
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
const Options: THPDFAuthenticatedIncrementalUpdateOptions;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
İş akışı
- Bekleyen artımlı revizyonu, hedef dizindeki benzersiz bir candidate dosyaya yazar
- Her politikayı, imza byte aralığıyla korunan tam revizyondan yükler
- Politika taşıyan her CMS imzasını authenticate eder ve isteğe bağlı olarak sertifika yolunu doğrular
- Sonraki her revizyonu sınıflandırır ve DocMDP, FieldMDP, UR veya UR3, Identity ile bilinmeyen transform kararlarını uygular
- Kabul edilen candidate dosyasını write-through atomik değiştirmeyle yayımlar
Red durumunda candidate silinir ve mevcut hedef dosya bayt bayt aynı kalır
Seçenekler
| Üye | Amaç |
|---|---|
Authentication | ipaCryptographic geçerli bir CMS byte-range imzası gerektirir; ipaTrustedCertificate buna ek olarak sertifika yolu ve revocation doğrulamasından cvsTrusted sonucunu da gerektirir |
RequireSignaturePolicy | Varsayılan olan True değerindeyken authenticate edilmiş bir transform politikası bulunmayan belgeleri reddeder |
CertificateValidation | Güvenilen sertifika modunun kullandığı trust anchor'lar, ara sertifikalar, çevrimdışı revocation kanıtı, doğrulama zamanı, amaç ve algoritma politikası |
Sonuç ayrıntıları
THPDFAuthenticatedIncrementalUpdateInfo; nihai durumu, hata veren imza indeksini, imza ve sertifika durumunu, toplam imza sayısını, authenticate edilmiş politika sayısını ve bir tanı sorununu bildirir
Önemli durumlar arasında aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation ve aiusCommitFailed yer alır
Kullanım
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;
Güvenlik sınırı
- Yapısal olarak mevcut bir politika, imzası başarıyla authenticate edilene kadar asla yetkili hâle gelmez
- Politika sözlükleri imzalı anlık görüntüden okunur ve özgün imza nesnesine, byte aralığına ve CMS değerine bağlanır; böylece sonraki bir revizyonun kendi yetkisini başka yöne çekmesi veya değiştirmesi engellenir
- Belge bütünlüğünün yanı sıra imzalayanın kimliği de önemliyse güvenilen sertifika modu uygundur
- Sıradan
SaveIncrementalUpdatemetodu, politika zorunluluğu istemeyen imzasız iş akışları için kullanılmaya devam eder