Microsoft.Windows.VbsEnclave.SDK
0.0.2-prerelease.250520.3
Prefix Reserved
Requires NuGet 2.5 or higher.
dotnet add package Microsoft.Windows.VbsEnclave.SDK --version 0.0.2-prerelease.250520.3
NuGet\Install-Package Microsoft.Windows.VbsEnclave.SDK -Version 0.0.2-prerelease.250520.3
<PackageReference Include="Microsoft.Windows.VbsEnclave.SDK" Version="0.0.2-prerelease.250520.3" />
<PackageVersion Include="Microsoft.Windows.VbsEnclave.SDK" Version="0.0.2-prerelease.250520.3" />
<PackageReference Include="Microsoft.Windows.VbsEnclave.SDK" />
paket add Microsoft.Windows.VbsEnclave.SDK --version 0.0.2-prerelease.250520.3
#r "nuget: Microsoft.Windows.VbsEnclave.SDK, 0.0.2-prerelease.250520.3"
#addin nuget:?package=Microsoft.Windows.VbsEnclave.SDK&version=0.0.2-prerelease.250520.3&prerelease
#tool nuget:?package=Microsoft.Windows.VbsEnclave.SDK&version=0.0.2-prerelease.250520.3&prerelease
Vbs Enclave Implementation Library
Supported Languages
- 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 the
Microsoft.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>
- This will add the
veil_enclave_lib
andveil_enclave_cpp_support_lib
static libs to your enclaves dll at build time.
In a <PropertyGroup />
your hostApp projects .vcxproj or .props file use:
<VbsEnclaveVirtualTrustLayer>HostApp</VbsEnclaveVirtualTrustLayer>
- This will add the
veil_host_lib
static lib to your hostApps dll at build time.
Supported features
- "Taskpool" support for the enclave by the HostApp. The enclave can now queue work onto vtl0 threads easily using veil::future/veil::promise behavior.
- Bcrypt wrapper methods to make encryption/decryption code easier to write.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
native | native is compatible. |
-
native 0.0
- Microsoft.Windows.ImplementationLibrary (>= 1.0.240803.1)
- MsGsl (>= 3.1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.0.2-prerelease.250520.3 | 122 | 5/20/2025 |