19 #ifndef ASYLO_IDENTITY_SEALING_SGX_SGX_LOCAL_SECRET_SEALER_H_ 20 #define ASYLO_IDENTITY_SEALING_SGX_SGX_LOCAL_SECRET_SEALER_H_ 24 #include "asylo/crypto/util/byte_container_view.h" 25 #include "asylo/identity/identity.pb.h" 26 #include "asylo/identity/platform/sgx/code_identity.pb.h" 27 #include "asylo/identity/platform/sgx/sgx_identity.pb.h" 28 #include "asylo/identity/sealing/sealed_secret.pb.h" 29 #include "asylo/identity/sealing/secret_sealer.h" 30 #include "asylo/util/cleansing_types.h" 31 #include "asylo/util/status.h" 145 SgxLocalSecretSealer(
const SgxIdentityExpectation &default_client_acl);
148 SgxIdentityExpectation default_client_acl_;
Status SetDefaultHeader(SealedSecretHeader *header) const override
Generates the default sealed-secret header based on the configuration of the SecretSealer and writes ...
std::vector< EnclaveIdentityExpectation > RootAcl() const override
Gets the sealing root ACL of this SecretSealer.
Status Unseal(const SealedSecret &sealed_secret, CleansingVector< uint8_t > *secret) override
Unseals the sealed_secret and writes it to secret.
Status Seal(const SealedSecretHeader &header, ByteContainerView additional_authenticated_data, ByteContainerView secret, SealedSecret *sealed_secret) override
Seals the input per the header specification.
static std::unique_ptr< SgxLocalSecretSealer > CreateMrenclaveSecretSealer()
Creates an SgxLocalSecretSealer that seals secrets to the MRENCLAVE part of the enclave code identity...
virtual ~SgxLocalSecretSealer()=default
ABSL_CONST_INIT const char kStatusMoveAssignmentMsg[]
SgxLocalSecretSealer & operator=(const SgxLocalSecretSealer &other)=delete
StatusOr< size_t > MaxMessageSize(const SealedSecretHeader &header) const override
Gets the maximum message size (in bytes) that can be sealed according to the cipher-suite configurati...
An implementation of the SecretSealer abstract interface that binds the secrets to the enclave identi...
Definition: sgx_local_secret_sealer.h:108
StatusOr< uint64_t > MaxSealedMessages(const SealedSecretHeader &header) const override
Gets the maximum number of messages that can safely be sealed according to the cipher-suite configura...
SgxLocalSecretSealer(const SgxLocalSecretSealer &other)=delete
SealingRootType RootType() const override
Gets the sealing root type of this SecretSealer.
static std::unique_ptr< SgxLocalSecretSealer > CreateMrsignerSecretSealer()
Creates an SgxLocalSecretSealer that seals secrets to the MRSIGNER part of the enclave identity...
std::string RootName() const override
Gets the sealing root name of this SecretSealer.