<?xml version="1.0" encoding="utf-8"?>
<Type Name="X509CertificateRecipientClientCredential" FullName="System.ServiceModel.Security.X509CertificateRecipientClientCredential">
  <TypeSignature Language="C#" Value="public sealed class X509CertificateRecipientClientCredential" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit X509CertificateRecipientClientCredential extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>System.ServiceModel</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>This class is used by the <see cref="P:System.ServiceModel.Description.ClientCredentials.ServiceCertificate" /> property in the <see cref="T:System.ServiceModel.Description.ClientCredentials" /> class.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents the settings used by the client to validate the certificate presented by the service using SSL authentication. It also contains any certificate for the service that is explicitly configured on the client to use for encrypting messages to the service using message security.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="Authentication">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.X509ServiceCertificateAuthentication Authentication { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.X509ServiceCertificateAuthentication Authentication" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.X509ServiceCertificateAuthentication</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.ServiceModel.Security.X509ClientCertificateAuthentication" /> class represents the settings used by the client proxy to authenticate service certificates that are obtained using SSL/TLS negotiation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the settings used to validate the service certificate obtained using SSL authentication.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DefaultCertificate">
      <MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509Certificate2 DefaultCertificate { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Security.Cryptography.X509Certificates.X509Certificate2 DefaultCertificate" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Cryptography.X509Certificates.X509Certificate2</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For bindings that use certificate-based message security, this certificate is used to encrypt messages to the service and is expected to be used by the service for signing replies to the client.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the default certificate to use for the service.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="ScopedCertificates">
      <MemberSignature Language="C#" Value="public System.Collections.Generic.Dictionary&lt;Uri,System.Security.Cryptography.X509Certificates.X509Certificate2&gt; ScopedCertificates { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.Dictionary`2&lt;class System.Uri, class System.Security.Cryptography.X509Certificates.X509Certificate2&gt; ScopedCertificates" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.Dictionary&lt;System.Uri,System.Security.Cryptography.X509Certificates.X509Certificate2&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This property enables the client to configure the service certificate to use based on the URL of the service it communicates with. This is especially useful in issued token scenarios where a client can be communicating to multiple services (the end service as well as intermediary security token services). For bindings that use certificate-based message security, this certificate is used to encrypt messages to the service, and is expected to be used by the service for signing replies to the client.</para>
          <para>If a binding requires a certificate for the service and no specific certificate for the service URL is found in the ScopedCertificates, the default certificate is used.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a scoped certificate to use to represent the service that the client is communicating with.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="SetDefaultCertificate">
      <MemberSignature Language="C#" Value="public void SetDefaultCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetDefaultCertificate(string subjectName, valuetype System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, valuetype System.Security.Cryptography.X509Certificates.StoreName storeName) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="subjectName" Type="System.String" />
        <Parameter Name="storeLocation" Type="System.Security.Cryptography.X509Certificates.StoreLocation" />
        <Parameter Name="storeName" Type="System.Security.Cryptography.X509Certificates.StoreName" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method gets a certificate from the store in the specified location that matches the <paramref name="subjectName" /> parameter.</para>
          <para>Values for <paramref name="storeLocation" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreLocation" /> enumeration:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />: the certificate store assigned to the local machine.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />: the certificate store used by the current user (default).</para>
            </item>
          </list>
          <para>If the application is running under a system account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />. If the application is running under a user account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />.</para>
          <para>Values for <paramref name="storeName" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreName" /> enumeration.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies the default certificate to use for the service. For bindings that use certificate-based message security, this certificate is used to encrypt messages to the service and is expected to be used by the service for signing replies to the client.</para>
        </summary>
        <param name="subjectName">
          <attribution license="cc4" from="Microsoft" modified="false" />The subject distinguished name.</param>
        <param name="storeLocation">
          <attribution license="cc4" from="Microsoft" modified="false" />The location of the certificate store that the service uses to obtain the service certificate.</param>
        <param name="storeName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the X.509 certificate store to open.</param>
      </Docs>
    </Member>
    <Member MemberName="SetDefaultCertificate">
      <MemberSignature Language="C#" Value="public void SetDefaultCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetDefaultCertificate(valuetype System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, valuetype System.Security.Cryptography.X509Certificates.StoreName storeName, valuetype System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="storeLocation" Type="System.Security.Cryptography.X509Certificates.StoreLocation" />
        <Parameter Name="storeName" Type="System.Security.Cryptography.X509Certificates.StoreName" />
        <Parameter Name="findType" Type="System.Security.Cryptography.X509Certificates.X509FindType" />
        <Parameter Name="findValue" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method gets a certificate from the store in the specified location that matches the <paramref name="findType" /> and <paramref name="findValue" /> parameters.</para>
          <para>Values for <paramref name="storeLocation" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreLocation" /> enumeration:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />: the certificate store assigned to the local machine.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />: the certificate store used by the current user (default).</para>
            </item>
          </list>
          <para>If the application is running under a system account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />. If the application is running under a user account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />.</para>
          <para>Values for <paramref name="storeName" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreName" /> enumeration.</para>
          <para>Values for <paramref name="findType" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.X509FindType" /> enumeration.</para>
          <para>The most commonly used enumeration is <see cref="F:System.Security.Cryptography.X509Certificates.X509FindType.FindBySubjectName" />, which does a case-insensitive search on the subject name of certificates in the specified store. This can be an imprecise search. If no certificates or multiple certificates that match the criteria are found, an <see cref="T:System.InvalidOperationException" /> is thrown.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies the default certificate to use for the service. For bindings that use certificate-based message security, this certificate is used to encrypt messages to the service and is expected to be used by the service for signing replies to the client.</para>
        </summary>
        <param name="storeLocation">
          <attribution license="cc4" from="Microsoft" modified="false" />The location of the certificate store the service uses to obtain the service certificate.</param>
        <param name="storeName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the X.509 certificate store to open.</param>
        <param name="findType">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of X.509 search to be executed.</param>
        <param name="findValue">
          <attribution license="cc4" from="Microsoft" modified="false" />The value to search for in the X.509 certificate store.</param>
      </Docs>
    </Member>
    <Member MemberName="SetScopedCertificate">
      <MemberSignature Language="C#" Value="public void SetScopedCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, Uri targetService);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetScopedCertificate(string subjectName, valuetype System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, valuetype System.Security.Cryptography.X509Certificates.StoreName storeName, class System.Uri targetService) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="subjectName" Type="System.String" />
        <Parameter Name="storeLocation" Type="System.Security.Cryptography.X509Certificates.StoreLocation" />
        <Parameter Name="storeName" Type="System.Security.Cryptography.X509Certificates.StoreName" />
        <Parameter Name="targetService" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Values for <paramref name="storeLocation" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreLocation" /> enumeration:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />: the certificate store assigned to the local machine.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />: the certificate store used by the current user (default).</para>
            </item>
          </list>
          <para>If the application is running under a system account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />. If the application is running under a user account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />.</para>
          <para>Values for <paramref name="storeName" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreName" /> enumeration.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sets a certificate by subject name, certificate store location, and certificate store name, and stores it in a collection to be used for the URL that sets the scope.</para>
        </summary>
        <param name="subjectName">
          <attribution license="cc4" from="Microsoft" modified="false" />The fully qualified subject name.</param>
        <param name="storeLocation">
          <attribution license="cc4" from="Microsoft" modified="false" />The location of the certificate store that the service uses to obtain the service certificate.</param>
        <param name="storeName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the X.509 certificate store to open.</param>
        <param name="targetService">
          <attribution license="cc4" from="Microsoft" modified="false" />The URL that sets the scope.</param>
      </Docs>
    </Member>
    <Member MemberName="SetScopedCertificate">
      <MemberSignature Language="C#" Value="public void SetScopedCertificate (System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName, System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue, Uri targetService);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetScopedCertificate(valuetype System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, valuetype System.Security.Cryptography.X509Certificates.StoreName storeName, valuetype System.Security.Cryptography.X509Certificates.X509FindType findType, object findValue, class System.Uri targetService) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="storeLocation" Type="System.Security.Cryptography.X509Certificates.StoreLocation" />
        <Parameter Name="storeName" Type="System.Security.Cryptography.X509Certificates.StoreName" />
        <Parameter Name="findType" Type="System.Security.Cryptography.X509Certificates.X509FindType" />
        <Parameter Name="findValue" Type="System.Object" />
        <Parameter Name="targetService" Type="System.Uri" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Values for <paramref name="storeLocation" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreLocation" /> enumeration:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />: the certificate store assigned to the local machine.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />: the certificate store used by the current user (default).</para>
            </item>
          </list>
          <para>If the application is running under a system account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />. If the application is running under a user account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />.</para>
          <para>Values for <paramref name="storeName" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.StoreName" /> enumeration.</para>
          <para>Values for <paramref name="findType" /> are included in the <see cref="T:System.Security.Cryptography.X509Certificates.X509FindType" /> enumeration.</para>
          <para>The most commonly used enumeration is <see cref="F:System.Security.Cryptography.X509Certificates.X509FindType.FindBySubjectName" />, which does a case-insensitive search on the subject name of certificates in the specified store. This can be an imprecise search. If no certificates or multiple certificates that match the criteria are found, an <see cref="T:System.InvalidOperationException" /> will be thrown.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sets a certificate by certificate store location, certificate store name, type of X.509 search, and value to search for, and stores it in a collection to be used for the URL that sets the scope.</para>
        </summary>
        <param name="storeLocation">
          <attribution license="cc4" from="Microsoft" modified="false" />The location of the certificate store that the service uses to obtain the service certificate.</param>
        <param name="storeName">
          <attribution license="cc4" from="Microsoft" modified="false" />The name of the X.509 certificate store to open.</param>
        <param name="findType">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of X.509 search to be executed.</param>
        <param name="findValue">
          <attribution license="cc4" from="Microsoft" modified="false" />The value to search for in the X.509 certificate store.</param>
        <param name="targetService">
          <attribution license="cc4" from="Microsoft" modified="false" />The URL that sets the scope.</param>
      </Docs>
    </Member>
  </Members>
</Type>