| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- //-----------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- namespace System.ServiceModel.Channels
- {
- using System.Net.Security;
- class SecurityCapabilities : ISecurityCapabilities
- {
- internal bool supportsServerAuth;
- internal bool supportsClientAuth;
- internal bool supportsClientWindowsIdentity;
- internal ProtectionLevel requestProtectionLevel;
- internal ProtectionLevel responseProtectionLevel;
- public SecurityCapabilities(bool supportsClientAuth, bool supportsServerAuth, bool supportsClientWindowsIdentity,
- ProtectionLevel requestProtectionLevel, ProtectionLevel responseProtectionLevel)
- {
- this.supportsClientAuth = supportsClientAuth;
- this.supportsServerAuth = supportsServerAuth;
- this.supportsClientWindowsIdentity = supportsClientWindowsIdentity;
- this.requestProtectionLevel = requestProtectionLevel;
- this.responseProtectionLevel = responseProtectionLevel;
- }
- public ProtectionLevel SupportedRequestProtectionLevel { get { return requestProtectionLevel; } }
- public ProtectionLevel SupportedResponseProtectionLevel { get { return responseProtectionLevel; } }
- public bool SupportsClientAuthentication { get { return supportsClientAuth; } }
- public bool SupportsClientWindowsIdentity { get { return supportsClientWindowsIdentity; } }
- public bool SupportsServerAuthentication { get { return supportsServerAuth; } }
- static SecurityCapabilities None
- {
- get { return new SecurityCapabilities(false, false, false, ProtectionLevel.None, ProtectionLevel.None); }
- }
- internal static bool IsEqual(ISecurityCapabilities capabilities1, ISecurityCapabilities capabilities2)
- {
- if (capabilities1 == null)
- {
- capabilities1 = SecurityCapabilities.None;
- }
- if (capabilities2 == null)
- {
- capabilities2 = SecurityCapabilities.None;
- }
- if (capabilities1.SupportedRequestProtectionLevel != capabilities2.SupportedRequestProtectionLevel)
- {
- return false;
- }
- if (capabilities1.SupportedResponseProtectionLevel != capabilities2.SupportedResponseProtectionLevel)
- {
- return false;
- }
- if (capabilities1.SupportsClientAuthentication != capabilities2.SupportsClientAuthentication)
- {
- return false;
- }
- if (capabilities1.SupportsClientWindowsIdentity != capabilities2.SupportsClientWindowsIdentity)
- {
- return false;
- }
- if (capabilities1.SupportsServerAuthentication != capabilities2.SupportsServerAuthentication)
- {
- return false;
- }
- return true;
- }
- }
- }
|