SetSignProcessCNGKey
Sicherheit und Signaturen
Beschreibung
Ordnet einem PDF-Signaturprozess einen benannten privaten NCrypt-Schlüssel und dessen DER-codiertes X.509-Zertifikat zu
Der Schlüssel wird direkt beim angeforderten Schlüsselspeicheranbieter geöffnet und ermöglicht TPM-gestützte, Hardware-Token-, Cloud-KSP- und andere reine CNG-Signaturidentitäten, ohne den privaten Schlüssel zu exportieren
Syntax
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);
Parameter
| SignProcessID | Von einer NewSignProcessFrom*-Funktion zurückgegebener Wert |
|---|---|
| CertificateDER | Vollständiges DER-codiertes RSA- oder ECDSA-X.509-Zertifikat, das dem privaten Schlüssel entspricht |
| ProviderName | Name des Windows-Schlüsselspeicheranbieters oder eine leere Zeichenfolge für Microsoft Software Key Storage Provider |
| KeyName | Vom Anbieter verstandener persistenter Schlüsselname |
| UseMachineKey | True oder ein von null verschiedener Wert, um den Schlüssel aus dem Computerbereich zu öffnen |
| AllowUI | True oder ungleich null, um PIN-, Zustimmungs- oder Cloud-Genehmigungsoberflächen des Anbieters zuzulassen |
Rückgabewerte
| 1 | Die Identitätskonfiguration wurde dem Prozess zugeordnet |
|---|---|
| 0 | Prozess-ID, Zertifikat oder Schlüsselname war ungültig |
Anmerkungen
Der Schlüssel wird bei der Ausführung des Signaturvorgangs geöffnet, und es gelangen keine Bytes des privaten Schlüssels in den Bibliotheksspeicher
Wenn AllowUI false ist, wird NCRYPT_SILENT_FLAG beim Öffnen von Schlüsseln und beim Signieren angewendet
Die erzeugte CMS-Signatur wird vor ihrer Annahme gegen CertificateDER geprüft, sodass ein Schlüssel mit demselben Algorithmus, aber ohne Übereinstimmung abgelehnt wird
ActiveX akzeptiert eine Bytearray-Variante, und die DLL verwendet eine ausdrückliche Zertifikatlänge, sodass eingebettete Nullbytes erhalten bleiben
Siehe auch
SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI