다음을 통해 공유


클라이언트 컨텍스트 초기화

보안 연결을 설정하기 위해 클라이언트는 서버에 인증 요청을 보내기 전에 아웃바운드 자격 증명 핸들을 획득합니다. 서버는 인증 요청에서 클라이언트에 대한 보안 컨텍스트를 만듭니다. 인증 설정에는 두 가지 클라이언트 쪽 SSPI 함수가 있습니다.

이 프로세스에 대한 코드는 Windows 소켓 클라이언트에서 SSPI 사용GenClientContext 함수에서 확인할 수 있습니다.

클라이언트 프로그램에서 다른 사용자 이름, 도메인 이름 및 암호와 같은 자체 로그온 자격 증명 외에 자격 증명을 사용해야 하는 경우 AcquireCredentialsHandle 호출에서 추가 자격 증명을 지정하는 SEC_WINNT_AUTH_IDENTITY 구조를 제공합니다. 자격 증명 함수에 대한 자세한 내용은 자격 증명 관리를 참조하세요.

참고

구조체의 문자열이 ASCI 또는 OEM인 경우 SEC_WINNT_AUTH_IDENTITY 구조체의 Flags 멤버를 SEC_WINNT_AUTH_IDENTITY_ANSI 설정할 수 있습니다. ANSI 문자열은 MultiByteToWideChar 함수를 사용하여 유니코드로 처음 변환되는 경우 SEC_WINNT_AUTH_IDENTITY_UNICODE 설정된 SEC_WINNT_AUTH_IDENTITY 구조체Flags 멤버와 함께 사용할 수 있습니다.

 

인증의 첫 번째 레그를 시작하기 위해 클라이언트는 InitializeSecurityContext(일반) 를 호출하여 서버에 대한 연결 요청 메시지에서 보낼 초기 보안 토큰을 가져옵니다.

클라이언트는 출력 버퍼 설명자에서 받은 보안 토큰 정보를 사용하여 서버로 보낼 메시지를 생성합니다. 다양한 버퍼 배치 등의 측면에서 메시지의 생성은 애플리케이션 프로토콜 의 일부이며 양 당사자가 이해해야 합니다.

클라이언트는 InitializeSecurityContext(일반)의 반환 상태 확인하여 인증이 단일 호출에서 완료되는지 확인합니다. SEC_I_CONTINUE_NEEDED 반환 상태 보안 프로토콜에 여러 인증 메시지가 필요 했음을 나타냅니다. 컨텍스트 함수에 대한 자세한 내용은 컨텍스트 관리를 참조하세요.