Bagikan melalui


struktur SCH_CREDENTIALS (schannel.h)

Struktur SCH_CREDENTIALS berisi informasi inisialisasi untuk kredensial Schannel.

Sintaks

typedef struct _SCH_CREDENTIALS {
  DWORD           dwVersion;
  DWORD           dwCredFormat;
  DWORD           cCreds;
  PCCERT_CONTEXT  *paCred;
  HCERTSTORE      hRootStore;
  DWORD           cMappers;
  _HMAPPER        **aphMappers;
  struct          _HMAPPER;
  DWORD           dwSessionLifespan;
  DWORD           dwFlags;
  DWORD           cTlsParameters;
  PTLS_PARAMETERS pTlsParameters;
} SCH_CREDENTIALS, *PSCH_CREDENTIALS;

Anggota

dwVersion

Atur ke SCH_CREDENTIALS_VERSION.

dwCredFormat

Schannel mode kernel mendukung nilai berikut.

Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP dan Windows XP/2000: Bendera ini tidak didukung dan harus nol.

Nilai Makna
SCH_CRED_FORMAT_CERT_HASH
0x00000001
Anggota paCred dari struktur SCH_CREDENTIALS yang diteruskan harus menjadi penunjuk ke array byte panjang 20 yang berisi thumbprint sertifikat. Sertifikat diasumsikan berada di penyimpanan "MY" komputer lokal.
SCH_CRED_FORMAT_CERT_HASH_STORE
0x00000002
Anggota paCred dari struktur SCH_CREDENTIALS menunjuk ke struktur SCHANNEL_CERT_HASH_STORE .

cCreds

Jumlah struktur dalam array paCred.

paCred

Array pointer ke struktur CERT_CONTEXT. Setiap penunjuk menentukan sertifikat yang berisi kunci privat yang akan digunakan dalam mengautentikasi aplikasi.

Aplikasi klien sering meneruskan daftar kosong dan bergantung pada Schannel untuk menemukan sertifikat yang sesuai atau membuat sertifikat nanti jika diperlukan.

hRootStore

Opsional. Hanya berlaku untuk aplikasi server. Tangani ke penyimpanan sertifikat yang berisi sertifikat akar yang ditandatangani sendiri untuk otoritas sertifikasi (CA) yang dipercaya oleh aplikasi. Anggota ini hanya digunakan oleh aplikasi sisi server yang memerlukan autentikasi klien.

cMappers

Dicadangkan.

aphMappers

Dicadangkan.

_HMAPPER

dwSessionLifespan

Jumlah milidetik yang disimpan Schannel dalam cache sesinya. Setelah waktu ini berlalu, koneksi baru antara klien dan server memerlukan sesi Schannel baru. Atur nilai anggota ini ke nol untuk menggunakan nilai default 360000000 milidetik (sepuluh jam).

dwFlags

Berisi bendera bit yang mengontrol perilaku Schannel. Anggota ini bisa nol atau kombinasi dari nilai berikut.

Nilai Makna
SCH_CRED_AUTO_CRED_VALIDATION
0x00000020
Hanya klien.

Bendera ini berlawanan dengan SCH_CRED_MANUAL_CRED_VALIDATION dan merupakan bagian dari perilaku default Schannel.

SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE
0x00020000
Instruksikan Schannel untuk meneruskan bendera CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL ke fungsi CertGetCertificateChain saat memvalidasi kredensial yang ditentukan selama panggilan ke AcquireCredentialsHandle (Schannel).

Windows Server 2003 dan Windows XP/2000: Bendera ini tidak didukung.

SCH_CRED_DISABLE_RECONNECTS
0x00000080
Hanya server.

Jika bendera ini diatur, maka jabat tangan penuh yang dilakukan dengan kredensial ini tidak akan memungkinkan koneksi ulang. Entri cache dibuat, sehingga sesi dapat dibuat dapat dilanjutkan nanti dengan menggunakan fungsi ApplyControlToken .

SCH_CRED_IGNORE_NO_REVOCATION_CHECK
0x00000800
Saat memeriksa sertifikat yang dicabut, abaikan kesalahan CRYPT_E_NO_REVOCATION_CHECK. Untuk pembatasan tambahan, lihat Keterangan.
SCH_CRED_IGNORE_REVOCATION_OFFLINE
0x00001000
Saat memeriksa sertifikat yang dicabut, abaikan kesalahan CRYPT_E_REVOCATION_OFFLINE. Untuk pembatasan tambahan, lihat Keterangan.
SCH_CRED_MANUAL_CRED_VALIDATION
0x00000008
Hanya klien.

