pub fn tee_verify_quote(
    quote: &[u8],
    quote_collateral: Option<&[u8]>,
    expiration_check_date: i64,
    qve_report_info: Option<&mut sgx_ql_qe_report_info_t>,
    supp_data_descriptor: Option<&mut tee_supp_data_descriptor_t>
) -> Result<(u32, sgx_ql_qv_result_t), quote3_error_t>
Expand description

Perform quote verification for SGX and TDX This API works the same as the old one, but takes a new parameter to describe the supplemental data (p_supp_data_descriptor)

Param

  • quote
    SGX/TDX Quote, presented as u8 vector.
  • quote_collateral
    Quote Certification Collateral provided by the caller.
  • expiration_check_date
    This is the date that the QvE will use to determine if any of the inputted collateral have expired.
  • qve_report_info
    This parameter can be used in 2 ways.
    • If qve_report_info is NOT None, the API will use Intel QvE to perform quote verification, and QvE will generate a report using the target_info in sgx_ql_qe_report_info_t structure.
    • if qve_report_info is None, the API will use QVL library to perform quote verification, not that the results can not be cryptographically authenticated in this mode.
  • supp_datal_descriptor
    tee_supp_data_descriptor_t structure. You can specify the major version of supplemental data by setting supp_datal_descriptor.major_version If supp_datal_descriptor is None, no supplemental data is returned. If supp_datal_descriptor.major_version == 0, then return the latest version of the sgx_ql_qv_supplemental_t structure. If supp_datal_descriptor <= latest supported version, return the latest minor version associated with that major version. If supp_datal_descriptor > latest supported version, return an error SGX_QL_SUPPLEMENTAL_DATA_VERSION_NOT_SUPPORTED.

Return

Result type of (collateral_expiration_status, verification_result)

Status code of the operation, one of:

  • SGX_QL_ERROR_INVALID_PARAMETER
  • SGX_QL_QUOTE_FORMAT_UNSUPPORTED
  • SGX_QL_QUOTE_CERTIFICATION_DATA_UNSUPPORTED
  • SGX_QL_UNABLE_TO_GENERATE_REPORT
  • SGX_QL_CRL_UNSUPPORTED_FORMAT
  • SGX_QL_ERROR_UNEXPECTED