Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Ondersteunde protocollen en coderingssuites kunnen worden vermeld door aanroepen naar CryptGetProvParam- met PP_ENUMALGS of PP_ENUMALGS_EX. De PP_ENUMALGS_EX waarde werkt als PP_ENUMALGS, maar retourneert een PROV_ENUMALGS_EX structuur die uitgebreidere informatie bevat over de algoritmen die door de provider worden ondersteund.
Zie Protocolvlagmenvoor meer informatie over gedefinieerde protocolvlagmen en hun waarden.
Gezien dat het hCryptProv element de is van een open cryptografische context verkregen met behulp van CryptAcquireContext met de parameter dwProvType ingesteld op PROV_RSA_SCHANNEL, geeft het volgende voorbeeld de namen weer van alle algoritmen die beschikbaar zijn in de CSP.
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.
De volgende tabel bevat enkele algoritmen die worden geretourneerd door een typische binnenlandse PROV_RSA_SCHANNEL CSP. U ziet dat SSL2 SHA MACs en SSL2 DES-versleuteling niet worden ondersteund door de CSP in dit voorbeeld.
| Algoritme-identificatie | Minimale sleutellengte | Maximale sleutellengte | Protocollen | Naam van algoritme |
|---|---|---|---|---|
| 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" |
Ter voorbereiding op het verzenden van ClientHello- of ServerHello-berichten, inventariseert de Schannel protocolengine de algoritmen en sleutelgrootten die worden ondersteund door de CSP en bouwt een lijst intern met ondersteunde coderingssuites.