Sertifika İmzaları ve Alan Kilitleri
HotPDF, sertifika imzalarına ve imzalı alan kilitlerine eklenmiş PDF izin yapılarını oluşturabilir, ardından yüklenen bir belgede aynı yapıları inceleyebilir
Üretici API'si
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, imzalı yer tutucu oluşturmayı sertifika yapılandırması ile birleştirir
ConfigureCertificationSignature, mevcut oluşturulmuş imzalı yer tutucu içindir ve o alanın bir imza sözlüğü taşıyan ilk alan olmasını gerektirir
Bir belge yalnızca bir sertifika imzası içerebilir, bu nedenle ikinci bir yapılandırma isteği nesne grafiği değiştirilmeden önce reddedilir
Bu API'ler PDF 1.5 çıktısını otomatik olarak görüşür
DocMDP izin düzeyleri
| Değer | Sertifika izni |
|---|---|
dmpNoChanges | Sertifikadan sonra hiçbir değişikliğe izin verilmez |
dmpFormFillAndSign | Form doldurma, şabron örnekleme ve imzalama izinlidir |
dmpFormFillSignAndAnnotate | Önceki değişikliklere ek olarak ek açıklama oluşturma, silme ve değiştirmeye izin verilir |
dmpNone, DocMDP dönüşümü olmayan inceleme sonuçları için ayrılmıştır ve üretici yöntemler tarafından reddedilir
Alan kilidi kapsamları
| Değer | Fields bağımsız değişkeni | İmzalamadan sonraki etki |
|---|---|---|
flaAll | Boş olmalıdır | Her form alanını kilitler |
flaInclude | Bir veya daha fazla benzersiz alan adı | Yalnızca listelenen alanları kilitler |
flaExclude | Bir veya daha fazla benzersiz alan adı | Listelenen alanlar dışındaki her alanı kilitler |
AttachSignatureFieldLock, boş adları, yinelenen adları, geçersiz eylem değerlerini, uyumsuz bir Fields biçimini, imzasız hedef alanı veya zaten bir kilit ya da FieldMDP ilkesi taşıyan bir alanı reddeder
Yayılan yapı
- Sertifika imzası, doğrudan bir DocMDP imza başvuru sözlüğü ve doğrudan dönüşüm parametreleri içeren doğrudan bir
/Referencedizisi taşır - Catalog
/Perms /DocMDPgirişi aynı dolaylı imza sözlüğüne işaret eder - Alan
/Lockgirişi dolaylı bir/Type /SigFieldLocksözlüğüne işaret eder - Kilit kapsamı doğrudan bir FieldMDP imza başvurusuna kopyalanır ve
/Datagirişi dolaylı Catalog köküne işaret eder - İmza sözlüğü dönüşüm başvurularını
/V 1aracılığıyla kritik olarak işaretler
Delphi örneği
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;
Yüklenmiş inceleme
function GetLoadedSignaturePermissions(
SigIndex: Integer;
out Info: THPDFSignaturePermissionInfo): Boolean;
Okuyucu DocMDP iznini, Catalog bağlantısını, SigFieldLock kapsamını, FieldMDP kapsamını, alan adlarını, yapısal geçerliliği ve bir tanılama sorun dizesini raporlar
Gerekli doğrudan ve dolaylı nesne biçimlerini doğrular ve Catalog /Perms /DocMDP öğesinin aynı imza sözlüğünü hedeflediğini onaylar
Hem SigFieldLock hem de FieldMDP mevcutsa, eylemleri ve alan listeleri aynı olmalıdır
Okuyucu sınırlı sözlük ve dizi incelemesi gerçekleştirir ve JavaScript, eylem veya imza içeriği yürütmez
Doğrulama sınırı
GetLoadedSignaturePermissions yalnızca ilke yapısını raporlar
VerifyLoadedSignature, kriptografik bütünlüğü ayrı olarak raporlamaya devam eder
İki yöntemden hiçbiri, bildirilen DocMDP veya FieldMDP iznine sonraki her artımlı sürümün uyduğunu iddia etmez, çünkü bu sürüm sürüm anlamsal değişiklik analizi gerektirir
Performans
Üretici doğrulaması yalnızca oluşturulmuş AcroForm alanlarını ve küçük imza başvuru dizisini tararken, yüklenmiş inceleme yalnızca seçilen imzayı, kilidini, başvurularını ve Catalog izin girişini okur
Hiçbir sayfa içeriği, görüntü akışı, yazı tipi programı veya ilgisiz dolaylı nesne deşifre edilmez