BasicHttpMessageSecurityElement.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System.Configuration;
  7. using System.Globalization;
  8. using System.Net;
  9. using System.Net.Security;
  10. using System.ServiceModel;
  11. using System.ServiceModel.Security;
  12. using System.ComponentModel;
  13. public sealed partial class BasicHttpMessageSecurityElement : ServiceModelConfigurationElement
  14. {
  15. [ConfigurationProperty(ConfigurationStrings.ClientCredentialType, DefaultValue = BasicHttpMessageSecurity.DefaultClientCredentialType)]
  16. [ServiceModelEnumValidator(typeof(BasicHttpMessageCredentialTypeHelper))]
  17. public BasicHttpMessageCredentialType ClientCredentialType
  18. {
  19. get { return (BasicHttpMessageCredentialType)base[ConfigurationStrings.ClientCredentialType]; }
  20. set { base[ConfigurationStrings.ClientCredentialType] = value; }
  21. }
  22. [ConfigurationProperty(ConfigurationStrings.AlgorithmSuite, DefaultValue = ConfigurationStrings.Default)]
  23. [TypeConverter(typeof(SecurityAlgorithmSuiteConverter))]
  24. public SecurityAlgorithmSuite AlgorithmSuite
  25. {
  26. get { return (SecurityAlgorithmSuite)base[ConfigurationStrings.AlgorithmSuite]; }
  27. set { base[ConfigurationStrings.AlgorithmSuite] = value; }
  28. }
  29. internal void ApplyConfiguration(BasicHttpMessageSecurity security)
  30. {
  31. if (security == null)
  32. {
  33. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security");
  34. }
  35. security.ClientCredentialType = this.ClientCredentialType;
  36. if (PropertyValueOrigin.Default != this.ElementInformation.Properties[ConfigurationStrings.AlgorithmSuite].ValueOrigin)
  37. {
  38. security.AlgorithmSuite = this.AlgorithmSuite;
  39. }
  40. }
  41. internal void InitializeFrom(BasicHttpMessageSecurity security)
  42. {
  43. if (security == null)
  44. {
  45. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security");
  46. }
  47. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.ClientCredentialType, security.ClientCredentialType);
  48. SetPropertyValueIfNotDefaultValue(ConfigurationStrings.AlgorithmSuite, security.AlgorithmSuite);
  49. }
  50. }
  51. }