SignatureConfirmationElement.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Security
  5. {
  6. using System.Xml;
  7. using ISignatureValueSecurityElement = System.IdentityModel.ISignatureValueSecurityElement;
  8. using DictionaryManager = System.IdentityModel.DictionaryManager;
  9. class SignatureConfirmationElement : ISignatureValueSecurityElement
  10. {
  11. SecurityVersion version;
  12. string id;
  13. byte[] signatureValue;
  14. public SignatureConfirmationElement(string id, byte[] signatureValue, SecurityVersion version)
  15. {
  16. if (id == null)
  17. {
  18. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("id");
  19. }
  20. if (signatureValue == null)
  21. {
  22. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("signatureValue");
  23. }
  24. this.id = id;
  25. this.signatureValue = signatureValue;
  26. this.version = version;
  27. }
  28. public bool HasId
  29. {
  30. get { return true; }
  31. }
  32. public string Id
  33. {
  34. get { return this.id; }
  35. }
  36. public byte[] GetSignatureValue()
  37. {
  38. return this.signatureValue;
  39. }
  40. public void WriteTo(XmlDictionaryWriter writer, DictionaryManager dictionaryManager)
  41. {
  42. this.version.WriteSignatureConfirmation(writer, this.id, this.signatureValue);
  43. }
  44. }
  45. }