//-----------------------------------------------------------------------
//
// 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;
}
}
}
}