//----------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System; using System.Collections.ObjectModel; /// /// Represents the SubjectConfirmationData element and the associated /// KeyInfoConfirmationDataType defined in [Saml2Core, 2.4.1.2-2.4.1.3]. /// public class Saml2SubjectConfirmationData { private string address; private Saml2Id inResponseTo; private Collection keyIdentifiers = new Collection(); private DateTime? notBefore; private DateTime? notOnOrAfter; private Uri recipient; /// /// Initializes an instance of . /// public Saml2SubjectConfirmationData() { } /// /// Gets or sets the network address/location from which an attesting entity can present the /// assertion. [Saml2Core, 2.4.1.2] /// public string Address { get { return this.address; } set { this.address = XmlUtil.NormalizeEmptyString(value); } } /// /// Gets or sets the of a SAML protocol message in response to which an attesting entity can /// present the assertion. [Saml2Core, 2.4.1.2] /// public Saml2Id InResponseTo { get { return this.inResponseTo; } set { this.inResponseTo = value; } } /// /// Gets a collection of which can be used to authenticate an attesting entity. [Saml2Core, 2.4.1.3] /// public Collection KeyIdentifiers { get { return this.keyIdentifiers; } } /// /// Gets or sets a time instant before which the subject cannot be confirmed. [Saml2Core, 2.4.1.2] /// public DateTime? NotBefore { get { return this.notBefore; } set { this.notBefore = DateTimeUtil.ToUniversalTime(value); } } /// /// Gets or sets a time instant at which the subject can no longer be confirmed. [Saml2Core, 2.4.1.2] /// public DateTime? NotOnOrAfter { get { return this.notOnOrAfter; } set { this.notOnOrAfter = DateTimeUtil.ToUniversalTime(value); } } /// /// Gets or sets a URI specifying the entity or location to which an attesting entity can present /// the assertion. [Saml2Core, 2.4.1.2] /// public Uri Recipient { get { return this.recipient; } set { if (null != value && !value.IsAbsoluteUri) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("value", SR.GetString(SR.ID0013)); } this.recipient = value; } } } }