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
| SignProcessID | Valeur renvoyée par une fonction NewSignProcessFrom* |
|---|---|
| CertificateDER | Certificat X.509 RSA ou ECDSA complet encodé en DER correspondant à la clé privée |
| ProviderName | Nom du fournisseur de stockage de clés Windows, ou chaîne vide pour Microsoft Software Key Storage Provider |
| KeyName | Nom de clé persistante compris par le fournisseur |
| UseMachineKey | True ou valeur non nulle pour ouvrir la clé dans la portée de la machine |
| AllowUI | True ou une valeur non nulle pour permettre les interfaces utilisateur de PIN, de consentement ou d'approbation cloud du fournisseur |
Valeurs de retour
| 1 | La configuration d’identité a été associée au processus |
|---|---|
| 0 | L’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