Microsoft.Windows.VbsEnclave.SDK 0.2.260223.1 (original) (raw)

Vbs Enclave Implementation Library

Supported Languages

  1. C++ (20 and above)

Introduction

Note veil stands for "Vbs Enclave Implementation Library"

This solution contains all the source code related to the veil SDK. The SDK produces a 3 static libraries one for the hostApp, one for the enclave and one for C++ support within an enclave. These are called veil_host_lib ,veil_enclave_lib and veil_enclave_cpp_support_lib respectively.

The veil_nuget project is used to build and create theMicrosoft.Windows.VbsEnclave.SDK nuget package. To build this solution you must first build the VbsEnclaveTooling solution in the root of the repository. This will generate the Microsoft.Windows.VbsEnclave.CodeGenerator nuget package that the SDK needs to consume. Once that is done you will only need to build this solution. when needing to build the SDK nuget package.

You can view the SDK's usage patterns in the SampleApps solution here

Consuming the SDK nuget package

Once the nuget package is built you can consume the .nupkg file that is generated in the VbsEnclaveSdk\_build folder inside your hostApp or enclave project.

In a <PropertyGroup /> in your enclave projects .vcxproj or .props file use:<VbsEnclaveVirtualTrustLayer>Enclave</VbsEnclaveVirtualTrustLayer>

If you wish to add the veil_enclave_cpp_support_lib.lib static lib to your enclaves build add <VbsEnclaveConsumeCppSupportLib>true</VbsEnclaveConsumeCppSupportLib> to a <PropertyGroup /> in your projects .vcxproj or .props file.

In a <PropertyGroup /> your hostApp projects .vcxproj or .props file use:<VbsEnclaveVirtualTrustLayer>HostApp</VbsEnclaveVirtualTrustLayer>

Supported features

  1. "Taskpool" support for the enclave by the HostApp. The enclave can now queue work onto vtl0 threads easily using veil::future/veil::promise behavior.
  2. Bcrypt wrapper methods to make encryption/decryption code easier to write.
  3. User binding of VBS enclaves is supported and requires Microsoft.Windows.SDK.CPP version 10.0.26100.7463 or later.

SDK Dependencies

The SDK now includes Microsoft.Windows.SDK.CPP version 10.0.26100.7463 as a dependency to provide access to the latest user binding APIs. This ensures that all user binding functionality is available out-of-the-box when consuming the VBS Enclave SDK.

Product Compatible and additional computed target framework versions.
native native is compatible.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.