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)

Lihat juga

CoInitializeSecurity

CoSetProxyBlanket

IAccessControl

IClientSecurity::SetBlanket