Sertifikaattiallekirjoitukset ja kenttälukot
HotPDF voi laatia sertifikaattiallekirjoituksiin ja allekirjoitettuihin kenttälukkoihin liitetyt PDF-oikeusrakenteet ja tarkastaa samat rakenteet ladatussa dokumentissa
Tuottajan 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 yhdistää allekirjoitetun paikan luomisen sertifikaattimäärittelyyn
ConfigureCertificationSignature on olemassa olevalle laaditulle allekirjoitetulle paikalle, ja se vaatii, että kyseinen kenttä on ensimmäinen allekirjoitussanakirjaa kantava kenttä
Dokumentti voi sisältää vain yhden sertifikaattiallekirjoituksen, joten toinen määrittelypyyntö hylätään ennen oliograafin muuttamista
Nämä API:t neuvottelevat PDF 1.5 -tulosteen automaattisesti
DocMDP-oikeustasot
| Arvo | Sertifikaattioikeus |
|---|---|
dmpNoChanges | Sertifioinnin jälkeen muutoksia ei sallita |
dmpFormFillAndSign | Lomakkeen täyttö, mallin instantiointi ja allekirjoittaminen sallitaan |
dmpFormFillSignAndAnnotate | Edellisten muutosten lisäksi huomautusten luominen, poistaminen ja muokkaaminen sallitaan |
dmpNone on varattu tarkastustuloksille ilman DocMDP-muunnosta, ja tuottajametodit hylkäävät sen
Kenttälukon laajuudet
| Arvo | Fields-argumentti | Vaikutus allekirjoituksen jälkeen |
|---|---|---|
flaAll | Täytyy olla tyhjä | Lukitsee kaikki lomakekentät |
flaInclude | Yksi tai useampi yksilöllinen kentän nimi | Lukitsee vain luetellut kentät |
flaExclude | Yksi tai useampi yksilöllinen kentän nimi | Lukitsee kaikki kentät lukuun ottamatta lueteltuja |
AttachSignatureFieldLock hylkää tyhjät nimet, kaksoiskappaleet nimistä, virheelliset toimintoarvot, yhteensopimattoman Fields-muodon, allekirjoittamattoman kohdekentän tai kentän, jolla on jo lukko tai FieldMDP-käytäntö
Tuotettu rakenne
- Sertifikaattiallekirjoitus kantaa suoraa
/Reference-taulukkoa, joka sisältää suoran DocMDP-allekirjoitusviitesanakirjan ja suorat muunnosparametrit - Catalogin
/Perms /DocMDP-alkio osoittaa samaan epäsuoraan allekirjoitussanakirjaan - Kentän
/Lock-alkio osoittaa epäsuoraan/Type /SigFieldLock-sanakirjaan - Lukon laajuus kopioidaan suoraan FieldMDP-allekirjoitusviitteeseen, ja sen
/Data-alkio osoittaa epäsuoraan Catalog-juureen - Allekirjoitussanakirja merkitsee muunnosviitteet kriittisiksi kautta
/V 1
Delphi-esimerkki
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;
Ladattu tarkastus
function GetLoadedSignaturePermissions(
SigIndex: Integer;
out Info: THPDFSignaturePermissionInfo): Boolean;
Lukija raportoi DocMDP-oikeuden, Catalog-kytkennän, SigFieldLock-laajuuden, FieldMDP-laajuuden, kenttien nimet, rakenteellisen kelvollisuuden ja diagnostiikkaongelma-merkkijonon
Se vahvistaa vaaditut suorat ja epäsuorat oliomuodot ja varmistaa, että Catalogin /Perms /DocMDP osoittaa samaan allekirjoitussanakirjaan
Jos sekä SigFieldLock että FieldMDP ovat läsnä, niiden toimintojen ja kenttäluiden on oltava yhtenevät
Lukija suorittaa rajoitetun sanakirja- ja taulukkotarkastuksen, eikä se suorita JavaScriptiä, toimintoja tai allekirjoitussisältöä
Validointiraja
GetLoadedSignaturePermissions raportoi vain käytäntörakenteen
VerifyLoadedSignature jatkaa kryptografisen eheyden raportointia erikseen
Kumpikaan metodi ei väitä, että jokainen myöhempi inkrementaaliversio noudattaisi raportoitua DocMDP- tai FieldMDP-oikeutta, sillä se vaatii versiokohtaista semanttisen muutoksen analyysiä
Suorituskyky
Tuottajan validointi skannaa vain laaditut AcroForm-kentät ja pienen allekirjoitusviitetaulukon, kun taas ladattu tarkastus lukee vain valitun allekirjoituksen, sen lukon, sen viitteet ja Catalogin oikeusalkion
Yhtäkään sivun sisältöä, kuvavirtaa, fonttiohjelmaa tai asiaan liittymätöntä epäsuoraa oliota ei dekoodata