Tanúsítási aláírások és mezőzárak
A HotPDF képes létrehozni a tanúsítási aláírásokhoz és az aláírt mezőzárakhoz csatolt PDF jogosultsági szerkezeteket, majd ugyanazokat a szerkezeteket egy betöltött dokumentumban megvizsgálni
Előállító 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);
Az AddCertificationSignatureField egyesíti az aláírt helyőrző létrehozását a tanúsítási konfigurációval
A ConfigureCertificationSignature már létrehozott aláírt helyőrzőhöz való, és megköveteli, hogy az a mező legyen az első olyan mező, amely aláírás-szótárt hordoz
Egy dokumentum csak egy tanúsítási aláírást tartalmazhat, így egy második konfigurációs kérelem már az objektumgráf módosítása előtt elutasításra kerül
Ezek az API-k automatikusan kezelik a PDF 1.5 kimenetet
DocMDP jogosultsági szintek
| Érték | Tanúsítási jogosultság |
|---|---|
dmpNoChanges | Tanúsítás után nem engedélyezett módosítás |
dmpFormFillAndSign | Űrlapkitöltés, sablonpéldányosítás és aláírás engedélyezett |
dmpFormFillSignAndAnnotate | Az előző módosítások plusz jegyzetek létrehozása, törlése és módosítása engedélyezett |
A dmpNone a DocMDP transzformáció nélküli vizsgálati eredmények számára van fenntartva, és az előállító metódusok elutasítják
Mezőzár-hatókörök
| Érték | Fields argumentum | Aláírás utáni hatás |
|---|---|---|
flaAll | Üres kell legyen | Minden űrlapmezőt zárol |
flaInclude | Egy vagy több egyedi mezőnév | Csak a felsorolt mezőket zárolja |
flaExclude | Egy vagy több egyedi mezőnév | A felsoroltakon kívül minden mezőt zárol |
Az AttachSignatureFieldLock elutasítja az üres neveket, a duplikált neveket, az érvénytelen műveleti értékeket, az inkompatibilis Fields-alakot, az alááratlan célmezőt vagy azt a mezőt, amely már hordoz zárat vagy FieldMDP-házirendet
Kibocsátott szerkezet
- A tanúsítási aláírás egy közvetlen
/Referencetömböt hordoz, amely egy közvetlen DocMDP aláírás-hivatkozási szótárt és közvetlen transzformációs paramétereket tartalmaz - A Catalog
/Perms /DocMDPbejegyzés ugyanarra a közvetett aláírás-szótárra mutat - A mező
/Lockbejegyzése egy közvetett/Type /SigFieldLockszótárra mutat - A zárási hatókör egy közvetlen FieldMDP aláírás-hivatkozásba másolódik, és annak
/Databejegyzése a közvetett Catalog-gyökérre mutat - Az aláírás-szótár a transzformációs hivatkozásokat a
/V 1révén kritikusként jelöli
Delphi példa
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;
Betöltött vizsgálat
function GetLoadedSignaturePermissions(
SigIndex: Integer;
out Info: THPDFSignaturePermissionInfo): Boolean;
Az olvasó jelenti a DocMDP jogosultságot, a Catalog kapcsolatot, a SigFieldLock hatókört, a FieldMDP hatókört, a mezőneveket, a szerkezeti érvényességet és egy diagnosztikai problémakarakterláncot
Ellenőrzi a szükséges közvetlen és közvetett objektumalakokat, és megerősíti, hogy a Catalog /Perms /DocMDP ugyanarra az aláírás-szótárra irányul
Ha mind a SigFieldLock, mind a FieldMDP jelen van, műveleteik és mezőlistáiknak egyezniük kell
Az olvasó korlátozott szótár- és tömbvizsgálatot végez, és nem hajt végre JavaScriptet, műveleteket vagy aláírás-tartalmat
Érvényesítési határ
A GetLoadedSignaturePermissions csak a házirend-szerkezetet jelenti
A VerifyLoadedSignature továbbra is külön jelenti a kriptográfiai épséget
Egyik metódus sem állítja, hogy minden későbbi növekményes revíció engedelmeskedik a jelentett DocMDP vagy FieldMDP jogosultságnak, mivel ez revíziónkénti szemantikai változáselemzést igényel
Teljesítmény
Az előállító érvényesítés csak a létrehozott AcroForm-mezőket és a kis aláírás-hivatkozási tömböt vizsgálja át, míg a betöltött vizsgálat csak a kiválasztott aláírást, annak zárát, hivatkozásait és a Catalog jogosultsági bejegyzést olvassa
Egyetlen oldaltartalom, képfolyam, betűtípus-program vagy rokonviszony nélküli közvetett objektum sem kerül dekódolásra