<?xml version="1.0" encoding="utf-8"?>
<Type Name="Reference" FullName="System.Security.Cryptography.Xml.Reference">
  <TypeSignature Language="C#" Value="public class Reference" Maintainer="auto" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Reference extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>System.Security</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 07 D1 FA 57 C4 AE D9 F0 A3 2E 84 AA 0F AE FD 0D E9 E8 FD 6A EC 8F 87 FB 03 76 6C 83 4C 99 92 1E B2 3B E7 9A D9 D5 DC C1 DD 9A D2 36 13 21 02 90 0B 72 3C F9 80 95 7F C4 E1 77 10 8F C6 07 77 4F 29 E8 32 0E 92 EA 05 EC E4 E8 21 C0 A5 EF E8 F1 64 5C 4C 0C 93 C1 AB 99 28 5D 62 2C AA 65 2C 1D FA D6 3D 74 5D 6F 2D E5 F1 7E 5E AF 0F C4 96 3D 26 1C 8A 12 43 65 18 20 6D C0 93 34 4D 5A D2 93]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Security.Cryptography.Xml.Reference" /> object represents the &lt;reference&gt; element of an XML digital signature defined by the XML digital signature specification.</para>
      <para>Use the <see cref="T:System.Security.Cryptography.Xml.Reference" /> object to specify the following information:</para>
      <list type="bullet">
        <item>
          <para>The digest algorithm used to sign of the data object.  This value is required. </para>
        </item>
        <item>
          <para>The Uniform Resource Identifier (URI) of the data object to sign. The URI can specify a file path or specific elements within an XML document.  This value is required.  </para>
        </item>
        <item>
          <para>A chain of transforms to apply before generating the digest. This value is optional.</para>
        </item>
        <item>
          <para>The type of object to sign.  This value is optional.</para>
        </item>
        <item>
          <para>A unique identifier used to reference the current &lt;reference&gt; element.  This value is optional.</para>
        </item>
      </list>
      <para>For more information about the &lt;reference&gt; element, see the W3C specification at www.w3.org/TR/xmldsig-core/.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents the &lt;reference&gt; element of an XML signature.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Reference ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters />
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Xml.Reference" /> class with default properties.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Reference (System.IO.Stream stream);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="stream" Type="System.IO.Stream" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor initializes the <see cref="T:System.Security.Cryptography.Xml.Reference" /> object to the hash value that corresponds to the <paramref name="stream" /> parameter.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Xml.Reference" /> class with a hash value of the specified <see cref="T:System.IO.Stream" />.</para>
        </summary>
        <param name="stream">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.Stream" /> with which to initialize the new instance of <see cref="T:System.Security.Cryptography.Xml.Reference" />. </param>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Reference (string uri);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string uri) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor initializes the <see cref="T:System.Security.Cryptography.Xml.Reference" /> object to the data at the URI with special processing for "", #xpointer(/), and #xxxx. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Xml.Reference" /> class with the specified <see cref="T:System.Uri" />.</para>
        </summary>
        <param name="uri">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Uri" /> with which to initialize the new instance of <see cref="T:System.Security.Cryptography.Xml.Reference" />. </param>
      </Docs>
    </Member>
    <Member MemberName="AddTransform">
      <MemberSignature Language="C#" Value="public void AddTransform (System.Security.Cryptography.Xml.Transform transform);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddTransform(class System.Security.Cryptography.Xml.Transform transform) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="transform" Type="System.Security.Cryptography.Xml.Transform" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Security.Cryptography.Xml.Reference.AddTransform(System.Security.Cryptography.Xml.Transform)" /> method modifies the &lt;Transform&gt; element and associated subelements of an XML digital signature.  </para>
          <para>Transforms are applied in the order in which they were added. If no transforms are specified, the minimum required transforms are added automatically.</para>
          <para>For more information about XML digital signatures, see the W3C specification at www.w3.org/TR/xmldsig-core/.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Adds a <see cref="T:System.Security.Cryptography.Xml.Transform" /> object to the list of transforms to be performed on the data before passing it to the digest algorithm.</para>
        </summary>
        <param name="transform">
          <attribution license="cc4" from="Microsoft" modified="false" />The transform to be added to the list of transforms. </param>
      </Docs>
    </Member>
    <Member MemberName="DigestMethod">
      <MemberSignature Language="C#" Value="public string DigestMethod { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string DigestMethod" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Security.Cryptography.Xml.Reference.DigestMethod" /> property uses a URI string to represent the &lt;DigestMethod&gt; element of an XML digital signature.</para>
          <para>The digest method is the algorithm used to hash the <see cref="T:System.Security.Cryptography.Xml.Reference" />. The default algorithm is <see cref="T:System.Security.Cryptography.SHA1" />. </para>
          <para>For more information about XML digital signatures, see the W3C specification at www.w3.org/TR/xmldsig-core/. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the digest method Uniform Resource Identifier (URI) of the current <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DigestValue">
      <MemberSignature Language="C#" Value="public byte[] DigestValue { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance unsigned int8[] DigestValue" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>a <see cref="T:System.Byte[]" /></value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Security.Cryptography.Xml.Reference.DigestValue" /> property uses an array of bytes to represent the &lt;DigestValue&gt; element of an XML digital signature.  </para>
          <para>The <see cref="P:System.Security.Cryptography.Xml.Reference.DigestValue" /> property contains the Base 64 encoded value of the digest of the object described by the <see cref="P:System.Security.Cryptography.Xml.Reference.Uri" /> property.</para>
          <para>The <see cref="P:System.Security.Cryptography.Xml.Reference.DigestValue" /> property is automatically populated with the appropriate value whenever you make a call to <see cref="Overload:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature" />.</para>
          <para>For more information about XML digital signatures, see the W3C specification at www.w3.org/TR/xmldsig-core/. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the digest value of the current <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="GetXml">
      <MemberSignature Language="C#" Value="public System.Xml.XmlElement GetXml ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Xml.XmlElement GetXml() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Xml.XmlElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns the XML representation of the <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The XML representation of the <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="Id">
      <MemberSignature Language="C#" Value="public string Id { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Id" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use the <see cref="P:System.Security.Cryptography.Xml.Reference.Id" /> property to add a string ID to the XML representation of the current <see cref="T:System.Security.Cryptography.Xml.Reference" /> element. The ID is used to reference the <see cref="T:System.Security.Cryptography.Xml.Reference" /> element from another location.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the ID of the current <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="LoadXml">
      <MemberSignature Language="C#" Value="public void LoadXml (System.Xml.XmlElement value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void LoadXml(class System.Xml.XmlElement value) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Xml.XmlElement" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Loads a <see cref="T:System.Security.Cryptography.Xml.Reference" /> state from an XML element.</para>
        </summary>
        <param name="value">
          <attribution license="cc4" from="Microsoft" modified="false" />The XML element from which to load the <see cref="T:System.Security.Cryptography.Xml.Reference" /> state. </param>
      </Docs>
    </Member>
    <Member MemberName="TransformChain">
      <MemberSignature Language="C#" Value="public System.Security.Cryptography.Xml.TransformChain TransformChain { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Security.Cryptography.Xml.TransformChain TransformChain" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>set: System.Runtime.InteropServices.ComVisible(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Security.Cryptography.Xml.TransformChain</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>a <see cref="T:System.Security.Cryptography.Xml.TransformChain" /></value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Security.Cryptography.Xml.Reference.TransformChain" /> property represents the &lt;Transform&gt; element and associated subelements of an XML digital signature.  </para>
          <para>The transform chain is an ordered list of transforms. The output of these transforms constitutes the input to the hash algorithm specified in the <see cref="P:System.Security.Cryptography.Xml.Reference.DigestMethod" /> property.</para>
          <para>For more information about XML digital signatures, see the W3C specification at www.w3.org/TR/xmldsig-core/.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the transform chain of the current <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Type">
      <MemberSignature Language="C#" Value="public string Type { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Type" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the type of the object being signed.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Uri">
      <MemberSignature Language="C#" Value="public string Uri { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string Uri" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>a <see cref="T:System.String" /></value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Security.Cryptography.Xml.Reference.Uri" /> property uses a string Uniform Resource Identifier (URI) to represent the &lt;URI&gt; element of an XML digital signature.</para>
          <para>Use the <see cref="P:System.Security.Cryptography.Xml.Reference.Uri" /> property to specify the location of a document to sign, and to specify which element of the current XML document to sign or to indicate that the entire document should be signed.  </para>
          <para>To successfully create an XML digital signature, you must set the <see cref="P:System.Security.Cryptography.Xml.Reference.Uri" /> property. The following table describes the values that you can pass to the <see cref="P:System.Security.Cryptography.Xml.Reference.Uri" /> property.  </para>
          <list type="table">
            <listheader>
              <item>
                <term>
                  <para>Object to sign</para>
                </term>
                <description>
                  <para>Value passed to the <see cref="P:System.Security.Cryptography.Xml.Reference.Uri" /> property</para>
                </description>
              </item>
            </listheader>
            <item>
              <term>
                <para>An entire XML document using an enveloped signature.</para>
              </term>
              <description>
                <para>An empty string: ""</para>
              </description>
            </item>
            <item>
              <term>
                <para>A specific element within an XML document using an enveloped signature.</para>
              </term>
              <description>
                <para>The name of an XML element identified by an attribute name ID. The string should take the following form where <paramref name="IDname" /> is the name of a valid attribute name ID:</para>
                <para>"#Idname"</para>
              </description>
            </item>
            <item>
              <term>
                <para>A file using a detached signature. </para>
              </term>
              <description>
                <para>The URI of a file: "c:\data.jpg" or "c:\data.xml".</para>
              </description>
            </item>
          </list>
          <para>For more information about XML digital signatures, see the World Wide Web Consortium (W3C) specification at www.w3.org/TR/xmldsig-core/.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the <see cref="T:System.Uri" /> of the current <see cref="T:System.Security.Cryptography.Xml.Reference" />.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>