Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Desteklenen protokoller ve şifreleme paketleri, PP_ENUMALGS veya PP_ENUMALGS_EX ile CryptGetProvParam çağrıları tarafından listelenebilir. PP_ENUMALGS_EX değeri PP_ENUMALGS gibi çalışır ancak sağlayıcı tarafından desteklenen algoritmalar hakkında daha kapsamlı bilgi içeren bir PROV_ENUMALGS_EX yapısı döndürür.
Tanımlı protokol bayrakları ve değerleri hakkında daha fazla bilgi için bkz. Protokol Bayrakları.
hCryptProv üyesinin PROV_RSA_SCHANNEL olarak ayarlanmış dwProvType parametresiyle CryptAcquireContext kullanılarak alınan açık bir şifreleme bağlam bağlamıtanıtıcısı olduğu göz önünde bulundurulduğunda, aşağıdaki örnekte CSP'de kullanılabilen tüm algoritmaların adları listelenir.
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.
Aşağıdaki tabloda tipik bir yerel PROV_RSA_SCHANNEL CSP tarafından döndürülen bazı algoritmalar listelemektedir. Bu örnekte CSP tarafından SSL2 SHA MAC'lerinin veya SSL2 DES şifrelemesinin desteklenmediğini fark edin.
| Algoritma tanımlayıcısı | En düşük anahtar uzunluğu | Maksimum anahtar uzunluğu | Protokol | Algoritma adı |
|---|---|---|---|---|
| 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" |
Schannel protokol altyapısı, ClientHello veya ServerHello iletileri göndermeye hazırlanmak için CSP tarafından desteklenen algoritmaları ve anahtar boyutlarını numaralandırır ve desteklenen şifreleme paketlerinin dahili listesini oluşturur.