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 |
|---|---|
| Password | Açma parolası veya boş dize |
| OutputFile | Yazılacak genişletilmiş PDF |
| FieldName | İşlenecek bir imza alanı veya her imzayı tek bir revizyonda işlemek için boş bir dize |
| Options | Bir 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
| 1 | Yükseltme başarılı oldu |
|---|---|
| 2 | Girdi dosyası okunamadı |
| 3 | Girdi PDF ayrıştırılamadı |
| 10 | Çıktı yazılamadı |
| 11 | Belge güvenlik deposu eklenemedi |
| 20 | Bö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