SetSignProcessCustomSubFilter

Sécurité et signatures

Description

Définit l'entrée SubFilter avec une chaîne personnalisée pour un processus de signature numérique, en précisant l'encodage de la valeur de signature

Semblable à SetSignProcessSubFilter, mais l’entrée Subfilter est personnalisable

Lorsque la chaîne commence par ETSI. (généralement ETSI.CAdES.detached pour les signatures PAdES de base ou ETSI.RFC3161 pour les horodatages), la bibliothèque ajoute automatiquement au Catalog l’entrée PAdES /Extensions /ESIC <</BaseVersion /1.7 /ExtensionLevel 2>> requise par ETSI EN 319 142-1 v1.2.1 §5.6. Pour les PDF créés avec TPDFlib, la déclaration Adobe équivalente (/Extensions /ADBE avec /ExtensionLevel 8) est ajoutée parallèlement. L’injection est idempotente et n’abaisse jamais un niveau d’extension supérieur existant

La sélection de ETSI.CAdES.detached active aussi la signature PAdES-B-B : la charge CMS porte les attributs authentifiés content-type (id-data) et signing-certificate-v2 (RFC 5035 / RFC 5816), tandis que signing-time, interdit par Table 1 de EN 319 142-1, est omis puisque la bibliothèque fournit son propre tableau à CryptSignMessage. Le certificat est identifié par son condensat SHA-256, ou SHA-384 / SHA-512 lorsque SetSignProcessDigestAlgorithm choisit un hachage plus grand, et les versions actuelles incluent aussi le tuple facultatif IssuerSerial afin que les validateurs stricts puissent vérifier le certificat dans leur chaîne candidate

Syntaxe

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);

Paramètres

SignProcessIDUne valeur renvoyée par les fonctions NewSignProcessFromFile, NewSignProcessFromStream ou NewSignProcessFromString
SubFilterStrEntrée de chaîne SubFilter personnalisée

Valeurs de retour

0Le paramètre SignProcessID n'était pas valide ou le paramètre SubFilter se trouvait hors limites
1Success