SetSignProcessCNGKey

Sécurité et signatures

Description

Attache une clé privée NCrypt nommée et son certificat X.509 encodé en DER à un processus de signature PDF

La clé est ouverte directement depuis le fournisseur demandé, permettant les identités TPM, jeton matériel, KSP cloud et autres identités CNG sans exporter la clé privée

Syntaxe

Delphi

Function TPDFlib.SetSignProcessCNGKey(SignProcessID: Integer; Const CertificateDER: AnsiString; Const ProviderName, KeyName: WideString; UseMachineKey, AllowUI: Boolean): Integer;

ActiveX

Function PDFlib::SetSignProcessCNGKey(SignProcessID As Long, CertificateDER As Variant, ProviderName As String, KeyName As String, UseMachineKey As Long, AllowUI As Long) As Long

DLL

int DLSetSignProcessCNGKey(int InstanceID, int SignProcessID, const char* CertificateDER, int CertificateLength, const wchar_t* ProviderName, const wchar_t* KeyName, int UseMachineKey, int AllowUI);

Paramètres

SignProcessIDValeur renvoyée par une fonction NewSignProcessFrom*
CertificateDERCertificat X.509 RSA ou ECDSA complet encodé en DER correspondant à la clé privée
ProviderNameNom du fournisseur de stockage de clés Windows, ou chaîne vide pour Microsoft Software Key Storage Provider
KeyNameNom de clé persistante compris par le fournisseur
UseMachineKeyTrue ou valeur non nulle pour ouvrir la clé dans la portée de la machine
AllowUITrue ou une valeur non nulle pour permettre les interfaces utilisateur de PIN, de consentement ou d'approbation cloud du fournisseur

Valeurs de retour

1La configuration d’identité a été associée au processus
0L’identifiant de processus, le certificat ou le nom de clé n’était pas valide

Remarques

La clé est ouverte lors de l'exécution du processus de signature et aucun octet de clé privée n'entre dans la mémoire de la bibliothèque

Lorsque AllowUI vaut false, NCRYPT_SILENT_FLAG est appliqué à l'ouverture de la clé et à la signature

La signature CMS générée est vérifiée avec CertificateDER avant son acceptation ; une clé utilisant le même algorithme mais ne correspondant pas est donc refusée

ActiveX accepte un variant de tableau d'octets, et la DLL utilise une longueur de certificat explicite afin de conserver les octets zéro incorporés

Voir aussi

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI