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 | Sertifikalama izni |
|---|---|
dmpNoChanges | Sertifikalamadan sonra hiçbir değişikliğe izin verilmez |
dmpFormFillAndSign | Form doldurma, şablon örneklemesi ve imzalamaya izin verilir |
dmpFormFillSignAndAnnotate | Önceki değişiklikler; ayrıca 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 argümanı | İ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
Yazı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üklenen 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
Zorunlu doğrudan ve dolayı biçimleri, Catalog /Perms hedeflerini, dönüşüm sürümlerini, yinelenen referansları, UR ile UR3 kısıtlarını ve isteğe bağlı DocMDP /P 2 varsayılanını doğrular
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
Standart dönüşüm kapsamı
| Metot | Bildirilen ilke |
|---|---|
DocMDP | Sertifikalama izni ve eşleşen Catalog /Perms /DocMDP hedefi |
UR | Belge, ek açıklama, form, imza ve gömülü dosya hakları; ayrıca eski /UR veya bayt aralıklı /UR3 kaynağı |
FieldMDP | All, Include veya Exclude alan kilidi kapsamı ve kopyalanan SigFieldLock uyumu |
Identity | Zorunlu dolaylı /Data kökünden ulaşılabilen, döngüden güvenli geçişli nesne numaraları |
Bilinmeyen metot adları UnknownTransformMethods içinde tutulur ve izin yapısını geçersiz kılar; böylece kritik bir dönüşüm gözden kaçamaz
Doğrulama sınırı
GetLoadedSignaturePermissions yalnızca ilke yapısını raporlar
VerifyLoadedSignature, kriptografik bütünlüğü ayrı olarak raporlamaya devam eder
AnalyzeLoadedSignatureRevisions; bayt aralıklı DocMDP, FieldMDP, UR3 ve Identity ilkeleri için revizyon revizyon anlamsal değişiklik çözümlemesi yapar; kullanımdan kaldırılmış bayt aralığı dışı UR nesne özeti imzaları yapısal inceleme için kullanılabilir kalır
SaveIncrementalUpdateAuthenticated incelemeyi zorlamaya dönüştürür: ilkeleri imzalı anlık görüntülerinden okur, kontrol eden imzaları kimlik doğrular, sonraki tüm revizyonları doğrular ve yalnızca her ilke başarılı olduktan sonra atomik değiştirme yayımlar
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