다음을 통해 공유


서버 컨텍스트 초기화

클라이언트와 마찬가지로 서버는 클라이언트에서 들어오는 인증 요청에 응답할 준비가 될 자격 증명 핸들도 획득합니다. 서버 자격 증명은 서버 인증 또는 상호 인증을 지원하는 보안 프로토콜 에서 클라이언트에 서버를 인증하는 데 사용됩니다. 서버는 서버를 시작하는 데 사용되는 서비스 계정으로 정의된 자격 증명에 대한 핸들을 가져옵니다. AcquireCredentialsHandle을 호출하여 이 작업을 수행합니다.

서버는 자격 증명 핸들을 획득한 다음 수신 대기 상태로 전환하거나 연결 요청이 도착할 때까지 수신 대기 상태에서 기다린 다음 인바운드 자격 증명 핸들을 획득할 수 있습니다. 자격 증명 함수에 대한 자세한 내용은 자격 증명 관리를 참조하세요.

서버는 클라이언트에서 연결 요청 메시지를 받으면 AcceptSecurityContext(일반)를 사용하여 클라이언트에 대한 로컬 보안 컨텍스트를 만듭니다. 서버는 이 로컬 보안 컨텍스트를 사용하여 동일한 클라이언트의 향후 요청을 수행합니다. 컨텍스트 함수에 대한 자세한 내용은 컨텍스트 관리를 참조하세요.

서버는 반환 상태 및 출력 버퍼 설명자를 확인하여 지금까지 오류가 없는지 확인하고 오류가 있는 경우 연결 요청을 거부할 수 있습니다. AcceptSecurityContext(일반)에서 반환된 출력 버퍼에 정보가 있는 경우 해당 버퍼를 클라이언트에 대한 응답 메시지에 번들로 묶습니다.

AcceptSecurityContext(일반)의 모든 출력 버퍼를 클라이언트로 다시 보내야 합니다. 또한 반환 상태 프로토콜을 계속해야 하는 경우(SEC_I_CONTINUE_NEEDED 또는 SEC_I_COMPLETE_AND_CONTINUE) 클라이언트와의 다른 메시지 교환이 필요합니다.

추가 다리의 경우 서버는 클라이언트가 다른 메시지로 응답할 때까지 기다립니다. 이 대기는 클라이언트가 의도적으로 응답하지 않는 서비스 거부 공격을 방지하기 위해 시간 초과될 수 있으며, 이로 인해 서버 스레드와 모든 서버 스레드가 응답을 중지할 수 있습니다.