Open Enclave
0.6.x
|
This file defines the programming interface for developing host applications. More...
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bits/defs.h"
#include "bits/report.h"
#include "bits/result.h"
#include "bits/types.h"
Go to the source code of this file.
Macros | |
#define | OE_ENCLAVE_FLAG_DEBUG 0x00000001u |
Flag passed into oe_create_enclave to run the enclave in debug mode. More... | |
#define | OE_ENCLAVE_FLAG_SIMULATE 0x00000002u |
Flag passed into oe_create_enclave to run the enclave in simulation mode. | |
#define | oe_get_report oe_get_report_v2 |
#define | oe_get_target_info oe_get_target_info_v2 |
Typedefs | |
typedef void(* | oe_ocall_func_t) (const uint8_t *input_buffer, size_t input_buffer_size, uint8_t *output_buffer, size_t output_buffer_size, size_t *output_bytes_written) |
Type of each function in an ocall-table. | |
typedef oe_result_t(* | oe_identity_verify_callback_t) (oe_identity_t *identity, void *arg) |
identity validation callback type More... | |
Functions | |
oe_result_t | oe_create_enclave (const char *path, oe_enclave_type_t type, uint32_t flags, const void *config, uint32_t config_size, const oe_ocall_func_t *ocall_table, uint32_t ocall_table_size, oe_enclave_t **enclave) |
Create an enclave from an enclave image file. More... | |
oe_result_t | oe_terminate_enclave (oe_enclave_t *enclave) |
Terminate an enclave and reclaims its resources. More... | |
oe_result_t | oe_get_report_v2 (oe_enclave_t *enclave, uint32_t flags, const void *opt_params, size_t opt_params_size, uint8_t **report_buffer, size_t *report_buffer_size) |
Get a report signed by the enclave platform for use in attestation. More... | |
void | oe_free_report (uint8_t *report_buffer) |
Frees a report buffer obtained from oe_get_report. More... | |
oe_result_t | oe_get_target_info_v2 (const uint8_t *report, size_t report_size, void **target_info_buffer, size_t *target_info_size) |
Extracts additional platform specific data from the report and writes it to target_info_buffer. More... | |
void | oe_free_target_info (void *target_info_buffer) |
Frees a target info obtained from oe_get_target_info. More... | |
oe_result_t | oe_parse_report (const uint8_t *report, size_t report_size, oe_report_t *parsed_report) |
Parse an enclave report into a standard format for reading. More... | |
oe_result_t | oe_verify_report (oe_enclave_t *enclave, const uint8_t *report, size_t report_size, oe_report_t *parsed_report) |
Verify the integrity of the report and its signature. More... | |
oe_result_t | oe_get_public_key_by_policy (oe_enclave_t *enclave, oe_seal_policy_t seal_policy, const oe_asymmetric_key_params_t *key_params, uint8_t **key_buffer, size_t *key_buffer_size, uint8_t **key_info, size_t *key_info_size) |
Returns a public key that is associated with the identity of the enclave and the specified policy. More... | |
oe_result_t | oe_get_public_key (oe_enclave_t *enclave, const oe_asymmetric_key_params_t *key_params, const uint8_t *key_info, size_t key_info_size, uint8_t **key_buffer, size_t *key_buffer_size) |
Returns a public key that is associated with the identity of the enclave. More... | |
void | oe_free_key (uint8_t *key_buffer, size_t key_buffer_size, uint8_t *key_info, size_t key_info_size) |
Frees the given key and/or key info. More... | |
oe_result_t | oe_verify_attestation_certificate (uint8_t *cert_in_der, size_t cert_in_der_len, oe_identity_verify_callback_t enclave_identity_callback, void *arg) |
oe_verify_attestation_certificate More... | |
This file defines the programming interface for developing host applications.