CryptExportPublicKeyInfoFromBCryptKeyHandle-Funktion (wincrypt.h)

Die Funktion CryptExportPublicKeyInfoFromBCryptKeyHandle exportiert die Informationen des öffentlichen Schlüssels , die dem entsprechenden privaten Schlüssel eines Anbieters zugeordnet sind.

Syntax

BOOL CryptExportPublicKeyInfoFromBCryptKeyHandle(
  [in]            BCRYPT_KEY_HANDLE     hBCryptKey,
  [in]            DWORD                 dwCertEncodingType,
  [in, optional]  LPSTR                 pszPublicKeyObjId,
  [in]            DWORD                 dwFlags,
  [in, optional]  void                  *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD                 *pcbInfo
);

Parameter

[in] hBCryptKey

Das Handle des Schlüssels, aus dem die Informationen des öffentlichen Schlüssels exportiert werden sollen.

[in] dwCertEncodingType

Gibt den abzugleichenden Codierungstyp an.

Dieser Wert kann eine bitweise Kombination der derzeit definierten Codierungstypen sein:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in, optional] pszPublicKeyObjId

Ein Zeiger auf den Objektbezeichner (Object Identifier, OID), der die installierbare Funktion identifiziert, die zum Exportieren des Schlüssels verwendet werden soll. Wenn das Wort mit hoher Ordnung der OID ungleich null ist, ist pszPublicKeyObjId ein Zeiger auf eine OID-Zeichenfolge wie "2.5.29.1" oder eine ASCII-Zeichenfolge wie "file". Wenn das Wort mit hoher Ordnung der OID null ist, gibt das Wort mit niedriger Ordnung den ganzzahligen Bezeichner an, der als Objektbezeichner verwendet werden soll.

[in] dwFlags

Ein DWORD-Wert , der angibt, wie die Informationen zum öffentlichen Schlüssel exportiert werden.

Wert Bedeutung
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
0x80000000
Überspringt öffentliche Schlüssel in der gruppe CRYPT_PUBKEY_ALG_OID_GROUP_ID , die explizit mit dem flag CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG gekennzeichnet sind.
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
0x40000000
Überspringt öffentliche Schlüssel in der gruppe CRYPT_PUBKEY_ALG_OID_GROUP_ID , die explizit mit dem flag CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG gekennzeichnet sind.

[in, optional] pvAuxInfo

Dieser Parameter ist für die zukünftige Verwendung reserviert und muss auf NULL festgelegt werden.

[out, optional] pInfo

Ein Zeiger auf eine CERT_PUBLIC_KEY_INFO-Struktur , um die zu exportierenden Öffentlichen Schlüsselinformationen zu empfangen.

Dieser Parameter kann NULL sein, um die Größe dieser Informationen für die Speicherbelegung festzulegen. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.

[in, out] pcbInfo

Ein Zeiger auf ein DWORD , das die Größe des Puffers in Bytes enthält, auf den der pInfo-Parameter verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes.

Rückgabewert

Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist. Andernfalls wird FALSE zurückgegeben.

Hinweise

Wenn die CryptExportPublicKeyInfoFromBCryptKeyHandle-Funktion keine installierbare OID-Funktion für die durch den Parameter pszPublicKeyObjId angegebene OID finden kann, versucht sie, den Schlüssel als einen öffentlichen RSA-Schlüssel (szOID_RSA_RSA) zu exportieren. Wenn der Schlüssel als öffentlicher RSA-Schlüssel exportiert wird, werden die Werte der Parameter dwFlags und pvAuxInfo nicht verwendet.

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 wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll