Freigeben über


<certificate> des <clientCertificate>-Elements

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

<<system.serviceModel>>
  <behaviors>
    <serviceBehaviors>
      <behavior> von <serviceBehaviors>
        <serviceCredentials>
          <clientCertificate> von <serviceCredentials>
            <certificate> des <clientCertificate>-Elements

<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

Attribute

Attribut 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. Folgende Werte sind gültig:

  • 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-Zertifikatspeichers an, der geöffnet werden soll. Folgende Werte sind gültig:

  • AddressBook: Der Zertifikatspeicher für andere Benutzer.
  • AuthRoot: Der Zertifikatspeicher für Zertifizierungsstellen von Drittanbietern.
  • CertificateAuthority: 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. Folgende Werte sind gültig:

  • 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

None.

Übergeordnete Elemente

Element Beschreibung

<clientCertificate> von <serviceCredentials>

Hinweise

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 über Duplexdienste finden Sie unter How to: Create a Duplex Contract.)

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

Referenz

Certificate
Certificate
X509ClientCertificateCredentialsElement

Weitere Ressourcen

Security Behaviors in WCF
How To: Create a Service Employing a Custom Certificate Validator
Working with Certificates