Share via


SslEnumCipherSuites 함수

SslEnumCipherSuites 함수는 SSL(Secure Sockets Layer protocol) 프로토콜 공급자에서 지원하는 암호 그룹을 열거합니다.

구문

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

매개 변수

hSslProvider [in]

SSL 프로토콜 공급자 instance 핸들입니다.

hPrivateKey [in, optional]

프라이빗 키의 핸들입니다. 프라이빗 키를 지정하면 SslEnumCipherSuites 는 프라이빗 키와 호환되는 암호 그룹을 열거합니다. 예를 들어 프라이빗 키가 DSS 키인 경우 DSS_DHE 암호 그룹만 반환됩니다. 프라이빗 키가 RSA 키이지만 원시 암호 해독 작업을 지원하지 않는 경우 SSL2 암호 그룹이 반환되지 않습니다.

프라이빗 키를 지정하지 않는 경우 이 매개 변수를 NULL 로 설정합니다.

참고

hPrivateKey 핸들은 SslOpenPrivateKey 함수를 호출하여 가져옵니다. NCryptOpenKey 함수에서 가져온 핸들은 지원되지 않습니다.

ppCipherSuite [out]

목록에서 다음 암호 도구 모음의 주소를 수신하는 NCRYPT_SSL_CIPHER_SUITE 구조체에 대한 포인터입니다.

ppEnumState [in, out]

암호 그룹 목록에서 현재 위치를 나타내는 버퍼에 대한 포인터입니다.

SslEnumCipherSuites에 대한 첫 번째 호출에서 포인터를 NULL로 설정합니다. 각 후속 호출에서 수정되지 않은 값을 SslEnumCipherSuites에 다시 전달합니다.

사용할 수 있는 암호 도구 모음이 더 이상 없는 경우 SslFreeBuffer 함수를 호출하여 ppEnumState를 해제해야 합니다.

dwFlags [in]

이 매개 변수는 나중에 사용하도록 예약되어 있습니다.

반환 값

함수가 성공하면 0을 반환합니다.

함수가 실패하면 0이 아닌 오류 값이 반환됩니다.

가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드/값 설명
NTE_NO_MEMORY
0x8009000EL
필요한 버퍼를 할당하는 데 메모리가 부족합니다.
NTE_INVALID_HANDLE
0x80090026L
제공된 핸들 중 하나가 잘못되었습니다.
NTE_NO_MORE_ITEMS
0x8009002AL
추가 암호 도구 모음은 지원되지 않습니다.

설명

SSL 공급자에서 지원하는 모든 암호 그룹을 열거하려면 NTE_NO_MORE_ITEMS 반환될 때까지 루프에서 SslEnumCipherSuites 함수를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
헤더
Sslprovider.h
라이브러리
Ncrypt.lib
DLL
Ncrypt.dll