Cegah Schannel memvalidasi rantai sertifikat server yang diterima.

SCH_CRED_NO_DEFAULT_CREDS
0x00000010
Hanya klien.

Cegah Schannel mencoba menyediakan rantai sertifikat secara otomatis untuk autentikasi klien.

SCH_CRED_NO_SERVERNAME_CHECK
0x00000004
Hanya klien.

Cegah Schannel membandingkan nama target yang disediakan dengan nama subjek dalam sertifikat server.

SCH_CRED_NO_SYSTEM_MAPPER
0x00000002
Hanya server.

Cegah Schannel menggunakan fungsi pemetaan sertifikat sistem bawaan untuk memetakan sertifikat klien ke akun pengguna.

SCH_CRED_REVOCATION_CHECK_CHAIN
0x00000200
Saat memvalidasi rantai sertifikat, periksa semua sertifikat untuk pencabutan. Untuk pembatasan tambahan, lihat Keterangan.
SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
0x00000400
Saat memvalidasi rantai sertifikat, jangan periksa akar untuk pencabutan. Untuk pembatasan tambahan, lihat Keterangan.
SCH_CRED_REVOCATION_CHECK_END_CERT
0x00000100
Saat memvalidasi rantai sertifikat, periksa hanya sertifikat terakhir untuk pencabutan. Untuk pembatasan tambahan, lihat Keterangan.
SCH_CRED_USE_DEFAULT_CREDS
0x00000040
Hanya klien.

Schannel mencoba untuk secara otomatis menyediakan rantai sertifikat untuk autentikasi klien. Nilai ini berlawanan dengan SCH_CRED_NO_DEFAULT_CREDS.

SCH_SEND_AUX_RECORD
0x00200000
Instruksikan Schannel untuk membagi data untuk dienkripsi menjadi dua rekaman terpisah untuk mengimbangi kelemahan yang ada dalam protokol SSL/TLS saat digunakan dengan cipher suite simetris menggunakan mode rantai blok sandi. Untuk informasi selengkapnya, lihat "Kerentanan di SSL/TLS Dapat Memungkinkan Pengungkapan Informasi" di Pangkalan Pengetahuan Bantuan dan Dukungan di http://support.microsoft.com/kb/2643584.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP dan Windows XP/2000: Bendera ini tidak didukung.

SCH_SEND_ROOT_CERT
0x00040000
Schannel mengirimkan sertifikat akar sebagai bagian dari pesan sertifikat.
Catatan Sertifikat akar yang dikirim melalui jaringan oleh klien atau server Schannel tidak dapat dipercaya. Ini harus divalidasi terhadap hash tepercaya dari sertifikat akar.
 
SCH_USE_STRONG_CRYPTO
0x00400000
Menginstruksikan Schannel untuk menonaktifkan algoritma kriptografi yang diketahui lemah, suite sandi, dan versi protokol SSL/TLS yang mungkin diaktifkan sebaliknya untuk interoperabilitas yang lebih baik.
SCH_USE_PRESHAREDKEY_ONLY
0x00800000
Menginstruksikan Schannel untuk hanya memilih suite sandi PSK dan menonaktifkan semua suite sandi lainnya.

cTlsParameters

Jumlah entri dalam array pTlsParameters.

Ini adalah kesalahan untuk menentukan lebih dari SCH_CRED_MAX_SUPPORTED_PARAMETERS.

pTlsParameters

Array pointer ke struktur TLS_PARAMETERS yang menunjukkan pembatasan parameter TLS, jika ada. Jika tidak ada batasan yang ditentukan, default sistem akan digunakan. Disarankan agar aplikasi mengandalkan default sistem.

Ini adalah kesalahan untuk menyertakan lebih dari satu struktur TLS_PARAMETERS dengan cAlpnIds == 0 dan rgstrAlpnIds == NULL.

Keterangan

Untuk menggunakan struktur SCH_CREDENTIALS, tentukan SCHANNEL_USE_BLACKLISTS bersama dengan UNICODE_STRING dan PUNICODE_STRING. Atau, termasuk Ntdef.h, SubAuth.h atau Winternl.h.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10 1809 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 1809 [hanya aplikasi desktop]
Header schannel.h

Lihat juga

CRYPTO_SETTINGS

TLS_PARAMETERS