ENCLAVE_IDENTITY structure (ntenclv.h)

Describes the identity of the primary module of an enclave.

Syntax

typedef struct ENCLAVE_IDENTITY {
  UINT8  OwnerId[IMAGE_ENCLAVE_LONG_ID_LENGTH];
  UINT8  UniqueId[IMAGE_ENCLAVE_LONG_ID_LENGTH];
  UINT8  AuthorId[IMAGE_ENCLAVE_LONG_ID_LENGTH];
  UINT8  FamilyId[IMAGE_ENCLAVE_SHORT_ID_LENGTH];
  UINT8  ImageId[IMAGE_ENCLAVE_SHORT_ID_LENGTH];
  UINT32 EnclaveSvn;
  UINT32 SecureKernelSvn;
  UINT32 PlatformSvn;
  UINT32 Flags;
  UINT32 SigningLevel;
  UINT32 EnclaveType;
} ENCLAVE_IDENTITY;

Members

OwnerId[IMAGE_ENCLAVE_LONG_ID_LENGTH]

The identifier of the owner for the enclave.

UniqueId[IMAGE_ENCLAVE_LONG_ID_LENGTH]

The unique identifier of the primary module for the enclave.

AuthorId[IMAGE_ENCLAVE_LONG_ID_LENGTH]

The author identifier of the primary module for the enclave.

FamilyId[IMAGE_ENCLAVE_SHORT_ID_LENGTH]

The family identifier of the primary module for the enclave.

ImageId[IMAGE_ENCLAVE_SHORT_ID_LENGTH]

The image identifier of the primary module for the enclave.

EnclaveSvn

The security version number of the primary module for the enclave.

SecureKernelSvn

The security version number of the Virtual Secure Mode (VSM) kernel.

PlatformSvn

The security version number of the platform that hosts the enclave.

Flags

Flags that describe the runtime policy for the enclave.

Value Meaning
ENCLAVE_FLAG_FULL_DEBUG_ENABLED
0x00000001
The enclave supports debugging.
ENCLAVE_FLAG_DYNAMIC_DEBUG_ENABLED
0x00000002
The enclave supports dynamic debugging.
ENCLAVE_FLAG_DYNAMIC_DEBUG_ACTIVE
0x00000004
Dynamic debugging is turned on for the enclave.

SigningLevel

The signing level of the primary module for the enclave.

EnclaveType

Requirements

Requirement Value
Minimum supported client Windows 10, version 1709 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Header ntenclv.h

See also

VBS_ENCLAVE_REPORT

Enclave Structures