Share via


Función SslEnumCipherSuites

La función SslEnumCipherSuites enumera los conjuntos de cifrado admitidos por un proveedor de protocolos secure Sockets Layer (SSL).

Sintaxis

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
);

Parámetros

hSslProvider [in]

Identificador de la instancia del proveedor de protocolo SSL.

hPrivateKey [in, opcional]

Identificador de una clave privada. Cuando se especifica una clave privada, SslEnumCipherSuites enumera los conjuntos de cifrado que son compatibles con la clave privada. Por ejemplo, si la clave privada es una clave DSS, solo se devuelven los conjuntos de cifrado DSS_DHE. Si la clave privada es una clave RSA, pero no admite operaciones de descifrado sin procesar, no se devuelven los conjuntos de cifrado SSL2.

Establezca este parámetro en NULL cuando no se especifica una clave privada.

Nota:

Se obtiene un identificador hPrivateKey mediante una llamada a la función SslOpenPrivateKey . No se admiten los identificadores obtenidos de la función NCryptOpenKey .

ppCipherSuite [out]

Puntero a una estructura de NCRYPT_SSL_CIPHER_SUITE para recibir la dirección del siguiente conjunto de cifrado de la lista.

ppEnumState [in, out]

Puntero a un búfer que indica la posición actual en la lista de conjuntos de cifrado.

Establezca el puntero en NULL en la primera llamada a SslEnumCipherSuites. En cada llamada posterior, vuelva a pasar el valor sin modificar a SslEnumCipherSuites.

Cuando no haya más conjuntos de cifrado disponibles, debe liberar ppEnumState llamando a la función SslFreeBuffer .

dwFlags [in]

Este parámetro se reserva para uso futuro.

Valor devuelto

Si la función se realiza correctamente, devuelve cero.

Si se produce un error en la función, devuelve un valor de error distinto de cero.

Entre los posibles códigos de retorno se incluyen, entre otros, los siguientes.

Código o valor devuelto Descripción
NTE_NO_MEMORY
0x8009000EL
No hay suficiente memoria disponible para asignar los búferes necesarios.
NTE_INVALID_HANDLE
0x80090026L
Uno de los identificadores proporcionados no es válido.
NTE_NO_MORE_ITEMS
0x8009002AL
No se admiten conjuntos de cifrado adicionales.

Comentarios

Para enumerar todos los conjuntos de cifrado admitidos por el proveedor SSL, llame a la función SslEnumCipherSuites en un bucle hasta que se devuelva NTE_NO_MORE_ITEMS .

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Sslprovider.h
Biblioteca
Ncrypt.lib
Archivo DLL
Ncrypt.dll