AWS Encryption SDK for C v2.4
|
#include <materials.h>
Data Fields | |
struct aws_allocator * | alloc |
struct aws_hash_table * | enc_ctx |
enum aws_cryptosdk_alg_id | requested_alg |
uint64_t | plaintext_size |
enum aws_cryptosdk_commitment_policy | commitment_policy |
Encryption request passed from the session to a CMM. In general, you should not allocate or construct struct manually, since we may add additional fields.
Definition at line 133 of file materials.h.
struct aws_allocator* aws_cryptosdk_enc_request::alloc |
Definition at line 134 of file materials.h.
enum aws_cryptosdk_commitment_policy aws_cryptosdk_enc_request::commitment_policy |
The key commitment policy to enforce when processing the encryption request. The CMM is responsible for selecting an algorithm that satisfies the commitment policy: if the commitment policy requires key commitment, then the algorithm must be a key-committing one; otherwise, the algorithm must NOT be a key-committing one.
Definition at line 173 of file materials.h.
struct aws_hash_table* aws_cryptosdk_enc_request::enc_ctx |
The encryption context for this message. CMMs are permitted to modify this hash table in order to inject additional keys or otherwise modify the encryption context.
The values provided to the encryption context SHOULD be UTF-8 bytes. While it is technically possible to provide invalid UTF-8 bytes, doing so is strongly discouraged. Messages that include invalid UTF-8 bytes in their encryption context will not be interoperable across different language implementations of the AWS Encryption SDK. The ESDK for C permits writing and reading encryption contexts that contain invalid UTF-8 bytes, but ESDKs in other languages will neither read nor write messages whose encryption context contains invalid UTF-8.
Definition at line 150 of file materials.h.
uint64_t aws_cryptosdk_enc_request::plaintext_size |
An upper-bound on the plaintext size to be encrypted (comes from aws_cryptosdk_session_set_message_bound or aws_cryptosdk_session_set_message_size). If no bound has been set, this will be UINT64_MAX.
Definition at line 165 of file materials.h.
enum aws_cryptosdk_alg_id aws_cryptosdk_enc_request::requested_alg |
The session will initially call generate_enc_materials on the CMM with a zero requested_alg; it's up to one of the CMMs in the chain to fill this in before the keyring is invoked. In particular, the default CMM will fill in the algorithm ID it has been configured with, unless a CMM before the default CMM filled in a different algorithm ID.
Definition at line 158 of file materials.h.