스네고 ()
인증 서비스 식별자가 RPC_C_AUTHN_GSS_NEGOTIATE Snego는 실제로 인증 서비스 자체를 제공하지 않습니다. 대신 인증 서비스 목록을 가져와 클라이언트와 서버 간에 작동하는 서비스를 협상합니다. 인증 매개 변수는 Snego에서 사용되지 않지만 실제 인증을 수행하는 선택한 인증 서비스에 전달됩니다. Snego는 문서 RFC 2478에서 1998년 12월에 IETF(인터넷 엔지니어링 태스크 포스)에 의해 표준화되었습니다.
Snego는 원격 컴퓨터에서 제공할 수 있는 인증 서비스를 모르는 경우에 유용합니다.
Snego를 사용하려면 클라이언트와 서버 모두 Snego를 인증 서비스로 지정해야 합니다. 서버는 coInitializeSecurity에 전달되는 asAuthSvc 배열 매개 변수의 SOLE_AUTHENTICATION_SERVICE 구조 중 하나의 dwAuthnSvc 멤버로 RPC_C_AUTHN_GSS_NEGOTIATE 지정합니다. 클라이언트는 CoSetProxyBlanket 을 호출하고 RPC_C_AUTHN_GSS_NEGOTIATE dwAuthnSvc 매개 변수로 전달하여 Snego를 지정할 수 있습니다. 또한 클라이언트는 CoSetProxyBlanket 호출에서 pAuthInfo 매개 변수에 전달되는 SEC_WINNT_AUTH_IDENTITY_EX 구조의 PackageList 멤버를 통해 Snego에 대해 가능한 인증 서비스 목록을 제공해야 합니다. pAuthInfo가 NULL인 경우 Snego는 컴퓨터에 설치된 보안 패키지에서 인증 서비스 목록을 작성합니다. 그런 다음 Snego는 인증 서비스 목록을 서버로 보내고, 목록을 서버의 사용 가능한 인증 서비스와 비교하고, 연결에 사용할 인증 서비스를 선택합니다.
참고
Schannel은 Snego에서 사용하는 인증 서비스 목록에 있을 수 없습니다.
클라이언트는 CoInitializeSecurity를 호출할 때 Snego를 지정할 수도 있습니다. CoSetProxyBlanket의 dwAuthnSvc 및 pAuthInfo 매개 변수는 pAuthList 매개 변수를 통해 CoInitializeSecurity에 전달되는 SOLE_AUTHENTICATION_INFO 구조체의 멤버가 됩니다. 해당 멤버의 값에 대한 세부 정보는 이전 단락에 설명된 것과 동일합니다.
Snego를 사용하는 경우 CoQueryProxyBlanket 또는 CoQueryClientBlanket 에 대한 호출은 Snego가 연결을 설정하기 위해 선택한 실제 인증 서비스가 아닌 인증 서비스로 Snego를 반환합니다.