struktur SCHANNEL_CRED (schannel.h)
Catatan
Struktur SCHANNEL_CRED tidak digunakan lagi. Anda harus menggunakan SCH_CREDENTIALS sebagai gantinya.
Struktur SCHANNEL_CRED berisi data untuk kredensial Schannel.
Sintaks
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 pointer 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
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
cSupportedAlgs
Jumlah algoritma dalam array palgSupportedAlgs .
palgSupportedAlgs
Opsional. 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 palgSupportedAlgs adalah NULL, Schannel menggunakan default sistem.
Saat ini, pengidentifikasi algoritma CALG_AES, CALG_AES_128, dan CALG_AES_256 tidak didukung.
grbitEnabledProtocols
Pilihan. DWORD yang berisi string bit yang mewakili protokol yang didukung oleh koneksi yang dibuat dengan kredensial yang diperoleh dengan menggunakan struktur ini. Jika anggota ini nol, Schannel memilih protokol. Untuk pengembangan baru, aplikasi harus mengatur grbitEnabledProtocols ke nol dan menggunakan versi protokol yang diaktifkan pada sistem secara default.
Anggota ini hanya digunakan oleh paket keamanan Penyedia Protokol Keamanan Terpadu Microsoft.
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 SSL3/TLS MAC (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 SSL3/TLS MAC (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, 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 | Makna |
---|---|
|
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 CertGetCertificateChain saat memvalidasi kredensial yang ditentukan selama panggilan ke AcquireCredentialsHandle (Schannel).
Windows Server 2003 dan Windows XP/2000: Bendera ini tidak didukung. |
|
Server saja.
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 . |
|
Saat memeriksa sertifikat yang dicabut, abaikan kesalahan CRYPT_E_NO_REVOCATION_CHECK. Untuk pembatasan tambahan, lihat Keterangan. |
|
Saat memeriksa sertifikat yang dicabut, abaikan kesalahan CRYPT_E_REVOCATION_OFFLINE. Untuk pembatasan tambahan, lihat Keterangan. |
|
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. |
|
Server saja.
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 Keterangan. |
|
Saat memvalidasi rantai sertifikat, jangan periksa akar untuk pencabutan. Untuk pembatasan tambahan, lihat Keterangan. |
|
Saat memvalidasi rantai sertifikat, periksa hanya sertifikat terakhir untuk pencabutan. Untuk pembatasan tambahan, lihat Keterangan. |
|
Hanya klien.
Schannel mencoba untuk secara otomatis menyediakan rantai sertifikat untuk autentikasi klien. Nilai ini adalah kebalikan dari 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 saat digunakan dengan rangkaian sandi simetris menggunakan mode rantai blok cipher. Untuk informasi selengkapnya, lihat "Kerentanan dalam 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. |
|
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 sebaliknya 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.
Nilai | Makna |
---|---|
|
Anggota paCred dari struktur SCHANNEL_CRED yang diteruskan harus menjadi penunjuk ke array byte panjang 20 yang berisi thumbprint sertifikat. Sertifikat diasumsikan berada di penyimpanan "MY" komputer lokal. |
|
Anggota paCred dari struktur SCHANNEL_CRED menunjuk ke struktur SCHANNEL_CERT_HASH_STORE . |
Keterangan
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 ditetapkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8.1 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 R2 [hanya aplikasi desktop] |
Header | schannel.h (termasuk Schnlsp.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk