CCF
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
ccf::pal Namespace Reference

Namespaces

namespace  snp
 

Classes

class  AttestationCollateralFetchingTimeout
 
struct  AttestationMeasurement
 
struct  AttestationReportData
 
struct  is_attestation_measurement
 
struct  is_attestation_measurement< AttestationMeasurement< N, Tag > >
 
struct  MallocInfo
 
struct  PlatformAttestationMeasurement
 
struct  PlatformAttestationReportData
 
struct  UVMEndorsements
 

Typedefs

using RetrieveEndorsementCallback = std::function< void(const QuoteInfo &quote_info, const snp::EndorsementEndpointsConfiguration &config)>
 
using Mutex = std::mutex
 
using VirtualAttestationMeasurement = std::string
 
using SgxAttestationMeasurement = AttestationMeasurement< sgx_attestation_measurement_size >
 
using SnpAttestationMeasurement = AttestationMeasurement< snp_attestation_measurement_size >
 
using VirtualAttestationReportData = AttestationReportData< virtual_attestation_report_data_size >
 
using SgxAttestationReportData = AttestationReportData< sgx_attestation_report_data_size >
 
using SnpAttestationReportData = AttestationReportData< snp_attestation_report_data_size >
 

Enumerations

enum class  Platform { SGX = 0 , SNP = 1 , Virtual = 2 , Unknown = 3 }
 

Functions

template<size_t N, typename Tag = void>
void to_json (nlohmann::json &j, const AttestationMeasurement< N, Tag > &measurement)
 
template<size_t N, typename Tag = void>
void from_json (const nlohmann::json &j, AttestationMeasurement< N, Tag > &measurement)
 
template<size_t N, typename Tag = void>
void fill_json_schema (nlohmann::json &schema, const AttestationMeasurement< N, Tag > *)
 
std::string schema_name (const SgxAttestationMeasurement *)
 
std::string schema_name (const SnpAttestationMeasurement *)
 
 DECLARE_JSON_TYPE (PlatformAttestationMeasurement)
 
 DECLARE_JSON_REQUIRED_FIELDS (PlatformAttestationMeasurement, data)
 
 DECLARE_JSON_ENUM (Platform, {{Platform::SGX, "SGX"}, {Platform::SNP, "SNP"}, {Platform::Virtual, "Virtual"}, {Platform::Unknown, "Unknown"}})
 
 DECLARE_JSON_TYPE (UVMEndorsements)
 
 DECLARE_JSON_REQUIRED_FIELDS (UVMEndorsements, did, feed, svn)
 
UVMEndorsements verify_uvm_endorsements_descriptor (const std::vector< uint8_t > &uvm_endorsements_raw, const pal::PlatformAttestationMeasurement &uvm_measurement)
 

Typedef Documentation

◆ Mutex

using ccf::pal::Mutex = typedef std::mutex

Virtual enclaves and the host code share the same PAL.

◆ RetrieveEndorsementCallback

using ccf::pal::RetrieveEndorsementCallback = typedef std::function<void( const QuoteInfo& quote_info, const snp::EndorsementEndpointsConfiguration& config)>

◆ SgxAttestationMeasurement

using ccf::pal::SgxAttestationMeasurement = typedef AttestationMeasurement<sgx_attestation_measurement_size>

◆ SgxAttestationReportData

using ccf::pal::SgxAttestationReportData = typedef AttestationReportData<sgx_attestation_report_data_size>

◆ SnpAttestationMeasurement

using ccf::pal::SnpAttestationMeasurement = typedef AttestationMeasurement<snp_attestation_measurement_size>

◆ SnpAttestationReportData

using ccf::pal::SnpAttestationReportData = typedef AttestationReportData<snp_attestation_report_data_size>

◆ VirtualAttestationMeasurement

using ccf::pal::VirtualAttestationMeasurement = typedef std::string

◆ VirtualAttestationReportData

using ccf::pal::VirtualAttestationReportData = typedef AttestationReportData<virtual_attestation_report_data_size>

Enumeration Type Documentation

◆ Platform

enum class ccf::pal::Platform
strong
Enumerator
SGX 
SNP 
Virtual 
Unknown 

Function Documentation

◆ DECLARE_JSON_ENUM()

ccf::pal::DECLARE_JSON_ENUM ( Platform  ,
{{Platform::SGX, "SGX"}, {Platform::SNP, "SNP"}, {Platform::Virtual, "Virtual"}, {Platform::Unknown, "Unknown"}}   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [1/2]

ccf::pal::DECLARE_JSON_REQUIRED_FIELDS ( PlatformAttestationMeasurement  ,
data   
)

◆ DECLARE_JSON_REQUIRED_FIELDS() [2/2]

ccf::pal::DECLARE_JSON_REQUIRED_FIELDS ( UVMEndorsements  ,
did  ,
feed  ,
svn   
)

◆ DECLARE_JSON_TYPE() [1/2]

ccf::pal::DECLARE_JSON_TYPE ( PlatformAttestationMeasurement  )

◆ DECLARE_JSON_TYPE() [2/2]

ccf::pal::DECLARE_JSON_TYPE ( UVMEndorsements  )

◆ fill_json_schema()

template<size_t N, typename Tag = void>
void ccf::pal::fill_json_schema ( nlohmann::json &  schema,
const AttestationMeasurement< N, Tag > *   
)
inline

◆ from_json()

template<size_t N, typename Tag = void>
void ccf::pal::from_json ( const nlohmann::json &  j,
AttestationMeasurement< N, Tag > &  measurement 
)
inline

◆ schema_name() [1/2]

std::string ccf::pal::schema_name ( const SgxAttestationMeasurement )
inline

◆ schema_name() [2/2]

std::string ccf::pal::schema_name ( const SnpAttestationMeasurement )
inline

◆ to_json()

template<size_t N, typename Tag = void>
void ccf::pal::to_json ( nlohmann::json &  j,
const AttestationMeasurement< N, Tag > &  measurement 
)
inline

◆ verify_uvm_endorsements_descriptor()

UVMEndorsements ccf::pal::verify_uvm_endorsements_descriptor ( const std::vector< uint8_t > &  uvm_endorsements_raw,
const pal::PlatformAttestationMeasurement uvm_measurement 
)