Skip to content

Is my SGX quote verification really working ? #441

@aghia98

Description

@aghia98

Hi,
I am executing the SampleCode/QuoteVerificationSample code to verify a quote on an Azure VM (Standard DC2s_v2).
The thing is, the provided code is not working (compilation errors) as it is and needs some slight modifications:

  • Comment the line #include "sgx_default_quote_provider.h" (because it does not recognize the file),
  • Replace success codes such as TEE_SUCCESS by SGX_SUCCESS (as suggested by the compiler),
  • Replace verification result codes such as TEE_XX by SGX_QL_XX (XX being any verification result).

After the former modification and the execution of ./app -quote quote.dat, I have the following result:

[APP] Info: ECDSA quote path: quote.dat
[APP] Trusted quote verification:
[APP] Info: get target info successfully returned.
[APP] Info: sgx_qv_set_enclave_load_policy successfully returned.
[APP] Info: tee_get_quote_supplemental_data_version_and_size successfully returned.
[APP] Info: latest supplemental data major version: 3, minor version: 3, size: 536
Azure Quote Provider: libdcap_quoteprov.so [ERROR]: Could not retrieve environment variable for 'AZDCAP_DEBUG_LOG_LEVEL'
[APP] Info: App: tee_verify_quote successfully returned.
[APP] Info: Ecall: Verify QvE report and identity successfully returned.
[APP] Warning: App: Verification completed with Non-terminal result: a007
[APP] Info: Supplemental data Major Version: 3
[APP] Info: Supplemental data Minor Version: 3

===========================================

[APP] Untrusted quote verification:
[APP] Info: tee_get_quote_supplemental_data_version_and_size successfully returned.
[APP] Info: latest supplemental data major version: 3, minor version: 3, size: 536
[APP] Info: App: tee_verify_quote successfully returned.
[APP] Warning: App: Verification completed with Non-terminal result: a007
[APP] Info: Supplemental data Major Version: 3
[APP] Info: Supplemental data Minor Version: 3

I do not know how to interpret these results. The tee_verify_quote successfully returned suggests me that the verification works correctly. However, the amount of undocumented modifications I have introduced in the code as well as the non-terminal returned result (a007) give me doubts.

Can you help me to clarify the situation ?

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions