<autentikasi> dari Elemen <clientCertificate>

Menentukan perilaku autentikasi untuk sertifikat klien yang digunakan oleh layanan.

<konfigurasi>
  <system.serviceModel>
    <perilaku>
      <serviceBehaviors>
        <perilaku>
          <serviceCredentials>
            <clientCertificate>
              <autentikasi>

Sintaks

<authentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
                certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
                includeWindowsGroups="Boolean"
                mapClientCertificateToWindowsAccount="Boolean"
                revocationMode="NoCheck/Online/Offline"
                trustedStoreLocation="CurrentUser/LocalMachine" />

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen anak, dan elemen induk

Atribut

Atribut Deskripsi
customCertificateValidatorType String opsional. Jenis dan perakitan yang digunakan untuk memvalidasi jenis kustom. Atribut ini harus diatur ketika certificateValidationMode diatur ke Custom.
certificateValidationMode Enumerasi opsional. Menentukan salah satu mode yang digunakan untuk memvalidasi kredensial. Atribut ini berjenis X509CertificateValidationMode. Jika diatur ke X509CertificateValidationMode.Custom, maka customCertificateValidator juga harus diberikan. Defaultnya adalah X509CertificateValidationMode.ChainTrust.
includeWindowsGroups Boolean opsional. Menentukan apakah grup Windows disertakan dalam konteks keamanan. Mengatur atribut ini ke true akan berdampak pada performa, karena menghasilkan perluasan grup penuh. Atur atribut ini ke false jika Anda tidak perlu membuat daftar grup tempat pengguna berada.
mapClientCertificateToWindowsAccount Boolean. Menentukan apakah klien dapat dipetakan ke identitas Windows menggunakan sertifikat. Active Directory harus diaktifkan untuk melakukan ini.
revocationMode Enumerasi opsional. Salah satu mode yang digunakan untuk memeriksa daftar sertifikat yang dicabut (RCL). Defaultnya adalah Online. Nilai ini diabaikan saat menggunakan keamanan transportasi HTTP.
trustedStoreLocation Enumerasi opsional. Salah satu dari dua lokasi penyimpanan sistem: LocalMachine atau CurrentUser. Nilai ini digunakan ketika sertifikat layanan dinegosiasikan ke klien. Validasi dilakukan terhadap penyimpanan Orang Tepercaya di lokasi penyimpanan yang ditentukan. Defaultnya adalah CurrentUser.

customCertificateValidatorType Attribute

Nilai Deskripsi
String Menentukan nama jenis dan rakitan dan data lain yang digunakan untuk menemukan jenis.

Atribut certificateValidationMode

Nilai Deskripsi
Enumeration Salah satu nilai berikut: Tidak ada, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

Untuk informasi selengkapnya, lihat Bekerja dengan Sertifikat.

Atribut revocationMode

Nilai Deskripsi
Enumeration Salah satu nilai berikut: NoCheck, Online, Offline. Untuk informasi selengkapnya, lihat Bekerja dengan Sertifikat.

Atribut trustedStoreLocation

Nilai Deskripsi
Enumeration Salah satu nilai berikut: LocalMachine atau CurrentUser. Defaultnya adalah CurrentUser. Jika aplikasi klien berjalan di bagian akun sistem, maka sertifikat biasanya di bagian LocalMachine. Jika aplikasi klien berjalan di bagian akun pengguna, maka sertifikat biasanya di bagian CurrentUser.

Elemen Anak

Tidak ada.

Elemen Induk

Elemen Deskripsi
<clientCertificate> Mendefinisikan sertifikat X.509 yang digunakan untuk mengautentikasi klien ke layanan.

Keterangan

Elemen <authentication> sesuai dengan kelas X509ClientCertificateAuthentication. Ini memungkinkan Anda menyesuaikan bagaimana klien diautentikasi. Anda dapat mengatur atribut certificateValidationMode ke None, ChainTrust, PeerOrChainTrust, PeerTrust, atau Custom. Secara default, tingkat diatur ke ChainTrust, yang menentukan bahwa setiap sertifikat harus ditemukan dalam hierarki sertifikat yang berakhiran otoritas akar di bagian atas rantai. Ini adalah mode yang paling aman. Anda juga dapat mengatur nilai ke PeerOrChainTrust, yang menetapkan bahwa sertifikat yang diterbitkan sendiri (kepercayaan rekan) diterima serta sertifikat yang berada dalam rantai tepercaya. Nilai ini digunakan saat mengembangkan dan men-debug klien dan layanan karena sertifikat yang dikeluarkan sendiri tidak perlu dibeli dari otoritas tepercaya. Saat menyebarkan klien, gunakan nilai ChainTrust sebagai gantinya.

Anda juga dapat mengatur nilainya ke Custom. Saat diatur ke nilai Custom, Anda juga harus mengatur atribut customCertificateValidatorType ke assembly dan jenis yang digunakan untuk memvalidasi sertifikat. Untuk membuat validator kustom Anda sendiri, Anda harus mewarisi dari kelas X509CertificateValidator abstrak. Untuk informasi selengkapnya, lihat Cara: Membuat Layanan yang Menggunakan Validator Sertifikat Khusus.

Contoh

Kode berikut menetapkan sertifikat X.509 dan jenis validasi khusus dalam elemen <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>

Lihat juga