Share via


SslCreateEphemeralKey 함수

SslCreateEphemeralKey 함수는 SSL(Secure Sockets Layer Protocol) 핸드셰이크 중에 발생하는 인증 중에 사용할 임시 키를 만듭니다.

구문

SECURITY_STATUS WINAPI SslCreateEphemeralKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _Out_ NCRYPT_KEY_HANDLE  *phEphemeralKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  DWORD              dwKeyType,
  _In_  DWORD              dwKeyBitLen,
  _In_  PBYTE              pbParams,
  _In_  DWORD              cbParams,
  _In_  DWORD              dwFlags
);

매개 변수

hSslProvider [in]

SSL 프로토콜 공급자의 핸들은 instance.

phEphemeralKey [out]

임시 키의 핸들입니다.

dwProtocol [in]

CNG SSL 공급자 프로토콜 식별자 값 중 하나입니다.

dwCipherSuite [in]

CNG SSL 공급자 암호 그룹 식별자 값 중 하나입니다.

dwKeyType [in]

CNG SSL 공급자 키 형식 식별자 값 중 하나입니다. ECC( 타원 곡선 암호화 )가 아닌 키 형식의 경우 이 매개 변수를 0으로 설정합니다.

dwKeyBitLen [in]

키의 길이(비트 단위)입니다.

pbParams [in]

만들 키에 대한 매개 변수를 포함할 버퍼에 대한 포인터입니다. Diffie-Hellman(임시) DHE(키 교환 알고리즘) 암호 그룹을 사용하지 않는 경우 pbParams 매개 변수를 NULL로 설정하고 cbParams 매개 변수를 0으로 설정합니다.

cbParams [in]

pbParams 버퍼에 있는 데이터의 길이(바이트)입니다.

dwFlags [in]

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

반환 값

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

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

반환 코드/값 설명
NTE_NO_MEMORY
0x8009000EL
버퍼를 할당할 메모리가 부족합니다.
NTE_INVALID_HANDLE
0x80090026L
hSslProvider 핸들이 잘못되었습니다.
NTE_INVALID_PARAMETER
0x80090027L
제공된 매개 변수 중 하나가 잘못되었습니다.

설명

DHE 암호 그룹을 사용하는 경우 내부 SSL 구현은 pbParams 및 cbParams 매개 변수의 SslCreateEphemeralKey 함수에 서버 pg 매개 변수를 전달합니다.

pbParams 버퍼의 데이터 형식은 BCRYPT_DH_PARAMETERS 속성을 설정할 때 사용되는 형식과 동일하며 BCRYPT_DH_PARAMETER_HEADER 구조로 시작합니다.

요구 사항

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