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
dmpNoChangesSertifikalamadan sonra hiçbir değişikliğe izin verilmez
dmpFormFillAndSignForm 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
flaAllBoş olmalıdırHer form alanını kilitler
flaIncludeBir veya daha fazla benzersiz alan adıYalnızca listelenen alanları kilitler
flaExcludeBir 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ı

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ı

MetotBildirilen ilke
DocMDPSertifikalama izni ve eşleşen Catalog /Perms /DocMDP hedefi
URBelge, ek açıklama, form, imza ve gömülü dosya hakları; ayrıca eski /UR veya bayt aralıklı /UR3 kaynağı
FieldMDPAll, Include veya Exclude alan kilidi kapsamı ve kopyalanan SigFieldLock uyumu
IdentityZorunlu 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

Ayrıca bakın