SetSignProcessCustomSubFilter
Zabezpieczenia i podpisy
Opis
Ustawia wpis SubFilter niestandardowym ciągiem dla procesu podpisu cyfrowego, określając kodowanie wartości podpisu
Działa podobnie do SetSignProcessSubFilter, lecz umożliwia dostosowanie wpisu SubFilter
Gdy przekazany ciąg zaczyna się od ETSI. (zwykle ETSI.CAdES.detached dla podpisów bazowych PAdES lub ETSI.RFC3161 dla znaczników czasu dokumentu), biblioteka automatycznie dodaje do katalogu dokumentu wpis PAdES /Extensions /ESIC <</BaseVersion /1.7 /ExtensionLevel 2>> wymagany przez ETSI EN 319 142-1 v1.2.1 §5.6. W przypadku plików PDF tworzonych przez TPDFlib równolegle dodawana jest równoważna deklaracja Adobe (/Extensions /ADBE z /ExtensionLevel 8). Wstawianie jest idempotentne i nigdy nie obniża istniejącego wyższego poziomu rozszerzenia
Wybranie ETSI.CAdES.detached dodatkowo aktywuje ścieżkę podpisu PAdES-B-B: wynikowy ładunek CMS zawiera uwierzytelnione atrybuty content-type (id-data) i signing-certificate-v2 (RFC 5035 / RFC 5816), a atrybut signing-time, którego zabrania tabela 1 standardu EN 319 142-1, jest pomijany, ponieważ biblioteka przekazuje własną tablicę atrybutów do CryptSignMessage. Certyfikat podpisujący jest identyfikowany skrótem SHA-256 (albo SHA-384 / SHA-512, gdy SetSignProcessDigestAlgorithm wybierze większy skrót), a bieżące kompilacje dołączają także opcjonalną krotkę IssuerSerial (wyróżniającą nazwę wystawcy wraz z numerem seryjnym), aby bardziej rygorystyczne walidatory PAdES mogły sprawdzić certyfikat podpisujący względem proponowanego łańcucha
Składnia
Delphi
Function TPDFlib.SetSignProcessCustomSubFilter(SignProcessID: Integer; SubFilterStr: WideString): Integer;
ActiveX
Function PDFlib::SetSignProcessCustomSubFilter(SignProcessID As Long, SubFilterStr As String) As Long
DLL
int DLSetSignProcessCustomSubFilter(int InstanceID, int SignProcessID, const wchar_t * SubFilterStr);
Parametry
| SignProcessID | Wartość zwrócona przez funkcję NewSignProcessFromFile, NewSignProcessFromStream lub NewSignProcessFromString |
|---|---|
| SubFilterStr | Niestandardowy ciąg wpisu SubFilter |
Wartości zwracane
| 0 | Parametr SignProcessID był nieprawidłowy lub parametr SubFilter wykraczał poza zakres |
|---|---|
| 1 | Powodzenie |