1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
//-----------------------------------------------------------------------
// <copyright file="Saml2SubjectConfirmationData.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
namespace System.IdentityModel.Tokens
{
using System;
using System.Collections.ObjectModel;
/// <summary>
/// Represents the SubjectConfirmationData element and the associated
/// KeyInfoConfirmationDataType defined in [Saml2Core, 2.4.1.2-2.4.1.3].
/// </summary>
public class Saml2SubjectConfirmationData
{
private string address;
private Saml2Id inResponseTo;
private Collection<SecurityKeyIdentifier> keyIdentifiers = new Collection<SecurityKeyIdentifier>();
private DateTime? notBefore;
private DateTime? notOnOrAfter;
private Uri recipient;
/// <summary>
/// Initializes an instance of <see cref="Saml2SubjectConfirmationData"/>.
/// </summary>
public Saml2SubjectConfirmationData()
{
}
/// <summary>
/// Gets or sets the network address/location from which an attesting entity can present the
/// assertion. [Saml2Core, 2.4.1.2]
/// </summary>
public string Address
{
get
{
return this.address;
}
set
{
this.address = XmlUtil.NormalizeEmptyString(value);
}
}
/// <summary>
/// Gets or sets the <see cref="Saml2Id"/> of a SAML protocol message in response to which an attesting entity can
/// present the assertion. [Saml2Core, 2.4.1.2]
/// </summary>
public Saml2Id InResponseTo
{
get { return this.inResponseTo; }
set { this.inResponseTo = value; }
}
/// <summary>
/// Gets a collection of <see cref="SecurityKeyIdentifier"/> which can be used to authenticate an attesting entity. [Saml2Core, 2.4.1.3]
/// </summary>
public Collection<SecurityKeyIdentifier> KeyIdentifiers
{
get { return this.keyIdentifiers; }
}
/// <summary>
/// Gets or sets a time instant before which the subject cannot be confirmed. [Saml2Core, 2.4.1.2]
/// </summary>
public DateTime? NotBefore
{
get { return this.notBefore; }
set { this.notBefore = DateTimeUtil.ToUniversalTime(value); }
}
/// <summary>
/// Gets or sets a time instant at which the subject can no longer be confirmed. [Saml2Core, 2.4.1.2]
/// </summary>
public DateTime? NotOnOrAfter
{
get { return this.notOnOrAfter; }
set { this.notOnOrAfter = DateTimeUtil.ToUniversalTime(value); }
}
/// <summary>
/// Gets or sets a URI specifying the entity or location to which an attesting entity can present
/// the assertion. [Saml2Core, 2.4.1.2]
/// </summary>
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;
}
}
}
}
|