19 #ifndef ASYLO_IDENTITY_ENCLAVE_ASSERTION_AUTHORITY_H_ 20 #define ASYLO_IDENTITY_ENCLAVE_ASSERTION_AUTHORITY_H_ 24 #include "asylo/crypto/util/byte_container_util.h" 25 #include "asylo/identity/identity.pb.h" 26 #include "asylo/util/status.h" 27 #include "asylo/util/status_macros.h" 28 #include "asylo/util/statusor.h" 83 std::string serialized;
84 ASYLO_RETURN_IF_ERROR(asylo::SerializeByteContainers(
85 &serialized, EnclaveIdentityType_Name(identity_type), authority_type));
99 const AssertionDescription &description)
const {
100 return (description.identity_type() == IdentityType()) &&
101 (description.authority_type() == AuthorityType());
virtual EnclaveIdentityType IdentityType() const =0
Gets the enclave identity type handled by this assertion authority.
static StatusOr< std::string > GenerateAuthorityId(const EnclaveIdentityType &identity_type, const std::string &authority_type)
Gets a unique identifier for an EnclaveAssertionAuthority with the given identity_type and authority_...
Definition: enclave_assertion_authority.h:80
virtual bool IsInitialized() const =0
Indicates whether this assertion authority has been initialized successfully via a call to Initialize...
virtual std::string AuthorityType() const =0
Gets the type of this assertion authority.
ABSL_CONST_INIT const char kStatusMoveAssignmentMsg[]
bool IsCompatibleAssertionDescription(const AssertionDescription &description) const
Indicates whether description describes an assertion that is compatible with this authority...
Definition: enclave_assertion_authority.h:98
virtual ~EnclaveAssertionAuthority()=default
An EnclaveAssertionAuthority is an authority for assertions of a particular identity type...
Definition: enclave_assertion_authority.h:43
virtual Status Initialize(const std::string &config)=0
Initializes this assertion authority using the provided config.