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.
Unterstützte Protokolle und Verschlüsselungssammlungen können durch Aufrufe von CryptGetProvParam mit PP_ENUMALGS oder PP_ENUMALGS_EX aufgelistet werden. Der PP_ENUMALGS_EX-Wert funktioniert wie PP_ENUMALGS, gibt jedoch eine PROV_ENUMALGS_EX-Struktur zurück, die ausführlichere Informationen zu den vom Anbieter unterstützten Algorithmen enthält.
Weitere Informationen zu definierten Protokollflags und deren Werten finden Sie unter Protokollflags.
Da das hCryptProv-Element das Handle eines offenen kryptografischen Kontexts ist, der mithilfe von CryptAcquireContext mit dem dwProvType-Parameter auf PROV_RSA_SCHANNEL festgelegt wurde, werden im folgenden Beispiel die Namen aller im CSP verfügbaren Algorithmen aufgelistet.
PROV_ENUMALGS_EX EnumAlgs; // Structure to hold information on
// a supported algorithm
DWORD dFlag = CRYPT_FIRST; // Flag indicating that the first
// supported algorithm is to be
// enumerated. Changed to 0 after the
// first call to the function.
cbData = sizeof(PROV_ENUMALGS_EX);
while( CryptGetProvParam(
hCryptProv, // handle to an open cryptographic provider
PP_ENUMALGS_EX,
(BYTE *)&EnumAlgs, // information on the next algorithm
&cbData, // number of bytes in the PROV_ENUMALGS_EX
dFlag)) // flag to indicate whether this is a first or
// subsequent algorithm supported by the
// CSP.
{
printf("Supported Algorithm name %s\n", EnumAlgs.szName);
dFlag = CRYPT_NEXT; // Set to CRYPT_NEXT after the first call,
} // end of while loop. When all of the supported algorithms have
// been enumerated, the function returns FALSE.
In der folgenden Tabelle sind einige Algorithmen aufgeführt, die von einem typischen inländischen PROV_RSA_SCHANNEL CSP zurückgegeben werden. Beachten Sie, dass in diesem Beispiel weder SSL2 SHA-MACs noch SSL2 DES-Verschlüsselung vom CSP unterstützt werden.
| Algorithmusbezeichner | Minimale Schlüssellänge | Maximale Schlüssellänge | Protokolle | Algorithmusname |
|---|---|---|---|---|
| CALG_RSA_KEYX | 512 | 2048 | 0x0007 | "RSA_KEYX" |
| CALG_MD5 | 128 | 128 | 0x0007 | "MD5" |
| CALG_SHA | 160 | 160 | 0x0005 | "SHA" |
| CALG_RC4 | 40 | 128 | 0x0007 | "RC4" |
| CALG_DES | 56 | 56 | 0x0005 | "DES" |
Um das Senden von ClientHello- oder ServerHello-Nachrichten vorzubereiten, listet die Schannel-Protokoll-Engine die vom CSP unterstützten Algorithmen und Schlüsselgrößen auf und erstellt intern eine Liste der unterstützten Verschlüsselungssammlungen.