다음을 통해 공유


스네고 주

인증 서비스 식별자가 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의 dwAuthnSvcpAuthInfo 매개 변수는 pAuthList 매개 변수를 통해 CoInitializeSecurity 전달되는 SOLE_AUTHENTICATION_INFO 구조체의 멤버가 될 있습니다. 이러한 멤버의 값에 대한 세부 정보는 이전 단락에서 설명한 것과 동일합니다.

Snego를 사용하는 경우 CoQueryProxyBlanket 또는 CoQueryClientBlanket 대한 호출은 Snego가 연결을 설정하기 위해 선택한 실제 인증 서비스가 아닌 인증 서비스로 Snego를 반환합니다.

COM 및 보안 패키지