enumerasi EOLE_AUTHENTICATION_CAPABILITIES (objidl.h)
Menentukan berbagai kemampuan dalam CoInitializeSecurity dan IClientSecurity::SetBlanket (atau fungsi pembantunya CoSetProxyBlanket).
Sintaks
typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
EOAC_NONE = 0,
EOAC_MUTUAL_AUTH = 0x1,
EOAC_STATIC_CLOAKING = 0x20,
EOAC_DYNAMIC_CLOAKING = 0x40,
EOAC_ANY_AUTHORITY = 0x80,
EOAC_MAKE_FULLSIC = 0x100,
EOAC_DEFAULT = 0x800,
EOAC_SECURE_REFS = 0x2,
EOAC_ACCESS_CONTROL = 0x4,
EOAC_APPID = 0x8,
EOAC_DYNAMIC = 0x10,
EOAC_REQUIRE_FULLSIC = 0x200,
EOAC_AUTO_IMPERSONATE = 0x400,
EOAC_DISABLE_AAA = 0x1000,
EOAC_NO_CUSTOM_MARSHAL = 0x2000,
EOAC_RESERVED1 = 0x4000
} EOLE_AUTHENTICATION_CAPABILITIES;
Konstanta
EOAC_NONE Nilai: 0 Menunjukkan bahwa tidak ada bendera kemampuan yang diatur. |
EOAC_MUTUAL_AUTH Nilai: 0x1 Jika bendera ini ditentukan, bendera ini akan diabaikan. Dukungan untuk autentikasi timbal balik secara otomatis disediakan oleh beberapa layanan autentikasi. Lihat COM dan Paket Keamanan untuk informasi selengkapnya. |
EOAC_STATIC_CLOAKING Nilai: 0x20 Mengatur penyelubungan statis. Ketika bendera ini diatur, DCOM menggunakan token utas (jika ada) saat menentukan identitas klien. Namun, identitas klien ditentukan pada panggilan pertama pada setiap proksi (jika SetBlanket tidak dipanggil) dan setiap kali CoSetProxyBlanket dipanggil pada proksi. Untuk informasi selengkapnya tentang penyelubungan statis, lihat Cloaking. CoInitializeSecurity dan IClientSecurity::SetBlanket mengembalikan kesalahan jika kedua bendera kloning diatur atau jika salah satu bendera diatur saat Schannel adalah layanan autentikasi. |
EOAC_DYNAMIC_CLOAKING Nilai: 0x40 Mengatur penyelubungan dinamis. Ketika bendera ini diatur, DCOM menggunakan token utas (jika ada) saat menentukan identitas klien. Pada setiap panggilan ke proksi, token utas saat ini diperiksa untuk menentukan apakah identitas klien telah berubah (menimbulkan biaya performa tambahan) dan klien diautentikasi lagi hanya jika perlu. Penyelubungan dinamis hanya dapat diatur oleh klien. Untuk informasi selengkapnya tentang penyelubungan dinamis, lihat Cloaking. CoInitializeSecurity dan IClientSecurity::SetBlanket mengembalikan kesalahan jika kedua bendera kloning diatur atau jika salah satu bendera diatur saat Schannel adalah layanan autentikasi. |
EOAC_ANY_AUTHORITY Nilai: 0x80 Bendera ini usang. |
EOAC_MAKE_FULLSIC Nilai: 0x100 Menyebabkan DCOM mengirim nama utama server Schannel dalam format penuh ke klien sebagai bagian dari negosiasi keamanan default. Nama diekstrak dari sertifikat server. Untuk informasi selengkapnya tentang formulir fullsic, lihat Nama Utama. |
EOAC_DEFAULT Nilai: 0x800 Memberi tahu DCOM untuk menggunakan kemampuan yang valid dari panggilan ke CoInitializeSecurity. Jika CoInitializeSecurity tidak dipanggil, EOAC_NONE akan digunakan untuk bendera kemampuan. Bendera ini hanya dapat diatur oleh klien dalam panggilan ke IClientSecurity::SetBlanket atau CoSetProxyBlanket. |
EOAC_SECURE_REFS Nilai: 0x2 Mengautentikasi panggilan jumlah referensi terdistribusi untuk mencegah pengguna jahat melepaskan objek yang masih digunakan. Jika bendera ini diatur, yang hanya dapat dilakukan dalam panggilan ke CoInitializeSecurity oleh klien, tingkat autentikasi (di dwAuthnLevel) tidak dapat diatur ke tidak ada. Server selalu mengautentikasi panggilan Rilis. Mengatur bendera ini mencegah klien terautentikasi melepaskan objek klien lain yang diautentikasi. Disarankan agar klien selalu menetapkan bendera ini, meskipun performa terpengaruh karena overhead yang terkait dengan keamanan ekstra. |
EOAC_ACCESS_CONTROL Nilai: 0x4 Menunjukkan bahwa parameter pSecDesc ke CoInitializeSecurity adalah penunjuk ke antarmuka IAccessControl pada objek kontrol akses. Ketika DCOM melakukan pemeriksaan keamanan, DCOM memanggil IAccessControl::IsAccessAllowed. Bendera ini hanya diatur oleh server. CoInitializeSecurity mengembalikan kesalahan jika bendera EOAC_APPID dan EOAC_ACCESS_CONTROL diatur. |
EOAC_APPID Nilai: 0x8 Menunjukkan bahwa parameter pSecDesc ke CoInitializeSecurity adalah penunjuk ke GUID yang merupakan AppID. Fungsi CoInitializeSecurity mencari AppID di registri dan membaca pengaturan keamanan dari sana. Jika bendera ini diatur, semua parameter lain ke CoInitializeSecurity diabaikan dan harus nol. Hanya server yang dapat mengatur bendera ini. Untuk informasi selengkapnya tentang bendera kemampuan ini, lihat bagian Keterangan di bawah ini. CoInitializeSecurity mengembalikan kesalahan jika bendera EOAC_APPID dan EOAC_ACCESS_CONTROL diatur. |
EOAC_DYNAMIC Nilai: 0x10 Dicadangkan. |
EOAC_REQUIRE_FULLSIC Nilai: 0x200 Menyebabkan DCOM gagal dalam panggilan CoSetProxyBlanket di mana nama utama Schannel ditentukan dalam format apa pun selain fullsic. Bendera ini saat ini hanya untuk klien. Untuk informasi selengkapnya tentang formulir fullsic, lihat Nama Utama. |
EOAC_AUTO_IMPERSONATE Nilai: 0x400 Dicadangkan. |
EOAC_DISABLE_AAA Nilai: 0x1000 Menyebabkan aktivasi di mana proses server akan diluncurkan di bawah identitas pemanggil (aktifkan sebagai aktivator) gagal dengan E_ACCESSDENIED. Nilai ini, yang hanya dapat ditentukan dalam panggilan ke CoInitializeSecurity oleh klien, memungkinkan aplikasi yang berjalan di bawah akun istimewa (seperti LocalSystem) untuk membantu mencegah identitasnya digunakan untuk meluncurkan komponen yang tidak tepercaya. Panggilan aktivasi yang menggunakan CLSCTX_ENABLE_AAA enumerasi CLSCTX akan memungkinkan aktivasi aktif sebagai aktivator untuk panggilan tersebut. |
EOAC_NO_CUSTOM_MARSHAL Nilai: 0x2000 Menentukan bendera ini membantu melindungi keamanan server saat menggunakan DCOM atau COM+. Ini mengurangi kemungkinan mengeksekusi DLL arbitrer karena memungkinkan marsekal hanya CLSID yang diimplementasikan dalam Ole32.dll, ComAdmin.dll, ComSvcs.dll, atau Es.dll, atau yang mengimplementasikan ID kategori CATID_MARSHALER. Layanan apa pun yang penting untuk operasi sistem harus mengatur bendera ini. |
EOAC_RESERVED1 Nilai: 0x4000 |
Keterangan
Saat bendera EOAC_APPID diatur, CoInitializeSecurity mencari tingkat autentikasi di bawah AppID. Jika tingkat autentikasi tidak ditemukan, tingkat autentikasi default akan ditemukan. Jika tingkat autentikasi default tidak ditemukan, tingkat autentikasi default akan dihasilkan. Jika tingkat autentikasi tidak RPC_C_AUTHN_LEVEL_NONE, CoInitializeSecurity mencari nilai izin akses di bawah AppID. Jika tidak ditemukan, ia mencari nilai izin akses default. Jika tidak ditemukan, maka akan menghasilkan izin akses default. Semua pengaturan keamanan lainnya ditentukan dengan cara yang sama seperti untuk aplikasi warisan.
Jika AppID ADALAH NULL, CoInitializeSecurity mencari nama .exe aplikasi di registri dan menggunakan AppID yang disimpan di sana. Jika AppID tidak ada, default komputer akan digunakan.
Metode IClientSecurity::SetBlanket dan fungsi CoSetProxyBlanket mengembalikan kesalahan jika salah satu bendera berikut diatur dalam parameter kemampuan: EOAC_SECURE_REFS, EOAC_ACCESS_CONTROL, EOAC_APPID, EOAC_DYNAMIC, EOAC_REQUIRE_FULLSIC, EOAC_DISABLE_AAA, atau EOAC_NO_CUSTOM_MARSHAL.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | objidl.h (termasuk Objidl.h) |