AuthenticationLevel

Sets the default authentication level for applications that do not call CoInitializeSecurity, or for applications that call CoInitializeSecurity and specify an AppID.

Registry Entry

HKEY_LOCAL_MACHINE\Software\Microsoft\OLE\
             AuthenticationLevel= authentication_level

Remarks

The AuthenticationLevel named-value is a REG_DWORD that sets the default level of authentication for all applications that do not call CoInitializeSecurity, or for applications that call CoInitializeSecurity and specify an AppID.

The AuthenticationLevel value is similar to the LegacyAuthenticationLevel value. If the AuthenticationLevel value is present, it will be used instead of the LegacyAuthenticationLevel value for that AppID.

Values are from 1 through 6, and correspond to the RPC_C_AUTHN_LEVEL_xxx constants:

Value Meaning
1 RPC_C_AUTHN_LEVEL_NONE
2 RPC_C_AUTHN_LEVEL_CONNECT
3 RPC_C_AUTHN_LEVEL_CALL
4 RPC_C_AUTHN_LEVEL_PKT
5 RPC_C_AUTHN_LEVEL_PKT_INTEGRITY
6 RPC_C_AUTHN_LEVEL_PKT_PRIVACY

If the AuthenticationLevel value is of the wrong type or out of range, CoInitializeSecurity will fail, causing interface marshaling to fail. This will prevent the application from making any calls at all (cross-apartment, cross-thread, cross-process, or cross-machine).

The AuthenticationLevel and AccessPermission values under the AppID are independent. If one is not present, the default will be used. The following rules list the interaction between the AuthenticationLevel value and the AccessPermission value.

See Also

CoInitializeSecurity, LegacyAuthenticationLevel, RPC_C_AUTHN_LEVEL_xxx, Registering COM Servers, Security in COM