struktur SCHANNEL_CRED (schannel.h)
Nota
Struktur SCHANNEL_CRED tidak digunakan lagi. Anda harus menggunakan SCH_CREDENTIALS sebagai gantinya.
Struktur SCHANNEL_CRED berisi data untuk kredensial Schannel.
Sintaksis
typedef struct _SCHANNEL_CRED {
DWORD dwVersion;
DWORD cCreds;
PCCERT_CONTEXT *paCred;
HCERTSTORE hRootStore;
DWORD cMappers;
_HMAPPER **aphMappers;
struct _HMAPPER;
DWORD cSupportedAlgs;
ALG_ID *palgSupportedAlgs;
DWORD grbitEnabledProtocols;
DWORD dwMinimumCipherStrength;
DWORD dwMaximumCipherStrength;
DWORD dwSessionLifespan;
DWORD dwFlags;
DWORD dwCredFormat;
} SCHANNEL_CRED, *PSCHANNEL_CRED;
Anggota
dwVersion
Atur ke SCHANNEL_CRED_VERSION.
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. Biasanya, array ini berisi satu struktur untuk setiap metode pertukaran kunci yang didukung oleh aplikasi.
Aplikasi klien sering meneruskan daftar kosong dan bergantung pada Schannel untuk menemukan sertifikat yang sesuai atau membuat sertifikat nanti jika diperlukan.
hRootStore
Fakultatif. 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
Dipesan.
aphMappers
Dipesan.
_HMAPPER
cSupportedAlgs
Jumlah algoritma dalam array palgSupportedAlgs
palgSupportedAlgs
Fakultatif. Penunjuk ke array pengidentifikasi algoritma ALG_ID yang mewakili algoritma yang didukung oleh koneksi yang dibuat dengan kredensial yang diperoleh menggunakan struktur ini. Jika cSupportedAlgs adalah nol atau palgSupportedAlgsNULL, Schannel menggunakan default sistem.
Saat ini, pengidentifikasi algoritma CALG_AES, CALG_AES_128, dan CALG_AES_256 tidak didukung.
grbitEnabledProtocols
Fakultatif. DWORD
Anggota ini hanya digunakan oleh Penyedia Protokol Keamanan Terpadu Microsoft paket keamanan.
Pengaturan registri sistem global lebih diutamakan daripada nilai ini. Misalnya, jika SSL3 dinonaktifkan di registri, SSL3 tidak dapat diaktifkan menggunakan anggota ini.
Anggota ini dapat berisi salah satu bendera berikut.
dwMinimumCipherStrength
Kekuatan sandi enkripsi massal minimum, dalam bit, diizinkan untuk koneksi.
Jika anggota ini nol, Schannel menggunakan default sistem. Jika anggota ini adalah –1, hanya suite sandi khusus MAC SSL3/TLS (juga dikenal sebagai cipher NULL) yang diaktifkan.
dwMaximumCipherStrength
Kekuatan sandi enkripsi massal maksimum, dalam bit, diizinkan untuk koneksi.
Jika anggota ini nol, Schannel menggunakan default sistem.
Jika anggota ini adalah –1, hanya suite sandi khusus MAC SSL3/TLS (juga dikenal sebagai cipher NULL) yang diaktifkan. Dalam hal ini, dwMinimumCipherStrength harus diatur ke –1.
dwSessionLifespan
Jumlah milidetik yang disimpan Schannel dalam cache sesinya. Setelah waktu ini berlalu, setiap koneksi baru antara klien dan server memerlukan sesi Schannel baru. Atur nilai anggota ini ke nol untuk menggunakan nilai default 36000000 milidetik (sepuluh jam).
dwFlags
Berisi bendera bit yang mengontrol perilaku Schannel. Anggota ini bisa nol atau kombinasi dari nilai berikut.
Nilai | Arti |
---|---|
|
Hanya klien.
Bendera ini adalah kebalikan dari SCH_CRED_MANUAL_CRED_VALIDATION dan merupakan bagian dari perilaku default Schannel. |
|
Instruksikan Schannel untuk meneruskan bendera CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL ke fungsi Windows Server 2003 dan Windows XP/2000: Bendera ini tidak didukung. |
|
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 |
|
Saat memeriksa sertifikat yang dicabut, abaikan kesalahan CRYPT_E_NO_REVOCATION_CHECK. Untuk pembatasan tambahan, lihat Komentar. |
|
Saat memeriksa sertifikat yang dicabut, abaikan kesalahan CRYPT_E_REVOCATION_OFFLINE. Untuk pembatasan tambahan, lihat Komentar. |
|
Hanya klien.
Cegah Schannel memvalidasi rantai sertifikat server yang diterima. |
|
Hanya klien.
Cegah Schannel mencoba menyediakan rantai sertifikat secara otomatis untuk autentikasi klien. |
|
Hanya klien.
Cegah Schannel membandingkan nama target yang disediakan dengan nama subjek dalam sertifikat server . |
|
Hanya server.
Cegah Schannel menggunakan fungsi pemetaan sertifikat sistem bawaan untuk memetakan sertifikat klien ke akun pengguna. |
|
Saat memvalidasi rantai sertifikat, periksa semua sertifikat untuk pencabutan. Untuk pembatasan tambahan, lihat Komentar. |
|
Saat memvalidasi rantai sertifikat, jangan periksa akar untuk pencabutan. Untuk pembatasan tambahan, lihat Komentar. |
|
Saat memvalidasi rantai sertifikat, periksa hanya sertifikat terakhir untuk pencabutan. Untuk pembatasan tambahan, lihat Komentar. |
|
Hanya klien.
Schannel mencoba untuk secara otomatis menyediakan rantai sertifikat untuk autentikasi klien. Nilai ini berlawanan dengan SCH_CRED_NO_DEFAULT_CREDS. |
|
Instruksikan Schannel untuk membagi data untuk dienkripsi menjadi dua rekaman terpisah untuk melawan kelemahan yang ada dalam protokol SSL/TLS ketika digunakan dengan rangkaian sandi konten menggunakan mode rantai blok sandi. Untuk informasi selengkapnya, lihat kerentanan di SSL/TLS Dapat Memungkinkan Pengungkapan Informasi.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP dan Windows XP/2000: Bendera ini tidak didukung. |
|
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.
|
|
Menginstruksikan Schannel untuk menonaktifkan algoritma kriptografi yang diketahui lemah, suite sandi, dan versi protokol SSL/TLS yang mungkin diaktifkan untuk interoperabilitas yang lebih baik. |
|
Menginstruksikan Schannel untuk hanya memilih suite sandi PSK dan menonaktifkan semua suite sandi lainnya. |
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.
Komentar
Bendera pencabutan sertifikat berikut saling eksklusif.
- SCH_CRED_REVOCATION_CHECK_CHAIN
- SCH_CRED_REVOCATION_CHECK_END_CERT
- SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
Untuk menyesuaikan pelaporan kesalahan pencabutan sertifikat untuk Schannel, gunakan bendera berikut:
- SCH_CRED_IGNORE_NO_REVOCATION_CHECK
- SCH_CRED_IGNORE_REVOCATION_OFFLINE
Ketika Schannel memeriksa status pencabutan rantai sertifikat, bendera ini menginstruksikannya untuk mengabaikan kesalahan CRYPT_E_NO_REVOCATION_CHECK dan CRYPT_E_REVOCATION_OFFLINE. Bendera ini diabaikan jika tidak ada bendera pencabutan sertifikat yang diatur.
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 8.1 [khusus aplikasi desktop] |
server minimum yang didukung |
Windows Server 2012 R2 [hanya aplikasi desktop] |
Header |
schannel.h (termasuk Schnlsp.h) |