Fungsi EnclaveGetAttestationReport (winenclaveapi.h)

Mendapatkan laporan pengesahan enklave yang menjelaskan enklave saat ini dan ditandatangani oleh otoritas yang bertanggung jawab atas jenis enklave.

Sintaks

HRESULT EnclaveGetAttestationReport(
  [in, optional] const UINT8 [ENCLAVE_REPORT_DATA_LENGTH] EnclaveData,
  [out]          PVOID                                    Report,
  [in]           UINT32                                   BufferSize,
  [out]          UINT32                                   *OutputSize
);

Parameter

[in, optional] EnclaveData

Penunjuk ke buffer data 64 byte yang ingin dimasukkan enklave ke dalam laporan yang ditandatangani. Misalnya, buffer ini dapat menyertakan nonce 256-bit yang disediakan pihak yang mengandalkan, diikuti oleh hash SHA-256 dari data tambahan yang ingin disampaikan enklave, seperti kunci umum yang sesuai dengan kunci privat yang dimiliki enklave. Jika parameter ini adalah NULL, bidang laporan yang sesuai diisi dengan nol.

[out] Report

Penunjuk ke buffer tempat laporan harus ditempatkan. Laporan ini dapat disimpan baik dalam rentang alamat enklave atau dalam ruang alamat proses host. Tentukan NULL untuk menunjukkan bahwa hanya ukuran buffer yang diperlukan untuk output yang harus dihitung, dan bukan laporan itu sendiri.

[in] BufferSize

Ukuran buffer tempat parameter Laporan menunjuk. Jika Laporan adalah NULL, BufferSize harus nol. Jika Laporan bukan NULL, dan jika ukuran laporan lebih besar dari nilai ini, kesalahan akan dikembalikan.

[out] OutputSize

Penunjuk ke variabel yang menerima ukuran laporan.

Menampilkan nilai

Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

EnclaveGetAttestationReport harus dipanggil dari dalam enklave.

EnclaveGetAttestationReport saat ini tidak didukung untuk enklave dengan jenis ENCLAVE_TYPE_SGX. Untuk enklave VBS, laporan yang ditandatangani EnclaveGetAttestationReport menggunakan kunci khusus VBS.

Laporan pengesahan enklave berisi identitas semua kode yang dimuat ke dalam enklave, serta kebijakan yang mengontrol bagaimana enklave berjalan, seperti apakah enklave berjalan dengan akses debugger aktif. Laporan ini juga mencakup sejumlah kecil informasi yang dihasilkan enklave untuk digunakan dalam protokol pertukaran kunci.

Laporan yang dihasilkan EnclaveGetAttestationReport terdiri dari item berikut:

Laporan pengesahan enklave memberikan bukti bahwa kode tertentu berjalan dengan enklave. Jika entitas validasi juga mendapatkan bukti bahwa sistem host berjalan dengan VBS diaktifkan, entitas tersebut dapat menggunakan bukti tersebut bersama dengan laporan pengesahan enklave untuk memverifikasi bahwa enklave tertentu, yang diisi dengan kode tertentu, telah dimuat.

Persyaratan

   
Klien minimum yang didukung Windows 10, versi 1709 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2016 [hanya aplikasi desktop]
Target Platform Windows
Header winenclaveapi.h
Pustaka Vertdll.lib
DLL Vertdll.dll

Lihat juga

Fungsi Enklave

EnclaveVerifyAttestationReport

VBS_ENCLAVE_REPORT

VBS_ENCLAVE_REPORT_PKG_HEADER

VBS_ENCLAVE_REPORT_VARDATA_HEADER

Api Vertdll tersedia di enklave VBS