19 #ifndef ASYLO_IDENTITY_ATTESTATION_SGX_SGX_INTEL_ECDSA_QE_REMOTE_ASSERTION_GENERATOR_H_ 20 #define ASYLO_IDENTITY_ATTESTATION_SGX_SGX_INTEL_ECDSA_QE_REMOTE_ASSERTION_GENERATOR_H_ 25 #include "asylo/crypto/certificate_util.h" 26 #include "asylo/identity/additional_authenticated_data_generator.h" 27 #include "asylo/identity/attestation/enclave_assertion_generator.h" 28 #include "asylo/identity/attestation/sgx/internal/dcap_library_interface.h" 29 #include "asylo/identity/attestation/sgx/internal/intel_architectural_enclave_interface.h" 30 #include "asylo/identity/attestation/sgx/sgx_intel_ecdsa_qe_remote_assertion_authority_config.pb.h" 31 #include "asylo/identity/identity.pb.h" 32 #include "asylo/identity/platform/sgx/internal/hardware_interface.h" 33 #include "asylo/util/mutex_guarded.h" 34 #include "asylo/util/status.h" 35 #include "asylo/util/statusor.h" 62 std::unique_ptr<AdditionalAuthenticatedDataGenerator> aad_generator,
63 std::unique_ptr<asylo::sgx::IntelArchitecturalEnclaveInterface>
65 std::unique_ptr<sgx::HardwareInterface> hardware_interface);
86 bool is_initialized =
false;
89 Status ReadCertificationData(
90 const SgxIntelEcdsaQeRemoteAssertionAuthorityConfig &config)
const;
92 MutexGuarded<Members> members_;
~SgxIntelEcdsaQeRemoteAssertionGenerator() override=default
std::string AuthorityType() const override
Gets the type of this assertion authority.
bool IsInitialized() const override
Indicates whether this assertion authority has been initialized successfully via a call to Initialize...
Status CreateAssertionOffer(AssertionOffer *offer) const override
Creates an assertion offer compatible with this generator's identity type and authority type and plac...
Status Initialize(const std::string &config) override
Initializes this assertion authority using the provided config.
ABSL_CONST_INIT const char kStatusMoveAssignmentMsg[]
Status Generate(const std::string &user_data, const AssertionRequest &request, Assertion *assertion) const override
Generates an assertion that satisfies the given request, if request is compatible with this generator...
EnclaveIdentityType IdentityType() const override
Gets the enclave identity type handled by this assertion authority.
StatusOr< bool > CanGenerate(const AssertionRequest &request) const override
Indicates whether the assertion requested in request can be generated by this generator.
SgxIntelEcdsaQeRemoteAssertionGenerator(std::unique_ptr< AdditionalAuthenticatedDataGenerator > aad_generator, std::unique_ptr< asylo::sgx::IntelArchitecturalEnclaveInterface > intel_enclaves, std::unique_ptr< sgx::HardwareInterface > hardware_interface)
Implementation of EnclaveAssertionGenerator that generates assertions using the Intel ECDSA quoting e...
Definition: sgx_intel_ecdsa_qe_remote_assertion_generator.h:43
SgxIntelEcdsaQeRemoteAssertionGenerator()