Share via


SslComputeClientAuthHash 함수

SslComputeClientAuthHash 함수는 인증서 인증 중에 사용할 해시를 계산합니다.

구문

SECURITY_STATUS WINAPI SslComputeClientAuthHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hMasterKey,
  _In_  NCRYPT_HASH_HANDLE hHandshakeHash,
  _In_  LPCWSTR            pszAlgId,
  _Out_ PBYTE              pbOutput,
  _In_  DWORD              cbOutput,
  _Out_ DWORD              *pcbResult,
  _In_  DWORD              dwFlags
);

매개 변수

hSslProvider [in]

SSL(Secure Sockets Layer protocol) 프로토콜 공급자의 핸들은 instance.

hMasterKey [in]

master 키 개체의 핸들입니다.

hHandshakeHash [in]

지금까지 계산된 핸드셰이크 해시의 핸들입니다.

pszAlgId [in]

요청된 암호화 알고리즘을 식별하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. 표준 CNG 알고리즘 식별자 또는 등록된 다른 알고리즘의 식별자 중 하나일 수 있습니다.

pbOutput [out]

키 BLOB을 수신하는 버퍼의 주소입니다. cbOutput 매개 변수에는 이 버퍼의 크기가 포함됩니다. 이 매개 변수가 NULL인 경우 이 함수는 pcbResult 매개 변수가 가리키는 DWORD에 필요한 크기(바이트)를 배치합니다.

cbOutput [in]

pbOutput 버퍼의 길이(바이트)입니다.

pcbResult [out]

pbOutput 버퍼에 기록된 해시의 길이(바이트)를 지정하는 DWORD 값에 대한 포인터입니다.

dwFlags [in]

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

반환 값

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

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

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

반환 코드/값 설명
NTE_INVALID_HANDLE
0x80090026L
제공된 핸들 중 하나가 잘못되었습니다.

설명

SslComputeClientAuthHash 함수는 SSL 핸드셰이크의 인증서 확인 메시지에서 전송되는 해시를 계산합니다. 해시 값은 전송되거나 수신된 모든 이전 핸드셰이크 메시지의 해시와 함께 master 비밀을 포함하는 해시를 만들어 계산됩니다.

해시가 계산되는 방식은 사용되는 프로토콜 및 암호 그룹에 따라 달라집니다. 또한 해시는 사용되는 클라이언트 인증 키의 유형에 따라 달라집니다. pszAlgId 매개 변수는 클라이언트 인증에 사용되는 키의 유형을 나타냅니다.

요구 사항

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