RPC_HTTP_TRANSPORT_CREDENTIALS_A 구조체(rpcdce.h)
RPC_HTTP_TRANSPORT_CREDENTIALS 구조는 RPC/HTTP를 사용할 때 RPC 프록시 서버에 인증하기 위한 추가 자격 증명을 정의합니다.
구문
typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A {
SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials;
unsigned long Flags;
unsigned long AuthenticationTarget;
unsigned long NumberOfAuthnSchemes;
unsigned long *AuthnSchemes;
unsigned char *ServerCertificateSubject;
} RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
멤버
TransportCredentials
사용자의 사용자 이름, 도메인 및 암호를 포함하는 SEC_WINNT_AUTH_IDENTITY 구조체에 대한 포인터입니다.
Flags
비트 OR 연산자와 결합할 수 있는 플래그 집합입니다.
AuthenticationTarget
인증 대상을 지정합니다.
다음 값 중 하나 또는 둘 다로 설정해야 합니다.
값 | 의미 |
---|---|
|
HTTP 관점에서 HTTP 서버인 RPC 프록시에 대해 인증합니다. 가장 일반적인 값입니다. |
|
HTTP 프록시에 대해 인증합니다. 이 값은 일반적이지 않습니다. |
NumberOfAuthnSchemes
AuthnScheme 배열의 요소 수입니다.
AuthnSchemes
ServerCertificateSubject
서버 보안 주체 이름이 필요한 선택적 문자열을 포함합니다. 보안 주체 이름은 RpcCertGeneratePrincipalName 에 대해 생성된 것과 동일한 형식입니다(자세한 내용은 보안 주체 이름 참조). 이 멤버는 SSL을 사용하는 경우에만 사용됩니다. 이러한 경우 서버 인증서가 생성된 보안 주체 이름에 대해 검사됩니다. 일치하지 않으면 오류가 반환됩니다. 이 멤버를 사용하면 클라이언트가 RPC 프록시를 인증할 수 있습니다.
설명
TransportCredentials 멤버가 NULL이고 인증 체계가 NTLM인 경우 현재 로그온한 사용자의 자격 증명이 사용됩니다. 약한 LM 해시를 통해 네트워크에서 사용자 자격 증명을 노출하지 않도록 하려면 다음 조건 중 하나 또는 둘 다에 해당하는 경우에만 사용자 로그온 자격 증명이 사용됩니다.
- 호출자는 SSL 사용을 요청하고 ServerCertificateSubject 멤버를 사용했습니다. 이 시나리오는 약한 해시가 사용되는 경우에도 전송 중 및 최종 대상에서 자격 증명이 보호되도록 보장합니다.
- lncompatibilitylevel 키가 2 이상으로 설정됩니다. 이로 인해 NTLM 보안 공급자는 약한 LM 해시가 아닌 강력한 NT 해시만 내보내거나 응답합니다. 또한 고객은 NTLMv2를 시도하는 수준 3 이상을 사용하는 것이 좋습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | SP1이 설치된 Windows XP[데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | rpcdce.h(Rpc.h 포함) |
추가 정보
RPC_HTTP_TRANSPORT_CREDENTIALS_V2