Freigeben über


CryptXmlDllSignData-Rückruffunktion (cryptxml.h)

Die CryptXmlDllSignData-Funktion signiert Daten.

Die CryptXmlDllSignData-Funktion wird über die exportierte CryptXmlDllGetInterface-Funktion verfügbar gemacht.

Syntax

CryptXmlDllSignData Cryptxmldllsigndata;

HRESULT Cryptxmldllsigndata(
  [in]            const CRYPT_XML_ALGORITHM *pSignatureMethod,
  [in]            HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
  [in]            DWORD dwKeySpec,
  [in]            const BYTE *pbInput,
  [in]            ULONG cbInput,
  [out, optional] BYTE *pbOutput,
  [in]            ULONG cbOutput,
  [out]           ULONG *pcbResult
)
{...}

Parameter

[in] pSignatureMethod

Ein Zeiger auf eine CRYPT_XML_ALGORITHM-Struktur , die den Algorithmus angibt.

[in] hCryptProvOrNCryptKey

Das Handle des Kryptografiedienstanbieters (Cryptographic Service Provider , CSP), der die Signatur erstellt. Bei diesem Handle muss es sich um ein HCRYPTPROV-Handle handelt, das aus einem Aufruf der CryptAcquireContext-Funktion oder einem NCRYPT_KEY_HANDLE Handle abgerufen wurde, das mithilfe der NCryptOpenKey-Funktion erstellt wurde. Neue Anwendungen sollten ein NCRYPT_KEY_HANDLE Übergeben.

[in] dwKeySpec

Der private Schlüssel, der aus dem Container des Anbieters verwendet werden soll. Dieser Schlüssel kann AT_KEYEXCHANGE oder AT_SIGNATURE sein. Dieser Parameter wird ignoriert, wenn im hCryptProvOrNCryptKey-Parameter ein NCRYPT_KEY_HANDLE-Handle verwendet wird.

[in] pbInput

Ein Zeiger auf einen Puffer, der den zu signierenden Digestwert enthält. Der cbInput-Parameter enthält die Größe dieses Puffers.

[in] cbInput

Die Größe des Puffers in Bytes, auf den der parameter pbInput verweist.

[out, optional] pbOutput

Die Adresse eines Puffers, der die von dieser Funktion erzeugte Signatur empfangen soll. Der cbOutput-Parameter enthält die Größe dieses Puffers.

Wenn dieser Parameter NULL ist, berechnet diese Funktion die für die verschlüsselten Daten erforderliche Größe und gibt die Größe an der Position zurück, auf die der pcbResult-Parameter verweist.

[in] cbOutput

Die Größe des Puffers in Bytes, auf den der pbOutput-Parameter verweist.

[out] pcbResult

Ein Zeiger auf eine DWORD-Variable , die die Anzahl der Bytes empfängt, die in den pbOutput-Puffer kopiert wurden. Wenn pbOutputNULL ist, erhält dieser die größe in Bytes, die für die Signatur erforderlich ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion null zurück.

Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile cryptxml.h