Freigeben über


<certificate> des <clientCertificate>-Elements

Gibt ein X.509-Zertifikat an, das verwendet wird, um Nachrichten zu signieren und zu verschlüsseln.

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceCredentials>
            <clientCertificate>
              <certificate>

Syntax

<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" />

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.

Attribute

attribute BESCHREIBUNG
findValue Eine Zeichenfolge, die den Wert angibt, nach dem im X.509-Zertifikatspeicher gesucht werden soll. Der im Attribut enthaltene Typ muss die Anforderungen in X509FindType erfüllen. Der Standardwert ist eine leere Zeichenfolge.
storeLocation Gibt den Speicherort des X.509-Zertifikatspeichers an, den der Client zum Prüfen des Serverzertifikats verwendet. Gültige Werte sind:

– LocalMachine: Der dem lokalen Computer zugewiesene Zertifikatspeicher.
– CurrentUser: Der dem aktuellen Benutzer zugewiesene Zertifikatspeicher.

Der Standardwert ist LocalMachine.
storeName Gibt den Namen des X.509-Zertifikatsspeichers an, der geöffnet werden soll. Gültige Werte sind:

– AddressBook: Zertifikatspeicher für andere Benutzer.
– AuthRoot: Der Zertifikatspeicher für Zertifizierungsstellen von Drittanbietern.
– CertificationAuthority: Der Zertifikatspeicher für Zwischenzertifizierungsstellen.
– Disallowed: Der Zertifikatspeicher für gesperrte Zertifikate.
– My: Der Zertifikatspeicher für persönliche Zertifikate.
– Root: Der Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen.
– TrustedPeople: Der Zertifikatspeicher für direkt vertrauenswürdige Personen und Ressourcen.
– TrustedPublisher: Der Zertifikatspeicher für direkt vertrauenswürdige Herausgeber.

Der Standardwert ist My.
X509FindType Definiert den Typ der X.509-Suche, die ausgeführt werden soll. Gültige Werte sind:

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

Der im findValue-Attribut enthaltene Typ muss die Anforderungen in X509FindType erfüllen.

Der Standardwert ist FindBySubjectDistinguishedName.

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Element BESCHREIBUNG
<clientCertificate>

Bemerkungen

Das <certificate>-Element wird verwendet, wenn dem Dienst das Zertifikat des Clients im Voraus bekannt sein muss, damit eine sichere Kommunikation mit dem Client stattfinden kann. Dies ist bei der Duplexkommunikation der Fall. Bei der üblicheren Kommunikation mit Anforderung und Antwort fügt der Client das Zertifikat in die Anforderung ein, das dann wiederum vom Dienst zum Verschlüsseln und Signieren seiner Antwort an den Client verwendet wird. Bei der Duplexkommunikation verfügt der Dienst jedoch nicht über eine Anforderung vom Client und benötigt deshalb das Clientzertifikat im Voraus, um die Nachricht an den Client zu sichern. Sie müssen deshalb das Zertifikat des Clients in einer Out-of-Band-Aushandlung beziehen und das Zertifikat mit diesem Element angeben. Weitere Informationen zu Duplexdiensten finden Sie unter Gewusst wie: Erstellen eines Duplexvertrags.

Beispiel

Der folgende Code gibt an, wie Sie ein geeignetes X.509-Zertifikat und einen benutzerdefinierten Validierungstyp im <authentication>-Element suchen.

<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>

Siehe auch