RPC_HTTP_TRANSPORT_CREDENTIALS_A struttura (rpcdce.h)
La struttura RPC_HTTP_TRANSPORT_CREDENTIALS definisce credenziali aggiuntive per l'autenticazione a un server proxy RPC quando si usa RPC/HTTP.
Sintassi
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;
Members
TransportCredentials
Puntatore a una struttura SEC_WINNT_AUTH_IDENTITY contenente il nome utente, il dominio e la password per l'utente.
Flags
Set di flag che possono essere combinati con l'operatore OR bit per bit.
AuthenticationTarget
Specifica la destinazione di autenticazione.
Deve essere impostato su uno o entrambi i valori seguenti:
NumberOfAuthnSchemes
Numero di elementi nella matrice AuthnScheme .
AuthnSchemes
ServerCertificateSubject
Contiene una stringa facoltativa con il nome dell'entità server previsto. Il nome dell'entità è nello stesso formato generato per RpcCertGeneratePrincipalName (vedere Nomi entità per altre informazioni). Questo membro viene usato solo quando viene usato SSL. In questi casi, il certificato del server viene controllato con il nome dell'entità generata. Se non corrispondono, viene restituito un errore. Questo membro consente ai client di autenticare il proxy RPC.
Commenti
Se il membro TransportCredentials è NULL e lo schema di autenticazione è NTLM, vengono usate le credenziali dell'utente attualmente connesso. Per evitare di esporre le credenziali utente nella rete tramite un hash LM debole, le credenziali di accesso utente vengono usate solo se una o entrambe le condizioni seguenti sono vere:
- Il chiamante ha richiesto l'uso di SSL e ha usato il membro ServerCertificateSubject . Questo scenario garantisce che le credenziali siano protette sia in transito che nella destinazione finale, anche se viene usato un hash debole.
- La chiave lncompatibilitylevel è impostata su 2 o superiore. In questo modo il provider di sicurezza NTLM genera o risponde solo all'hash NT sicuro, non all'hash LM debole. Inoltre, i clienti sono invitati a usare il livello 3 o superiore, che tenterà NTLMv2.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP con SP1 [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | rpcdce.h (include Rpc.h) |
Vedi anche
RPC_HTTP_TRANSPORT_CREDENTIALS_V2
RPC_HTTP_TRANSPORT_CREDENTIALS_V3