Programmatic Security

Earlier in this chapter, you learned two elements of programmatic security—the IServerSecurity interface that you used to impersonate the client and the CoInitializeSecurity() function used to set per-process security. The CoInitializeSecurity() function creates a security blanket for your process; that is, the security settings.

Security Blankets

So what is a security blanket? A security blanket is a set of security properties. Those security properties include the following:

  • Authentication service

  • Authorization service

  • Principal name

  • Authentication level

  • Impersonation level

  • Authentication identity

  • Capabilities

  • ACL

Both the client and server create their security blankets by calling the CoInitializeSecurity() function. If either ...

Get COM+ Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.