Compartilhar via


Função SslEnumCipherSuites

A função SslEnumCipherSuites enumera os conjuntos de criptografia compatíveis com um provedor de protocolo SSL (Protocolo SSL).

Sintaxe

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]

O identificador da instância do provedor de protocolo SSL.

hPrivateKey [in, opcional]

O identificador de uma chave privada. Quando uma chave privada é especificada, SslEnumCipherSuites enumera os conjuntos de criptografia compatíveis com a chave privada. Por exemplo, se a chave privada for uma chave DSS, somente os conjuntos de criptografia DSS_DHE serão retornados. Se a chave privada for uma chave RSA, mas não oferecer suporte a operações de descriptografia brutas, os pacotes de criptografia SSL2 não serão retornados.

Defina esse parâmetro como NULL quando você não estiver especificando uma chave privada.

Observação

Um identificador hPrivateKey é obtido chamando a função SslOpenPrivateKey . Não há suporte para identificadores obtidos da função NCryptOpenKey .

ppCipherSuite [out]

Um ponteiro para uma estrutura NCRYPT_SSL_CIPHER_SUITE para receber o endereço do próximo conjunto de criptografias na lista.

ppEnumState [in, out]

Um ponteiro para um buffer que indica a posição atual na lista de pacotes de criptografia.

Defina o ponteiro como NULL na primeira chamada como SslEnumCipherSuites. Em cada chamada subsequente, passe o valor não modificado de volta para SslEnumCipherSuites.

Quando não houver mais pacotes de criptografia disponíveis, você deverá liberar ppEnumState chamando a função SslFreeBuffer .

dwFlags [in]

Esse parâmetro é reservado para uso futuro.

Valor retornado

Se a função for bem-sucedida, ela retornará zero.

Se a função falhar, ela retornará um valor de erro diferente de zero.

Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Retornar código/valor Descrição
NTE_NO_MEMORY
0x8009000EL
Não há memória suficiente disponível para alocar buffers necessários.
NTE_INVALID_HANDLE
0x80090026L
Um dos identificadores fornecidos não é válido.
NTE_NO_MORE_ITEMS
0x8009002AL
Não há suporte para pacotes de criptografia adicionais.

Comentários

Para enumerar todos os pacotes de criptografia compatíveis com o provedor SSL, chame a função SslEnumCipherSuites em um loop até que NTE_NO_MORE_ITEMS seja retornado.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Sslprovider.h
Biblioteca
Ncrypt.lib
DLL
Ncrypt.dll