<<certyfikat> clientCertificate>, element

Określa certyfikat X.509 używany do podpisywania i szyfrowania komunikatów.

<Konfiguracji>
  <System.servicemodel>
    <Zachowania>
      <Servicebehaviors>
        <Zachowanie>
          <Servicecredentials>
            <Clientcertificate>
              <Certyfikat>

Składnia

<certificate findValue="String"
             storeLocation = "CurrentUser/LocalMachine"
             storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
             X509FindType="FindByThumbPrint/FindBySubjectName/FindBySubjectDistinguishedName/FindByIssuerName/FindByIssuerDistinguishedName/FindBySerialNumber/FindByTimeValid/FindByTimeNotYetValid/FindByTemplateName/FindByApplicationPolicy/FindByCertificatePolicy/FindByExtension/FindByKeyUsage/FindBySubjectKeyIdentifier" />

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne

Atrybuty

Atrybut Opis
findValue Ciąg zawierający wartość do wyszukania w magazynie certyfikatów X.509. Typ zawarty w atrybucie musi spełniać wymagania określonego atrybutu X509FindType. Wartość domyślna to pusty ciąg.
storeLocation Określa lokalizację magazynu certyfikatów X.509, którego klient używa do sprawdzania poprawności certyfikatu serwera. Prawidłowe wartości obejmują następujące wartości:

- LocalMachine: magazyn certyfikatów przypisany do komputera lokalnego.
- CurrentUser: magazyn certyfikatów przypisany do bieżącego użytkownika.

Wartość domyślna to LocalMachine.
storeName Określa nazwę magazynu certyfikatów X.509 do otwarcia. Prawidłowe wartości obejmują następujące wartości:

- AddressBook: Magazyn certyfikatów dla innych użytkowników.
- AuthRoot: magazyn certyfikatów dla urzędów certyfikacji innych firm .
- CertificationAuthority: Magazyn certyfikatów dla pośrednich urzędów certyfikacji (CA).
- Niedozwolone: magazyn certyfikatów dla odwołanych certyfikatów.
- Mój: Magazyn certyfikatów dla certyfikatów osobistych.
— Główny: magazyn certyfikatów dla zaufanych głównych urzędów certyfikacji (CA).
- Zaufani ludzie: magazyn certyfikatów dla osób i zasobów bezpośrednio zaufanych.
- TrustedPublisher: magazyn certyfikatów dla bezpośrednio zaufanych wydawców.

Wartość domyślna to Moje.
X509FindType Definiuje typ wyszukiwania X.509 do wykonania. Prawidłowe wartości obejmują następujące wartości:

- FindByThumbPrint
— FindBySubjectName
— FindBySubjectDistinguishedName
— FindByIssuerName
— FindByIssuerDistinguishedName
- FindBySerialNumber
- FindByTimeValid
- FindByTimeNotYetValid
— FindByTemplateName
— FindByApplicationPolicy
- FindByCertificatePolicy
- FindByExtension
— FindByKeyUsage
— FindBySubjectKeyIdentifier

Typ zawarty w atrybucie findValue musi spełniać wymagania określonego atrybutu X509FindType.

Wartość domyślna to FindBySubjectDistinguishedName.

Elementy podrzędne

Brak.

Elementy nadrzędne

Element Opis
<Clientcertificate>

Uwagi

Element <certificate> jest używany, gdy usługa musi mieć certyfikat klienta z wyprzedzeniem, aby bezpiecznie komunikować się z klientem. Dzieje się tak w przypadku korzystania ze wzorca komunikacji dwukierunkowej. W bardziej typowym wzorcu żądania/odpowiedzi klient dołącza swój certyfikat do żądania, którego usługa używa do szyfrowania i podpisywania odpowiedzi z powrotem do klienta. Jednak we wzorcu komunikacji dwukierunkowej usługa nie ma żądania od klienta i dlatego wymaga certyfikatu klienta z wyprzedzeniem, aby zabezpieczyć komunikat do klienta. W związku z tym należy uzyskać certyfikat klienta w negocjacjach poza pasmem i określić certyfikat przy użyciu tego elementu. Aby uzyskać więcej informacji na temat usług dwukierunkowych, zobacz How to: Create a Duplex Contract (Instrukcje: tworzenie kontraktu dwukierunkowego).

Przykład

Poniższy kod określa sposób znajdowania odpowiedniego certyfikatu X.509 i niestandardowego typu weryfikacji w elemecie <authentication> .

<serviceBehaviors>
  <behavior name="myServiceBehavior">
    <clientCertificate>
      <certificate findValue="www.cohowinery.com"
                   storeLocation="CurrentUser"
                   storeName="TrustedPeople"
                   x509FindType="FindByIssuerName" />
      <authentication customCertificateValidatorType="MyTypes.Coho"
                      certificateValidationMode="Custom"
                      revocationMode="Offline"
                      includeWindowsGroups="false"
                      mapClientCertificateToWindowsAccount="true" />
    </clientCertificate>
  </behavior>
</serviceBehaviors>

Zobacz też