Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die NCryptSignHash-Funktion erstellt eine Signatur eines Hashwerts.
Syntax
SECURITY_STATUS NCryptSignHash(
[in] NCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PBYTE pbHashValue,
[in] DWORD cbHashValue,
[out] PBYTE pbSignature,
[in] DWORD cbSignature,
[out] DWORD *pcbResult,
[in] DWORD dwFlags
);
Die Parameter
[in] hKey
Das Handle des Schlüssels, der zum Signieren des Hashs verwendet werden soll.
[in, optional] pPaddingInfo
Ein Zeiger auf eine Struktur, die Abstandsinformationen enthält. Der tatsächliche Strukturtyp, auf den dieser Parameter verweist, hängt vom Wert des dwFlags-Parameters ab. Dieser Parameter wird nur mit asymmetrischen Schlüsseln verwendet und muss andernfalls erfolgen NULL .
[in] pbHashValue
Ein Zeiger auf einen Puffer, der den zu signierenden Hashwert enthält. Der cbInput-Parameter enthält die Größe dieses Puffers.
[in] cbHashValue
Die Anzahl der Bytes im PbHashValue-Puffer , die signiert werden sollen.
[out] pbSignature
Die Adresse eines Puffers, der die von dieser Funktion erzeugte Signatur empfängt. Der parameter cbSignature enthält die Größe dieses Puffers.
Wenn dieser Parameter lautet NULL, berechnet diese Funktion die für die Signatur erforderliche Größe und gibt die Größe an der Stelle zurück, auf die der pcbResult-Parameter verweist.
[in] cbSignature
Die Größe des PbSignature-Puffers in Bytes. Dieser Parameter wird ignoriert, wenn der PbSignature-Parameter lautet NULL.
[out] pcbResult
Ein Zeiger auf eine DWORD-Variable , die die Anzahl der in den PbSignature-Puffer kopierten Bytes empfängt.
Wenn PbSignature lautet, erhält dies die Größe in Bytes, die für die Signatur erforderlich ist NULL.
[in] dwFlags
Flags, die das Funktionsverhalten ändern. Der zulässige Satz von Flags hängt vom Typ des durch den hKey-Parameter angegebenen Schlüssels ab.
Wenn der Schlüssel ein symmetrischer Schlüssel ist, wird dieser Parameter nicht verwendet und sollte auf Null festgelegt werden.
Wenn der Schlüssel ein asymmetrischer Schlüssel ist, kann dies einer der folgenden Werte sein:
| Wert | Bedeutung |
|---|---|
| BCRYPT_PAD_PKCS1 | Verwenden Sie das PKCS1-Abstandsschema. Der pPaddingInfo-Parameter ist ein Zeiger auf eine BCRYPT_PKCS1_PADDING_INFO Struktur. |
| BCRYPT_PAD_PQDSA | Verwenden Sie das PQ-Abstandsschema für ML-DSA oder SLH-DSA. Der pPaddingInfo-Parameter ist ein Zeiger auf eine BCRYPT_PQDSA_PADDING_INFO Struktur. Anmerkung: Dies muss festgelegt werden, wenn sie einen Vorabhash ML-DSA Variante verwenden. |
| BCRYPT_PAD_PSS | Verwenden Sie das Probabilistische Signaturschema (PSS)-Abstandsschema. Der pPaddingInfo-Parameter ist ein Zeiger auf eine BCRYPT_PSS_PADDING_INFO Struktur. |
| NCRYPT_SILENT_FLAG | Fordert an, dass der Schlüsseldienstanbieter (Key Service Provider, KSP) keine Benutzeroberfläche anzeigt. Wenn der Anbieter die Benutzeroberfläche für den Betrieb anzeigen muss, schlägt der Aufruf fehl, und der KSP sollte den NTE_SILENT_CONTEXT Fehlercode als letzten Fehler festlegen. |
Rückgabewert
Gibt einen Statuscode zurück, der den Erfolg oder Fehler der Funktion angibt.
Mögliche Rückgabecodes umfassen, sind jedoch nicht beschränkt auf Folgendes:
Mögliche Rückgabecodes umfassen, aber nicht beschränkt auf Folgendes.
| Rückgabecode | BESCHREIBUNG |
|---|---|
|
Die Funktion war erfolgreich. |
|
Der durch den hKey-Parameter dargestellte Schlüssel unterstützt keine Signatur. |
|
Der dwFlags-Parameter enthält einen ungültigen Wert. |
|
Der hKey-Parameter ist ungültig. |
|
Mindestens ein Parameter ist ungültig. |
|
Fehler bei der Speicherzuweisung. |
Bemerkungen
Ein Dienst darf diese Funktion nicht über die StartService-Funktion aufrufen. Wenn ein Dienst diese Funktion über die StartService-Funktion aufruft, kann ein Deadlock auftreten, und der Dienst reagiert möglicherweise nicht mehr.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows Vista [Desktop-Apps | UWP-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
| Zielplattform | Fenster |
| Überschrift | ncrypt.h |
| Bibliothek | Ncrypt.lib |
| DLL | Ncrypt.dll |