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:
- Struktur VBS_ENCLAVE_REPORT_PKG_HEADER
- Pernyataan bertanda tangan yang terdiri dari item berikut:
- Struktur VBS_ENCLAVE_REPORT
- Blok data variabel nol atau lebih yang terdiri dari item berikut:
- Struktur VBS_ENCLAVE_REPORT_VARDATA_HEADER
- Data yang dijelaskan oleh struktur VBS_ENCLAVE_REPORT_VARDATA_HEADER
- Tanda tangan
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
EnclaveVerifyAttestationReport
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