blob: d41fa2dcc10c57575d42522d2ae78b5e7fadc50c [file] [log] [blame] [edit]
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef VTPM_BACKENDS_VIRTUAL_ENDORSEMENT_H_
#define VTPM_BACKENDS_VIRTUAL_ENDORSEMENT_H_
#include <string>
#include <trunks/tpm_generated.h>
namespace vtpm {
// An interface that provides the information about an virtual endorsement,
// including EK and EK certificate.
class VirtualEndorsement {
public:
virtual ~VirtualEndorsement() = default;
// Creates a new virtual endorsement and memorize the data for future calls to
// getters.
virtual trunks::TPM_RC Create() = 0;
// Returns the endorsement key blob. The format is implementation-defined.
virtual std::string GetEndorsementKey() = 0;
// Returns the endorsement key certificate. The format is
// implementation-defined.
virtual std::string GetEndorsementCertificate() = 0;
};
} // namespace vtpm
#endif // VTPM_BACKENDS_VIRTUAL_ENDORSEMENT_H_