SetSignProcessCNGKey

Ασφάλεια και υπογραφές

Περιγραφή

Επισυνάπτει ονομασμένο private key NCrypt και το πιστοποιητικό X.509 του κωδικοποιημένο σε DER σε διαδικασία υπογραφής PDF

Το κλειδί ανοίγει απευθείας από τον ζητούμενο provider αποθήκευσης κλειδιών, επιτρέποντας ταυτότητες υπογραφής TPM, hardware token, cloud KSP και άλλες μόνο-CNG χωρίς εξαγωγή του private key

Σύνταξη

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

Παράμετροι

SignProcessIDValue returned by a NewSignProcessFrom* function
CertificateDERΠλήρες DER-κωδικοποιημένο πιστοποιητικό RSA ή ECDSA X.509 που αντιστοιχεί στο private key
ProviderNameWindows key storage provider name, or an empty string for Microsoft Software Key Storage Provider
KeyNameΌνομα μόνιμου κλειδιού που κατανοεί ο provider
UseMachineKeyTrue ή μη μηδενικό για άνοιγμα του κλειδιού από scope μηχανής
AllowUITrue ή μη μηδενικό για επιτροπή user interface PIN, συγκατάθεσης ή έγκρισης cloud από τον provider

Τιμές επιστροφής

1Η ρύθμιση ταυτότητας επισυνάφθηκε στη διαδικασία
0Το process id, το πιστοποιητικό ή το όνομα κλειδιού ήταν άκυρα

Παρατηρήσεις

Το κλειδί ανοίγει όταν εκτελείται η διαδικασία υπογραφής, και κανένα byte private key δεν μπαίνει στη μνήμη της βιβλιοθήκης

When AllowUI is false, NCRYPT_SILENT_FLAG is applied to key opening and signingThe generated CMS signature is verified against

CertificateDER before it is accepted, so a same-algorithm but mismatched key is rejectedActiveX accepts a byte-array variant, and the DLL uses an explicit certificate length so embedded zero bytes are retained

Δείτε επίσης

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI