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