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

SignProcessIDWartość zwrócona przez funkcję NewSignProcessFromFile, NewSignProcessFromStream lub NewSignProcessFromString
SubFilterStrNiestandardowy ciąg wpisu SubFilter

Wartości zwracane

0Parametr SignProcessID był nieprawidłowy lub parametr SubFilter wykraczał poza zakres
1Powodzenie