AWS Encryption SDK for C v2.4
Loading...
Searching...
No Matches
materials.h File Reference
#include <assert.h>
#include <limits.h>
#include <stdint.h>
#include <aws/common/array_list.h>
#include <aws/common/atomics.h>
#include <aws/common/byte_buf.h>
#include <aws/common/common.h>
#include <aws/common/hash_table.h>
#include <aws/cryptosdk/cipher.h>
#include <aws/cryptosdk/edk.h>
#include <aws/cryptosdk/error.h>
#include <aws/cryptosdk/exports.h>
#include <aws/cryptosdk/header.h>
#include <aws/cryptosdk/keyring_trace.h>
+ Include dependency graph for materials.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  aws_cryptosdk_cmm
 
struct  aws_cryptosdk_keyring
 
struct  aws_cryptosdk_enc_request
 
struct  aws_cryptosdk_enc_materials
 
struct  aws_cryptosdk_dec_request
 
struct  aws_cryptosdk_dec_materials
 
struct  aws_cryptosdk_cmm_vt
 
struct  aws_cryptosdk_keyring_vt
 

Enumerations

enum  aws_cryptosdk_commitment_policy { COMMITMENT_POLICY_REQUIRE_ENCRYPT_REQUIRE_DECRYPT = 0x598f396c , COMMITMENT_POLICY_REQUIRE_ENCRYPT_ALLOW_DECRYPT = 0x493769b7 , COMMITMENT_POLICY_FORBID_ENCRYPT_ALLOW_DECRYPT = 0x2735f98a }
 

Functions

bool aws_cryptosdk_enc_request_is_valid (const struct aws_cryptosdk_enc_request *request)
 
bool aws_cryptosdk_dec_request_is_valid (const struct aws_cryptosdk_dec_request *request)
 
bool aws_cryptosdk_enc_materials_is_valid (const struct aws_cryptosdk_enc_materials *materials)
 
bool aws_cryptosdk_dec_materials_is_valid (const struct aws_cryptosdk_dec_materials *materials)
 
bool aws_atomic_var_is_valid_int (const struct aws_atomic_var *var)
 
bool aws_atomic_var_is_valid_ptr (const struct aws_atomic_var *var)
 
bool aws_cryptosdk_cmm_vtable_is_valid (const struct aws_cryptosdk_cmm_vt *vtable)
 
bool aws_cryptosdk_cmm_base_is_valid (const struct aws_cryptosdk_cmm *cmm)
 
void aws_cryptosdk_cmm_base_init (struct aws_cryptosdk_cmm *cmm, const struct aws_cryptosdk_cmm_vt *vtable)
 
void aws_cryptosdk_cmm_release (struct aws_cryptosdk_cmm *cmm)
 
struct aws_cryptosdk_cmmaws_cryptosdk_cmm_retain (struct aws_cryptosdk_cmm *cmm)
 
int aws_cryptosdk_cmm_generate_enc_materials (struct aws_cryptosdk_cmm *cmm, struct aws_cryptosdk_enc_materials **output, struct aws_cryptosdk_enc_request *request)
 
int aws_cryptosdk_cmm_decrypt_materials (struct aws_cryptosdk_cmm *cmm, struct aws_cryptosdk_dec_materials **output, struct aws_cryptosdk_dec_request *request)
 
bool aws_cryptosdk_keyring_vt_is_valid (const struct aws_cryptosdk_keyring_vt *vtable)
 
bool aws_cryptosdk_keyring_is_valid (const struct aws_cryptosdk_keyring *keyring)
 
void aws_cryptosdk_keyring_base_init (struct aws_cryptosdk_keyring *keyring, const struct aws_cryptosdk_keyring_vt *vtable)
 
void aws_cryptosdk_keyring_release (struct aws_cryptosdk_keyring *keyring)
 
struct aws_cryptosdk_keyringaws_cryptosdk_keyring_retain (struct aws_cryptosdk_keyring *keyring)
 
int aws_cryptosdk_keyring_on_encrypt (struct aws_cryptosdk_keyring *keyring, struct aws_allocator *request_alloc, struct aws_byte_buf *unencrypted_data_key, struct aws_array_list *keyring_trace, struct aws_array_list *edks, const struct aws_hash_table *enc_ctx, enum aws_cryptosdk_alg_id alg)
 
int aws_cryptosdk_keyring_on_decrypt (struct aws_cryptosdk_keyring *keyring, struct aws_allocator *request_alloc, struct aws_byte_buf *unencrypted_data_key, struct aws_array_list *keyring_trace, const struct aws_array_list *edks, const struct aws_hash_table *enc_ctx, enum aws_cryptosdk_alg_id alg)
 
struct aws_cryptosdk_enc_materialsaws_cryptosdk_enc_materials_new (struct aws_allocator *alloc, enum aws_cryptosdk_alg_id alg)
 
void aws_cryptosdk_enc_materials_destroy (struct aws_cryptosdk_enc_materials *enc_mat)
 
struct aws_cryptosdk_dec_materialsaws_cryptosdk_dec_materials_new (struct aws_allocator *alloc, enum aws_cryptosdk_alg_id alg)
 
void aws_cryptosdk_dec_materials_destroy (struct aws_cryptosdk_dec_materials *dec_mat)
 
bool aws_cryptosdk_commitment_policy_is_valid (uint32_t commitment_policy)
 
bool aws_cryptosdk_commitment_policy_encrypt_must_include_commitment (enum aws_cryptosdk_commitment_policy commitment_policy)