ApplyPAdESLongTermValidation

Dijital imzalar

Açıklama

Önceden imzalanmış bir PDF'yi tek çağrıda PAdES-B-LT düzeyine yükseltir ve sonucu bir dosyaya yazar

Sözdizimi

Delphi

Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;

Parametreler

InputFileİmzalanmış PDF
PasswordAçma parolası veya boş dize
OutputFileYazılacak genişletilmiş PDF
FieldNameİşlenecek bir imza alanı veya her imzayı tek bir revizyonda işlemek için boş bir dize
OptionsBir PADES_LTV_* bit maskesi; 0, PADES_LTV_DEFAULT değerini seçer

Seçenekler

PADES_LTV_WRITE_VRI (1)Her imza için bir VRI girdisi yaz
PADES_LTV_FETCH_OCSP (2)Her bağlantının OCSP yanıtlayıcısına sorar
PADES_LTV_FETCH_CRL (4)OCSP hiçbir sonuç döndürmediğinde CRL'ye geri dönün
PADES_LTV_FOLLOW_AIA (8)Yolu tamamlamak için veren kuruluş adreslerini izleyin
PADES_LTV_SKIP_EXISTING (16)Baytları zaten hazırlanmış malzemeyi yeniden eklemeyin
PADES_LTV_SKIP_ROOT_REVOCATION (32)Kendinden imzalı bir kökün durumunu istemeyin
PADES_LTV_DEFAULT (63)Yukarıdakilerin tümü; Options 0 olduğunda seçilir

Dönüş değerleri

1Yükseltme başarılı oldu
2Girdi dosyası okunamadı
3Girdi PDF ayrıştırılamadı
10Çıktı yazılamadı
11Belge güvenlik deposu eklenemedi
20Böyle bir imza alanı yok
21İşlenen imzaların hiçbirinde okunabilir bir sertifika yoktu

1 dışındaki tüm değerlerin nedenini GetPAdESLTVError taşır

Açıklamalar

İmzalayan sertifika yolu imzanın kendi CMS verisinden oluşturulur; kalan veren kuruluşlar, PADES_LTV_FOLLOW_AIA ayarlandığında sertifikaların belirttiği caIssuers adresleri üzerinden izlenir. Her bağlantı için iptal verileri toplanır — önce OCSP, ardından CRL — ve sertifikalarla birlikte tek bir artımlı güncellemeyle belge güvenlik deposuna yazılır

Daha önce hazırlanmış bir malzemeyle aynı olan içerik bir kez yazılır ve buna ihtiyaç duyan her imza tarafından başvurulur; böylece yol veya imzalar arasında paylaşılan bir sertifika yetkilisi iki kez görünmez. VRI girdisi yalnızca işaret edeceği bir sertifika olduğunda yazılır, dolayısıyla hiçbir zaman boş bir girdi üretilmez

Erişilemeyen bir yanıtlayıcı çağrının başarısız olmasına yol açmaz: yükseltme toplanabilenlerle ilerler; GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount ve GetPAdESLTVError nelerin elde edildiğini ve eksik kalanların nedenini bildirir

Örnek

PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
  ShowMessage(PDF.GetPAdESLTVError);

Ayrıca bkz

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates