Signature Transform Methods and Permissions

HotPDF kan skapa DocMDP- och FieldMDP-behörighetsstrukturer samt granska och klassificera varje standardiserad signaturtransformmetod i ett inläst dokument

Producent-API

procedure AddCertificationSignatureField(
  const FieldName: AnsiString;
  Rectangle: TRect;
  Permission: THPDFDocMDPPermission;
  ContentsBytes: Integer = 8192;
  const SubFilter: AnsiString = 'adbe.pkcs7.detached';
  const Reason: AnsiString = '';
  const Location: AnsiString = '';
  const ContactName: AnsiString = '';
  Flags: THPDFFormFieldFlags = []);

procedure ConfigureCertificationSignature(
  const FieldName: AnsiString;
  Permission: THPDFDocMDPPermission);

procedure AttachSignatureFieldLock(
  const FieldName: AnsiString;
  Action: THPDFFieldLockAction;
  const Fields: array of AnsiString);

AddCertificationSignatureField combines signed-placeholder creation with certification configuration

ConfigureCertificationSignature är för en befintlig författad signerad platshållare och kräver att det fältet är det första fält som bär en signaturordlista

Ett dokument kan bara innehålla en certifieringssignatur, så en andra konfigurationsbegäran avvisas innan objektgrafen ändras

Dessa API:er förhandlar automatiskt fram PDF 1.5-utdata

DocMDP-behörighetsnivåer

Värde Certification permission
dmpNoChangesNo changes are permitted after certification
dmpFormFillAndSignIfyllning av formulär, instansiering av mallar och signering är tillåtna
dmpFormFillSignAndAnnotateFöregående ändringar plus skapande, borttag och ändring av annoteringar tillåts

dmpNone är reserverat för granskningsresultat utan DocMDP-transform och avvisas av metoderna som skapar

Fältlåsomfång

Värde Fältargument Effekt efter signering
flaAllMust be emptyLocks every form field
flaIncludeOne or more unique field namesLåser bara de listade fälten
flaExcludeOne or more unique field namesLåser alla fält utom de listade fälten

AttachSignatureFieldLock avvisar tomma namn, dubbletter av namn, ogiltiga åtgärdsvärden, en inkompatibel Fields-struktur, ett osignerat målfält eller ett fält som redan har en låsning eller FieldMDP-princip

Emitted structure

Delphi-exempel

var
  LockedFields: THPDFAnsiStringArray;
begin
  HotPDF.CurrentPage.AddTextField(
    'InternalCode', '', Rect(40, 80, 220, 108));

  HotPDF.CurrentPage.AddCertificationSignatureField(
    'CertSig', Rect(40, 140, 260, 190),
    dmpFormFillAndSign, 8192,
    'adbe.pkcs7.detached', 'Document approval');

  SetLength(LockedFields, 1);
  LockedFields[0] := 'InternalCode';
  HotPDF.CurrentPage.AttachSignatureFieldLock(
    'CertSig', flaInclude, LockedFields);
end;

Loaded inspection

function GetLoadedSignaturePermissions(
  SigIndex: Integer;
  out Info: THPDFSignaturePermissionInfo): Boolean;

Läsaren rapporterar hela transformmängden, antal referenser, DocMDP-behörighet, SigFieldLock- och FieldMDP-omfång, UR-användarrättigheter, källan till Catalog UR eller UR3, omfånget för Identity-objektet, okända metoder, strukturell giltighet samt en diagnostisk problemsträng

It verifies required direct and indirect shapes, Catalog /Perms mål, transformversionsversioner, duplicerade referenser, UR kontra UR3-restriktioner och den valfria DocMDP /P 2 default

Om både SigFieldLock och FieldMDP finns måste deras åtgärder och fältlistor stämma överens

Genomgången av Identity-omfånget är cykelsäker och avgränsad till 64 nivåer och 100 000 indirekta objekt, medan granskningen aldrig exekverar JavaScript, åtgärder eller signaturinnehåll

Standardiserad transformationstäckning

MethodRapporterad policy
DocMDPCertifieringsbehörighet och matchande Catalog /Perms /DocMDP mål
URDokument-, annoterings-, formulär-, signatur- och inbäddad fil-rättigheter plus äldre /UR eller byteintervall /UR3 källa
FieldMDPAll-, Include- eller Exclude-fältlåsomfång och kopierad SigFieldLock-överenskommelse
IdentityCykelsäkra transitiva objektnummer som nås från den obligatoriska indirekta /Data roten

Okända metodnamn behålls i UnknownTransformMethods och gör behörighetsstrukturen ogiltig så att en kritisk transform inte kan förbises

Validation boundary

GetLoadedSignaturePermissions rapporterar enbart policystrukturen

VerifyLoadedSignature continues to report cryptographic integrity separately

AnalyzeLoadedSignatureRevisions utför semantisk ändringsanalys revision för revision för DocMDP, FieldMDP, UR3 och Identity-policyer med byteintervall, medan föråldrade UR-objektsammandragssignaturer utan byteintervall fortfarande kan granskas strukturellt

SaveIncrementalUpdateAuthenticated övergår från granskning till drivning: den läser policys från sina signerade ögonblicksbilder, autentiserar de styrande signaturerna, validerar alla senare revisioner och publicerar genom atomär ersättning först efter att varje policy lyckats

Performance

Producentvalideringen genomsöker bara författade AcroForm-fält och den lilla arrayen av signaturreferenser, medan granskning av laddade dokument bara läser den valda signaturen, dess lås, dess referenser och Catalog-behörighetsposten

Inget sidinnehåll, ingen bildström, inget teckensnittsprogram och inget orelaterat indirekt objekt avkodas

Se även