<?xml version="1.0" encoding="utf-8"?>
<Type Name="X509CertificateInitiatorServiceCredential" FullName="System.ServiceModel.Security.X509CertificateInitiatorServiceCredential">
  <TypeSignature Language="C#" Value="public sealed class X509CertificateInitiatorServiceCredential" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit X509CertificateInitiatorServiceCredential 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>The certificate set in this class is used to encrypt messages to the client only for bindings that are configured with MutualCertificateDuplex message security authentication mode.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents the settings used by the service to validate the certificate presented by the clients. It also contains a certificate for the service to use for encrypting responses or callbacks for clients when MutualCertificateDuplex message security authentication mode is used.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="Authentication">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.X509ClientCertificateAuthentication Authentication { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.X509ClientCertificateAuthentication Authentication" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.X509ClientCertificateAuthentication</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the settings used to validate the certificate presented by the client during authentication.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Certificate">
      <MemberSignature Language="C#" Value="public System.Security.Cryptography.X509Certificates.X509Certificate2 Certificate { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Security.Cryptography.X509Certificates.X509Certificate2 Certificate" />
      <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>This property is used for bindings that are configured to message security mode when MutualCertificateDuplex message security authentication mode is used.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the certificate to use in MutualCertificateDuplex message security authentication mode.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="SetCertificate">
      <MemberSignature Language="C#" Value="public void SetCertificate (string subjectName, System.Security.Cryptography.X509Certificates.StoreLocation storeLocation, System.Security.Cryptography.X509Certificates.StoreName storeName);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetCertificate(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>crabout the <paramref name="subjectName" /> parameter, see <see cref="P:System.Security.Cryptography.X509Certificates.X509Certificate2.SubjectName" />.</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 (default).</para>
            </item>
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />: the certificate store used by the current user.</para>
            </item>
          </list>
          <para>If the client application is running under a system account, then the certificate is typically in <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine" />. If the client 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>Enables you to specify the certificate to use for encrypting messages for the client by specifying the subject distinguished name. This setting is used only by bindings that are configured with the MutualCertificateDuplex message security authentication mode.</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 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="SetCertificate">
      <MemberSignature Language="C#" Value="public void SetCertificate (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 SetCertificate(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>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 (default).</para>
            </item>
            <item>
              <para>
                <see cref="F:System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser" />: the certificate store used by the current user.</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 certificate to use for encrypting messages for the client. This setting is used only by bindings that are configured with the MutualCertificateDuplex message security authentication mode.</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 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>
  </Members>
</Type>