Freigeben über


CryptCreateKeyIdentifierFromCSP-Funktion (wincrypt.h)

Wichtige Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
 
Die CryptCreateKeyIdentifierFromCSP--Funktion erstellt einen Schlüsselbezeichner aus einem kryptografischen Dienstanbieter (CSP) öffentlichen SchlüsselCRYPT_INTEGER_BLOB.

Diese Funktion wandelt eine PUBLICKEYSTRUC- eines CSP in eine X.509-CERT_PUBLIC_KEY_INFO-Struktur um und codiert sie. Die codierte Struktur wird dann hashed mit dem SHA1-Algorithmus, um den Schlüsselbezeichner abzurufen.

Syntax

BOOL CryptCreateKeyIdentifierFromCSP(
  [in]      DWORD                dwCertEncodingType,
  [in]      LPCSTR               pszPubKeyOID,
  [in]      const PUBLICKEYSTRUC *pPubKeyStruc,
  [in]      DWORD                cbPubKeyStruc,
  [in]      DWORD                dwFlags,
  [in]      void                 *pvReserved,
  [out]     BYTE                 *pbHash,
  [in, out] DWORD                *pcbHash
);

Parameter

[in] dwCertEncodingType

Gibt den verwendeten Codierungstyp an. Es ist immer akzeptabel, sowohl das Zertifikat als auch Nachrichtencodierungstypen anzugeben, die, indem sie mit einem bitweisenODER--Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Derzeit definierte Codierungstypen sind:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPubKeyOID

Ein Zeiger auf den öffentlichen Schlüssel Objektbezeichner (OID). Ein Wert, der nicht NULL überschreibt das Standard-OID, das aus dem aiKeyAlg Member der Struktur abgerufen wird, auf pPubKeyStrucverweist. Um das Standard-OID zu verwenden, legen Sie pszPubKeyOID- auf NULL-fest.

[in] pPubKeyStruc

Ein Zeiger auf eine PUBLICKEYSTRUC- Struktur. Im Standardfall wird das aiKeyAlg Element der Struktur verwendet, auf das von pPubKeyStruc verwiesen wird, um den öffentlichen Schlüssel OID zu finden. Wenn der Wert von pszPubKeyOID nicht NULL-ist, wird der Standardwert außer Kraft gesetzt.

[in] cbPubKeyStruc

Die Größe des PUBLICKEYSTRUC-in Bytes.

[in] dwFlags

Reserviert für die zukünftige Verwendung und muss null sein.

[in] pvReserved

Reserviert für die zukünftige Verwendung und muss NULL-sein.

[out] pbHash

Ein Zeiger auf einen Puffer zum Empfangen des Hash- des öffentlichen Schlüssels und des Schlüsselbezeichners.

Um die Größe dieser Informationen für Speicherzuweisungszwecke abzurufen, legen Sie diesen Parameter auf NULL-fest. Weitere Informationen finden Sie unter Abrufen von Daten unbekannter Länge.

[in, out] pcbHash

Ein Zeiger auf eine DWORD-, die die Größe des Puffers in Byte angibt, auf den der PbHash-Parameter verweist. Wenn die Funktion zurückgegeben wird, enthält die DWORD- die Anzahl der im Puffer gespeicherten Bytes. Bei Verwendung von SHA1-Hashing beträgt die Länge des erforderlichen Puffers zwanzig.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero (TRUE) zurück.

Wenn die Funktion fehlschlägt, wird null (FALSE) zurückgegeben. Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- wincrypt.h
Library Crypt32.lib
DLL- Crypt32.dll

Siehe auch

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

Key Identifier Functions