19 #ifndef ASYLO_IDENTITY_ATTESTATION_SGX_SGX_AGE_REMOTE_ASSERTION_VERIFIER_H_ 20 #define ASYLO_IDENTITY_ATTESTATION_SGX_SGX_AGE_REMOTE_ASSERTION_VERIFIER_H_ 26 #include "asylo/crypto/certificate.pb.h" 27 #include "asylo/crypto/certificate_interface.h" 28 #include "asylo/crypto/certificate_util.h" 29 #include "asylo/identity/attestation/enclave_assertion_verifier.h" 30 #include "asylo/identity/identity.pb.h" 31 #include "asylo/identity/identity_acl.pb.h" 32 #include "asylo/util/mutex_guarded.h" 33 #include "asylo/util/status.h" 34 #include "asylo/util/statusor.h" 44 class SgxAgeRemoteAssertionVerifier
final :
public EnclaveAssertionVerifier {
78 std::unique_ptr<CertificateInterface> intel_root_certificate;
81 CertificateInterfaceVector additional_root_certificates;
84 IdentityAclPredicate age_identity_expectation;
87 AssertionRequest assertion_request;
92 Members() : initialized(
false) {}
95 MutexGuarded<Members> members_;
EnclaveIdentityType IdentityType() const override
Gets the enclave identity type handled by this assertion authority.
std::string AuthorityType() const override
Gets the type of this assertion authority.
Status Verify(const std::string &user_data, const Assertion &assertion, EnclaveIdentity *peer_identity) const override
Verifies an assertion that is compatible with this verifier's identity type and authority type...
bool IsInitialized() const override
Indicates whether this assertion authority has been initialized successfully via a call to Initialize...
ABSL_CONST_INIT const char kStatusMoveAssignmentMsg[]
SgxAgeRemoteAssertionVerifier()=default
Constructs an uninitialized SgxAgeRemoteAssertionVerifier.
Status CreateAssertionRequest(AssertionRequest *request) const override
Creates an assertion request compatible with this verifier's identity type and authority type and pla...
Status Initialize(const std::string &config) override
Initializes this assertion authority using the provided config.
StatusOr< bool > CanVerify(const AssertionOffer &offer) const override
Indicates whether the assertion offered in offer can be verified by this verifier.