ApplyPAdESLongTermValidation

Podpisy cyfrowe

Opis

Promuje już podpisany plik PDF do PAdES-B-LT w jednym wywołaniu i zapisuje wynik do pliku.

Składnia

Delphi

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

Parametry

InputFilePodpisany plik PDF.
PasswordHasło do jego otwarcia albo pusty ciąg.
OutputFileRozszerzony plik PDF do zapisania.
FieldNamePole podpisu do przetworzenia albo pusty ciąg, aby przetworzyć wszystkie podpisy w jednej rewizji.
OptionsMaska bitowa PADES_LTV_*; 0 wybiera PADES_LTV_DEFAULT.

Opcje

PADES_LTV_WRITE_VRI (1)Zapisz wpis VRI dla każdego podpisu.
PADES_LTV_FETCH_OCSP (2)Wyślij zapytanie do respondera OCSP każdego ogniwa.
PADES_LTV_FETCH_CRL (4)Użyj listy CRL, gdy OCSP niczego nie zwrócił.
PADES_LTV_FOLLOW_AIA (8)Podążaj za adresami wystawców, aby uzupełnić ścieżkę.
PADES_LTV_SKIP_EXISTING (16)Nie dodawaj ponownie materiału, którego bajty są już przygotowane.
PADES_LTV_SKIP_ROOT_REVOCATION (32)Nie pytaj o stan samowystawionego certyfikatu głównego.
PADES_LTV_DEFAULT (63)Wszystkie powyższe; wybierane, gdy Options ma wartość 0.

Wartości zwracane

1Promocja powiodła się.
2Nie można odczytać pliku wejściowego.
3Nie można przeanalizować wejściowego pliku PDF.
10Nie można zapisać danych wyjściowych.
11Nie można dodać magazynu zabezpieczeń dokumentu.
20Nie ma takiego pola podpisu.
21Żaden przetworzony podpis nie zawierał czytelnego certyfikatu.

GetPAdESLTVError zawiera przyczynę każdej wartości innej niż 1.

Uwagi

Ścieżka certyfikatu podpisującego jest tworzona z własnego CMS podpisu, a pozostałych wystawców wyszukuje się za pośrednictwem adresów caIssuers wskazanych przez certyfikaty, gdy ustawiono PADES_LTV_FOLLOW_AIA. Informacje o unieważnieniu są zbierane dla każdego ogniwa — najpierw OCSP, następnie CRL — i wraz z certyfikatami zapisywane w magazynie zabezpieczeń dokumentu w jednej aktualizacji przyrostowej.

Materiał identyczny z już przygotowanym jest zapisywany jednokrotnie i wskazywany przez każdy wymagający go podpis, dlatego urząd certyfikacji współdzielony w obrębie ścieżki lub wielu podpisów nie pojawia się dwukrotnie. Wpis VRI jest zapisywany tylko wtedy, gdy ma certyfikat, do którego może się odwołać, więc pusty wpis nigdy nie powstaje.

Nieosiągalny responder nie powoduje niepowodzenia wywołania: promocja jest kontynuowana z zebranym materiałem, a GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount i GetPAdESLTVError zgłaszają, co uzyskano i dlaczego czegoś zabrakło.

Przykład

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

Zobacz również

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates