# VBS enclave tooling

A code generator and SDK, distributed as NuGet packages, that make it easier to build features that call into and out of a VBS (virtualization-based security) enclave on Windows, for C++ and Rust host applications.

This repository provides a `CodeGenerator` and an `SDK` NuGet package for building applications that interact with a VBS enclave on Windows. The code generator uses Google Flatbuffers, added through vcpkg, to marshal data into and out of the enclave.

C++20 is supported for both the host application and the enclave itself, C++17 only for the host side, and Rust 1.88 and newer is supported for both. The tooling targets Windows 11 24H2 and requires a matching Windows SDK version, which the SDK package pulls in automatically as a dependency for the newer user-binding APIs.

Building the repository itself requires integrating vcpkg into Visual Studio and running a PowerShell build script, which produces the `CodeGenerator` and `SDK` NuGet packages; the project builds only for x64 and arm64.

Website: https://github.com/microsoft/VbsEnclaveTooling
