azure-protected-vm-secrets/Tss2Wrapper.h (17 lines of code) (raw):
#pragma once
#include "TssCtx.h"
#include <vector>
#include <memory>
class Tss2Wrapper
{
public:
Tss2Wrapper();
~Tss2Wrapper() {}
std::vector<unsigned char> Tss2RsaDecrypt(std::vector<unsigned char> const&encryptedData);
std::vector<unsigned char> Tss2RsaEncrypt(std::vector<unsigned char> const&plaintextData);
TPM2B_PUBLIC* GenerateGuestKey();
TPM2_RC RemoveKey();
bool IsKeyPresent();
private:
std::unique_ptr<TssCtx> ctx;
};