SslEnumCipherSuites, fonction
La fonction SslEnumCipherSuites énumère les suites de chiffrement prises en charge par un fournisseur de protocole SSL ( Secure Sockets Layer Protocol ).
Syntaxe
SECURITY_STATUS WINAPI SslEnumCipherSuites(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_opt_ NCRYPT_KEY_HANDLE hPrivateKey,
_Out_ NCRYPT_SSL_CIPHER_SUITE **ppCipherSuite,
_Inout_ PVOID *ppEnumState,
_In_ DWORD dwFlags
);
Paramètres
-
hSslProvider [in]
-
Handle du fournisseur de protocole SSL instance.
-
hPrivateKey [in, facultatif]
-
Handle d’une clé privée. Lorsqu’une clé privée est spécifiée, SslEnumCipherSuites énumère les suites de chiffrement compatibles avec la clé privée. Par exemple, si la clé privée est une clé DSS, seules les suites de chiffrement DSS_DHE sont retournées. Si la clé privée est une clé RSA, mais qu’elle ne prend pas en charge les opérations de déchiffrement brutes, les suites de chiffrement SSL2 ne sont pas retournées.
Définissez ce paramètre sur NULL lorsque vous ne spécifiez pas de clé privée.
Notes
Un handle hPrivateKey est obtenu en appelant la fonction SslOpenPrivateKey . Les descripteurs obtenus à partir de la fonction NCryptOpenKey ne sont pas pris en charge.
-
ppCipherSuite [out]
-
Pointeur vers une structure de NCRYPT_SSL_CIPHER_SUITE pour recevoir l’adresse de la suite de chiffrement suivante dans la liste.
-
ppEnumState [in, out]
-
Pointeur vers une mémoire tampon qui indique la position actuelle dans la liste des suites de chiffrement.
Définissez le pointeur sur NULL lors du premier appel à SslEnumCipherSuites. À chaque appel suivant, transmettez la valeur non modifiée à SslEnumCipherSuites.
Lorsqu’il n’y a plus de suites de chiffrement disponibles, vous devez libérer ppEnumState en appelant la fonction SslFreeBuffer .
-
dwFlags [in]
-
Ce paramètre est réservé à un usage futur.
Valeur retournée
Si la fonction réussit, elle retourne zéro.
Si la fonction échoue, elle retourne une valeur d’erreur différente de zéro.
Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.
Code/valeur de retour | Description |
---|---|
|
La mémoire disponible est insuffisante pour allouer les mémoires tampons nécessaires. |
|
L’un des handles fournis n’est pas valide. |
|
Aucune suite de chiffrement supplémentaire n’est prise en charge. |
Notes
Pour énumérer toutes les suites de chiffrement prises en charge par le fournisseur SSL, appelez la fonction SslEnumCipherSuites dans une boucle jusqu’à ce que NTE_NO_MORE_ITEMS soit retourné.
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2008 [applications de bureau uniquement] |
En-tête |
|
Bibliothèque |
|
DLL |
|