| 
    Open Enclave
    0.13.0
    
   | 
 
This file defines the programming interface for developing enclaves. More...
#include <openenclave/bits/asym_keys.h>#include "bits/defs.h"#include "bits/evidence.h"#include "bits/exception.h"#include "bits/fs.h"#include "bits/module.h"#include "bits/properties.h"#include "bits/result.h"#include "bits/types.h"
Go to the source code of this file.
Macros | |
| #define | sscanf_s sscanf | 
| #define | oe_assert(EXPR) | 
| Evaluates assertion.  More... | |
| #define | oe_get_report oe_get_report_v2 | 
| #define | oe_get_target_info oe_get_target_info_v2 | 
| #define | oe_get_seal_key_by_policy oe_get_seal_key_by_policy_v2 | 
| #define | oe_get_seal_key oe_get_seal_key_v2 | 
Typedefs | |
| 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_add_vectored_exception_handler (bool is_first_handler, oe_vectored_exception_handler_t vectored_handler) | 
| OP-TEE provides single-threaded enclaves only, and its ELF loader does not support thread-local relocations.  More... | |
| oe_result_t | oe_remove_vectored_exception_handler (oe_vectored_exception_handler_t vectored_handler) | 
| Remove an existing vectored exception handler.  More... | |
| bool | oe_is_within_enclave (const void *ptr, size_t size) | 
| Check whether the given buffer is strictly within the enclave.  More... | |
| bool | oe_is_outside_enclave (const void *ptr, size_t size) | 
| Check whether the given buffer is strictly outside the enclave.  More... | |
| void * | oe_host_malloc (size_t size) | 
| Allocate bytes from the host's heap.  More... | |
| void * | oe_host_realloc (void *ptr, size_t size) | 
| Reallocate bytes from the host's heap.  More... | |
| void * | oe_host_calloc (size_t nmemb, size_t size) | 
| Allocate zero-filled bytes from the host's heap.  More... | |
| void | oe_host_free (void *ptr) | 
| Release allocated memory.  More... | |
| char * | oe_host_strndup (const char *str, size_t n) | 
| Make a heap copy of a string.  More... | |
| void | oe_abort (void) OE_NO_RETURN | 
| Abort execution of the enclave.  More... | |
| oe_result_t | oe_get_report_v2 (uint32_t flags, const uint8_t *report_data, size_t report_data_size, 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) | 
| Frees 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 (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_seal_key_by_policy_v2 (oe_seal_policy_t seal_policy, uint8_t **key_buffer, size_t *key_buffer_size, uint8_t **key_info, size_t *key_info_size) | 
| Get a symmetric encryption key derived from the specified policy and coupled to the enclave platform.  More... | |
| oe_result_t | oe_get_public_key_by_policy (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 (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... | |
| oe_result_t | oe_get_private_key_by_policy (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 private key that is associated with the identity of the enclave and the specified policy.  More... | |
| oe_result_t | oe_get_private_key (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 private 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_get_seal_key_v2 (const uint8_t *key_info, size_t key_info_size, uint8_t **key_buffer, size_t *key_buffer_size) | 
| Get a symmetric encryption key from the enclave platform using existing key information.  More... | |
| void | oe_free_seal_key (uint8_t *key_buffer, uint8_t *key_info) | 
| Frees a key and/or key info.  More... | |
| oe_enclave_t * | oe_get_enclave (void) | 
| Obtains the enclave handle.  More... | |
| oe_result_t | oe_random (void *data, size_t size) | 
| Generate a sequence of random bytes.  More... | |
| oe_result_t | oe_generate_attestation_certificate (const unsigned char *subject_name, uint8_t *private_key, size_t private_key_size, uint8_t *public_key, size_t public_key_size, uint8_t **output_cert, size_t *output_cert_size) | 
| oe_generate_attestation_certificate.  More... | |
| void | oe_free_attestation_certificate (uint8_t *cert) | 
| Free the given cert.  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 enclaves.
 1.8.13