AWS Encryption SDK for C v2.4
|
#include <aws/common/array_list.h>
#include <aws/common/string.h>
#include <aws/cryptosdk/exports.h>
Go to the source code of this file.
Data Structures | |
struct | aws_cryptosdk_keyring_trace_record |
Macros | |
#define | AWS_CRYPTOSDK_WRAPPING_KEY_GENERATED_DATA_KEY 1 |
#define | AWS_CRYPTOSDK_WRAPPING_KEY_ENCRYPTED_DATA_KEY (1 << 1) |
#define | AWS_CRYPTOSDK_WRAPPING_KEY_DECRYPTED_DATA_KEY (1 << 2) |
#define | AWS_CRYPTOSDK_WRAPPING_KEY_SIGNED_ENC_CTX (1 << 3) |
#define | AWS_CRYPTOSDK_WRAPPING_KEY_VERIFIED_ENC_CTX (1 << 4) |
Functions | |
bool | aws_cryptosdk_keyring_trace_record_is_valid (struct aws_cryptosdk_keyring_trace_record *record) |
bool | aws_cryptosdk_keyring_trace_is_valid (const struct aws_array_list *trace) |
int | aws_cryptosdk_keyring_trace_add_record (struct aws_allocator *alloc, struct aws_array_list *trace, const struct aws_string *wrapping_key_namespace, const struct aws_string *wrapping_key_name, uint32_t flags) |
int | aws_cryptosdk_keyring_trace_add_record_c_str (struct aws_allocator *alloc, struct aws_array_list *trace, const char *wrapping_key_namespace, const char *wrapping_key_name, uint32_t flags) |
int | aws_cryptosdk_keyring_trace_add_record_buf (struct aws_allocator *alloc, struct aws_array_list *trace, const struct aws_byte_buf *wrapping_key_namespace, const struct aws_byte_buf *wrapping_key_name, uint32_t flags) |
int | aws_cryptosdk_keyring_trace_init (struct aws_allocator *alloc, struct aws_array_list *trace) |
void | aws_cryptosdk_keyring_trace_clean_up (struct aws_array_list *trace) |
void | aws_cryptosdk_keyring_trace_clear (struct aws_array_list *trace) |
#define AWS_CRYPTOSDK_WRAPPING_KEY_DECRYPTED_DATA_KEY (1 << 2) |
Bit flag indicating this wrapping key decrypted the data key.
Definition at line 69 of file keyring_trace.h.
#define AWS_CRYPTOSDK_WRAPPING_KEY_ENCRYPTED_DATA_KEY (1 << 1) |
Bit flag indicating this wrapping key encrypted the data key.
Definition at line 64 of file keyring_trace.h.
#define AWS_CRYPTOSDK_WRAPPING_KEY_GENERATED_DATA_KEY 1 |
Bit flag indicating this wrapping key generated the data key.
Definition at line 59 of file keyring_trace.h.
#define AWS_CRYPTOSDK_WRAPPING_KEY_SIGNED_ENC_CTX (1 << 3) |
Bit flag indicating this wrapping key signed the encryption context.
Definition at line 74 of file keyring_trace.h.
#define AWS_CRYPTOSDK_WRAPPING_KEY_VERIFIED_ENC_CTX (1 << 4) |
Bit flag indicating this wrapping key verified the signature of the encryption context.
Definition at line 79 of file keyring_trace.h.
int aws_cryptosdk_keyring_trace_add_record | ( | struct aws_allocator * | alloc, |
struct aws_array_list * | trace, | ||
const struct aws_string * | wrapping_key_namespace, | ||
const struct aws_string * | wrapping_key_name, | ||
uint32_t | flags ) |
Add a record to the trace with the specified namespace, name, and flags. Makes duplicates of namespace and name strings. Will be deallocated when the keyring trace object is cleared or cleaned up.
int aws_cryptosdk_keyring_trace_add_record_buf | ( | struct aws_allocator * | alloc, |
struct aws_array_list * | trace, | ||
const struct aws_byte_buf * | wrapping_key_namespace, | ||
const struct aws_byte_buf * | wrapping_key_name, | ||
uint32_t | flags ) |
Same as aws_cryptosdk_keyring_trace_add_record except it takes byte buffers instead of AWS strings.
int aws_cryptosdk_keyring_trace_add_record_c_str | ( | struct aws_allocator * | alloc, |
struct aws_array_list * | trace, | ||
const char * | wrapping_key_namespace, | ||
const char * | wrapping_key_name, | ||
uint32_t | flags ) |
Same as aws_cryptosdk_keyring_trace_add_record except it takes C strings instead of AWS strings.
void aws_cryptosdk_keyring_trace_clean_up | ( | struct aws_array_list * | trace | ) |
Deallocate all memory from a keyring trace.
void aws_cryptosdk_keyring_trace_clear | ( | struct aws_array_list * | trace | ) |
Deallocate and remove all records from a keyring trace, but do not deallocate the keyring trace itself.
int aws_cryptosdk_keyring_trace_init | ( | struct aws_allocator * | alloc, |
struct aws_array_list * | trace ) |
Initialize a keyring trace.
bool aws_cryptosdk_keyring_trace_is_valid | ( | const struct aws_array_list * | trace | ) |
Iterates over each memeber of a keyring_trace and ensures that each is a valid record.
bool aws_cryptosdk_keyring_trace_record_is_valid | ( | struct aws_cryptosdk_keyring_trace_record * | record | ) |
Evaluates the set of properties that define the shape of all valid aws_cryptosdk_keyring_trace_record structures.