enumerazione EOLE_AUTHENTICATION_CAPABILITIES (objidlbase.h)
Specifica varie funzionalità in CoInitializeSecurity e IClientSecurity::SetBlanket (o nella relativa funzione helper CoSetProxyBlanket).
Sintassi
typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
EOAC_NONE = 0,
EOAC_MUTUAL_AUTH = 0x1,
EOAC_STATIC_CLOAKING = 0x20,
EOAC_DYNAMIC_CLOAKING = 0x40,
EOAC_ANY_AUTHORITY = 0x80,
EOAC_MAKE_FULLSIC = 0x100,
EOAC_DEFAULT = 0x800,
EOAC_SECURE_REFS = 0x2,
EOAC_ACCESS_CONTROL = 0x4,
EOAC_APPID = 0x8,
EOAC_DYNAMIC = 0x10,
EOAC_REQUIRE_FULLSIC = 0x200,
EOAC_AUTO_IMPERSONATE = 0x400,
EOAC_DISABLE_AAA = 0x1000,
EOAC_NO_CUSTOM_MARSHAL = 0x2000,
EOAC_RESERVED1 = 0x4000
} EOLE_AUTHENTICATION_CAPABILITIES;
Costanti
EOAC_NONE Valore: 0 Indica che non sono impostati flag di funzionalità. |
EOAC_MUTUAL_AUTH Valore: 0x1 Se questo flag viene specificato, verrà ignorato. Il supporto per l'autenticazione reciproca viene fornito automaticamente da alcuni servizi di autenticazione. Per altre informazioni, vedere PACCHETTI COM e sicurezza . |
EOAC_STATIC_CLOAKING Valore: 0x20 Imposta il mantello statico. Quando questo flag è impostato, DCOM usa il token di thread (se presente) quando determina l'identità del client. Tuttavia, l'identità del client viene determinata nella prima chiamata a ogni proxy (se SetBlanket non viene chiamata) e ogni volta che Viene chiamato CoSetProxyBlanket nel proxy. Per altre informazioni sul mantello statico, vedere Mantello. CoInitializeSecurity e IClientSecurity::SetBlanket restituiscono errori se vengono impostati entrambi i flag di mantello o se uno dei flag è impostato quando Schannel è il servizio di autenticazione. |
EOAC_DYNAMIC_CLOAKING Valore: 0x40 Imposta il mantello dinamico. Quando questo flag è impostato, DCOM usa il token di thread (se presente) quando determina l'identità del client. In ogni chiamata a un proxy viene esaminato il token del thread corrente per determinare se l'identità del client è stata modificata (a causa di un costo aggiuntivo delle prestazioni) e il client viene autenticato di nuovo solo se necessario. Il mantello dinamico può essere impostato solo dai client. Per altre informazioni sul mantello dinamico, vedere Mantello. CoInitializeSecurity e IClientSecurity::SetBlanket restituiscono errori se vengono impostati entrambi i flag di mantello o se uno dei flag è impostato quando Schannel è il servizio di autenticazione. |
EOAC_ANY_AUTHORITY Valore: 0x80 Questo flag è obsoleto. |
EOAC_MAKE_FULLSIC Valore: 0x100 Causa l'invio di nomi dell'entità server Schannel in formato fullsic ai client come parte della negoziazione di sicurezza predefinita. Il nome viene estratto dal certificato del server. Per altre informazioni sul modulo fullsic, vedere Nomi entità. |
EOAC_DEFAULT Valore: 0x800 Indica a DCOM di usare le funzionalità valide dalla chiamata a CoInitializeSecurity. Se CoInitializeSecurity non è stato chiamato, EOAC_NONE verrà usato per il flag delle funzionalità. Questo flag può essere impostato solo dai client in una chiamata a IClientSecurity::SetBlanket o CoSetProxyBlanket. |
EOAC_SECURE_REFS Valore: 0x2 Autentica le chiamate di conteggio dei riferimenti distribuite per impedire agli utenti malintenzionati di rilasciare oggetti ancora in uso. Se questo flag è impostato, che può essere eseguito solo in una chiamata a CoInitializeSecurity dal client, il livello di autenticazione (in dwAuthnLevel) non può essere impostato su nessuno. Il server autentica sempre le chiamate release. L'impostazione di questo flag impedisce a un client autenticato di rilasciare gli oggetti di un altro client autenticato. È consigliabile che i client impostano sempre questo flag, anche se le prestazioni sono interessate a causa del sovraccarico associato alla sicurezza aggiuntiva. |
EOAC_ACCESS_CONTROL Valore: 0x4 Indica che il parametro pSecDesc in CoInitializeSecurity è un puntatore a un'interfaccia IAccessControl in un oggetto controllo di accesso. Quando DCOM effettua controlli di sicurezza, chiama IAccessControl::IsAccessAllowed. Questo flag viene impostato solo dal server. CoInitializeSecurity restituisce un errore se vengono impostati sia i flag di EOAC_APPID che di EOAC_ACCESS_CONTROL. |
EOAC_APPID Valore: 0x8 Indica che il parametro pSecDesc in CoInitializeSecurity è un puntatore a un GUID che è un AppID. La funzione CoInitializeSecurity cerca l'AppID nel Registro di sistema e legge le impostazioni di sicurezza da qui. Se questo flag è impostato, tutti gli altri parametri su CoInitializeSecurity vengono ignorati e devono essere zero. Solo il server può impostare questo flag. Per altre informazioni su questo flag di funzionalità, vedere la sezione Osservazioni di seguito. CoInitializeSecurity restituisce un errore se vengono impostati sia i flag di EOAC_APPID che di EOAC_ACCESS_CONTROL. |
EOAC_DYNAMIC Valore: 0x10 Riservato. |
EOAC_REQUIRE_FULLSIC Valore: 0x200 Causa l'esito negativo delle chiamate CoSetProxyBlanket in cui viene specificato un nome dell'entità Schannel in qualsiasi formato diverso da fullsic. Questo flag è attualmente disponibile solo per i client. Per altre informazioni sul modulo fullsic, vedere Nomi entità. |
EOAC_AUTO_IMPERSONATE Valore: 0x400 Riservato. |
EOAC_DISABLE_AAA Valore: 0x1000 Causa l'attivazione in cui un processo del server verrà avviato sotto l'identità del chiamante (attiva come attivatore) non riesce con E_ACCESSDENIED. Questo valore, che può essere specificato solo in una chiamata a CoInitializeSecurity dal client, consente a un'applicazione eseguita in un account con privilegi (ad esempio LocalSystem) di impedire che l'identità venga usata per avviare componenti non attendibili. Una chiamata di attivazione che usa CLSCTX_ENABLE_AAA dell'enumerazione CLSCTX consentirà l'attivazione come attivazione per tale chiamata. |
EOAC_NO_CUSTOM_MARSHAL Valore: 0x2000 La specifica di questo flag consente di proteggere la sicurezza del server quando si usa DCOM o COM+. Riduce le probabilità di eseguire DLL arbitrarie perché consente il marshalling di solo CLSID implementati in Ole32.dll, ComAdmin.dll, ComSvcs.dll o Es.dll o che implementano l'ID categoria CATID_MARSHALER. Qualsiasi servizio critico per l'operazione di sistema deve impostare questo flag. |
EOAC_RESERVED1 Valore: 0x4000 |
Commenti
Quando il flag di EOAC_APPID è impostato, CoInitializeSecurity cerca il livello di autenticazione in AppID. Se il livello di autenticazione non viene trovato, cerca il livello di autenticazione predefinito. Se il livello di autenticazione predefinito non viene trovato, genera un livello di autenticazione predefinito di connessione. Se il livello di autenticazione non è RPC_C_AUTHN_LEVEL_NONE, CoInitializeSecurity cerca il valore di autorizzazione di accesso in AppID. Se non viene trovato, cerca il valore predefinito dell'autorizzazione di accesso. In caso contrario, genera un'autorizzazione di accesso predefinita. Tutte le altre impostazioni di sicurezza vengono determinate allo stesso modo di un'applicazione legacy.
Se AppID è NULL, CoInitializeSecurity cerca il nome dell'applicazione .exe nel Registro di sistema e usa l'AppID archiviato. Se appID non esiste, vengono usate le impostazioni predefinite del computer.
Il metodo IClientSecurity::SetBlanket e la funzione CoSetProxyBlanket restituiscono un errore se uno dei flag seguenti è impostato nel parametro funzionalità: EOAC_SECURE_REFS, EOAC_ACCESS_CONTROL, EOAC_APPID, EOAC_DYNAMIC EOAC_REQUIRE_FULLSIC, EOAC_DISABLE_AAA, EOAC_DISABLE_AAA o EOAC_NO_CUSTOM_MARSHAL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | objidlbase.h (include Objidl.h) |