CryptXmlSign-Funktion (cryptxml.h)
Die CryptXmlSign-Funktion erstellt eine kryptografische Signatur eines SignedInfo-Elements .
Syntax
HRESULT CryptXmlSign(
[in] HCRYPTXML hSignature,
[in, optional] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey,
DWORD dwKeySpec,
DWORD dwFlags,
CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec,
[in, optional] const void *pvKeyInfoSpec,
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] const CRYPT_XML_ALGORITHM *pCanonicalization
);
Parameter
[in] hSignature
Das Handle für eine CRYPT_XML_SIGNATURE-Struktur .
[in, optional] hKey
Das Handle eines privaten Schlüssels , der zum Signieren des SignedInfo-Elements verwendet wird. Dieser Parameter muss null für HMAC-basierte Signaturalgorithmen sein.
dwKeySpec
Ein DWORD-Wert , der den Schlüsseltyp angibt. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
|
Das Schlüsselpaar ist ein Schlüsselaustauschpaar. |
|
Das Schlüsselpaar ist ein Signaturpaar. |
|
Der Schlüssel ist ein CNG-Schlüssel (Cryptography API: Next Generation). |
dwFlags
Ein DWORD-Wert , der steuert, wie die Daten signiert werden. Dieser Parameter kann einen der folgenden Werte annehmen.
dwKeyInfoSpec
Der Typ der Datenstruktur, auf den der parameter pvKeyInfoSpec verweist. Hier sind einige mögliche Kombinationen.
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | Ist auf NULL festgelegt. |
CRYPT_XML_KEYINFO_SPEC_ENCODED | Zeigt auf eine CRYPT_XML_BLOB-Struktur |
CRYPT_XML_KEYINFO_SPEC_PARAM | Zeigt auf eine CRYPT_XML_KEYINFO_PARAM-Struktur |
[in, optional] pvKeyInfoSpec
Ein Zeiger auf eine Struktur, deren Typ durch den Wert des dwKeyInfoSpec-Parameters bestimmt wird.
[in] pSignatureMethod
Ein Zeiger auf eine CRYPT_XML_ALGORITHM-Struktur , die die Signaturmethode angibt.
[in] pCanonicalization
Ein Zeiger auf eine CRYPT_XML_ALGORITHM-Struktur , die die Kanonisierungsmethode angibt.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion null zurück.
Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt.
Hinweise
Wenn ein Zertifikat nicht gefunden werden kann, erstellt CryptXmlSign eine Benutzeroberfläche für die Zertifikatauswahl. Wenn dieses Fenster aus einem Prozess generiert wird, der in Sitzung 0 ausgeführt wird, kann die Anwendung unerwartet beendet werden.
Anforderungen
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 |
Bibliothek | Cryptxml.lib |
DLL | Cryptxml.dll |