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 (デスクトップ アプリのみ) |
Header | rpcdce.h (Rpc.h を含む) |
こちらもご覧ください
RPC_HTTP_TRANSPORT_CREDENTIALS_V2
RPC_HTTP_TRANSPORT_CREDENTIALS_V3