Funzione EnclaveSealData (winenclaveapi.h)
Genera un oggetto binario di grandi dimensioni crittografato (BLOB) da dati non crittografati.
Sintassi
HRESULT EnclaveSealData(
[in] const VOID *DataToEncrypt,
[in] UINT32 DataToEncryptSize,
[in] ENCLAVE_SEALING_IDENTITY_POLICY IdentityPolicy,
[in] UINT32 RuntimePolicy,
[out] PVOID ProtectedBlob,
[in] UINT32 BufferSize,
[out] UINT32 *ProtectedBlobSize
);
Parametri
[in] DataToEncrypt
Puntatore ai dati che si desidera bloccare. Questi dati possono essere archiviati all'interno dell'intervallo di indirizzi dell'enclave o all'interno dell'intervallo di indirizzi del processo host.
[in] DataToEncryptSize
Dimensioni dei dati che si desidera bloccare, in byte.
[in] IdentityPolicy
Valore che specifica il modo in cui un'altra enclave deve essere correlata all'enclave che chiama EnclaveSealData per l'enclave per annullare i dati.
[in] RuntimePolicy
Valore che indica se un enclave eseguito con il debug attivato è consentito annullare la chiamata ai dati di enclaveSealData .
Valore | Significato |
---|---|
ENCLAVE_RUNTIME_POLICY_ALLOW_FULL_DEBUG1 |
Se specificato, indica che un enclave in esecuzione con debug attivato è consentito annullare i dati. Se non specificato, indica che un enclave in esecuzione con il debug attivato non è consentito annullare i dati. Questo flag viene incluso automaticamente se l'enclave chiamante è in esecuzione con il debug attivato. |
ENCLAVE_RUNTIME_POLICY_ALLOW_DYNAMIC_DEBUG2 |
Se specificato, indica che un enclave eseguito con debug dinamico attivato è consentito annullare i dati. Se non specificato, indica che un enclave in esecuzione con debug dinamico attivato non è consentito annullare i dati. Questo flag viene incluso automaticamente se l'enclave chiamante è in esecuzione con debug dinamico attivato. |
[out] ProtectedBlob
Puntatore a un buffer in cui devono essere inseriti i dati bloccati. Questi dati possono essere archiviati all'interno dell'intervallo di indirizzi dell'enclave o all'interno dello spazio indirizzi del processo host. Se questo parametro è NULL, viene calcolata solo la dimensione del BLOB protetto.
[in] BufferSize
Puntatore a una variabile che contiene le dimensioni del buffer a cui punta il parametro ProtectedBlob . Se ProtectedBlob è NULL
, questo valore deve essere zero. Se ProtectedBlob non NULL
è e se le dimensioni dei dati crittografati sono maggiori di questo valore, si verifica un errore.
[out] ProtectedBlobSize
Puntatore a una variabile che riceve le dimensioni effettive del BLOB crittografato.
Valore restituito
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
EnclaveSealData deve essere chiamato dall'interno di un enclave ed è supportato solo all'interno di enclave con il tipo di enclave ENCLAVE_TYPE_VBS .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 versione 1709 [solo app desktop] |
Server minimo supportato | Windows Server 2016 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winenclaveapi.h |
Libreria | Vertdll.lib |
DLL | Vertdll.dll |