Go to the documentation of this file.
29 "crypter or crypter->vtable has not been initialized properly";
32 if (
dst !=
nullptr && src !=
nullptr) {
41 size_t plaintext_length,
uint8_t* ciphertext_and_tag,
43 char** error_details) {
44 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
46 struct iovec aad_vec = {
const_cast<uint8_t*
>(aad), aad_length};
49 struct iovec ciphertext_vec = {ciphertext_and_tag,
50 ciphertext_and_tag_length};
52 crypter, nonce, nonce_length, &aad_vec, 1, &plaintext_vec, 1,
62 const struct iovec* aad_vec,
size_t aad_vec_length,
63 const struct iovec* plaintext_vec,
size_t plaintext_vec_length,
64 struct iovec ciphertext_vec,
size_t* ciphertext_bytes_written,
65 char** error_details) {
66 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
69 crypter, nonce, nonce_length, aad_vec, aad_vec_length, plaintext_vec,
70 plaintext_vec_length, ciphertext_vec, ciphertext_bytes_written,
80 const uint8_t* aad,
size_t aad_length,
const uint8_t* ciphertext_and_tag,
82 size_t plaintext_length,
size_t*
bytes_written,
char** error_details) {
83 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
85 struct iovec aad_vec = {
const_cast<uint8_t*
>(aad), aad_length};
86 struct iovec ciphertext_vec = {
const_cast<uint8_t*
>(ciphertext_and_tag),
87 ciphertext_and_tag_length};
90 crypter, nonce, nonce_length, &aad_vec, 1, &ciphertext_vec, 1,
100 const struct iovec* aad_vec,
size_t aad_vec_length,
101 const struct iovec* ciphertext_vec,
size_t ciphertext_vec_length,
102 struct iovec plaintext_vec,
size_t* plaintext_bytes_written,
103 char** error_details) {
104 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
107 crypter, nonce, nonce_length, aad_vec, aad_vec_length, ciphertext_vec,
108 ciphertext_vec_length, plaintext_vec, plaintext_bytes_written,
118 size_t* max_ciphertext_and_tag_length_to_return,
char** error_details) {
119 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
122 crypter, plaintext_length, max_ciphertext_and_tag_length_to_return,
132 size_t* max_plaintext_length_to_return,
char** error_details) {
133 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
136 crypter, ciphertext_and_tag_length, max_plaintext_length_to_return,
146 char** error_details) {
147 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
158 size_t* key_length_to_return,
159 char** error_details) {
160 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
171 size_t* tag_length_to_return,
172 char** error_details) {
173 if (crypter !=
nullptr && crypter->
vtable !=
nullptr &&
184 if (crypter !=
nullptr) {
grpc_status_code(* decrypt_iovec)(gsec_aead_crypter *crypter, const uint8_t *nonce, size_t nonce_length, const struct iovec *aad_vec, size_t aad_vec_length, const struct iovec *ciphertext_vec, size_t ciphertext_vec_length, struct iovec plaintext_vec, size_t *plaintext_bytes_written, char **error_details)
grpc_status_code(* max_ciphertext_and_tag_length)(const gsec_aead_crypter *crypter, size_t plaintext_length, size_t *max_ciphertext_and_tag_length_to_return, char **error_details)
grpc_status_code(* tag_length)(const gsec_aead_crypter *crypter, size_t *tag_length_to_return, char **error_details)
grpc_status_code(* max_plaintext_length)(const gsec_aead_crypter *crypter, size_t ciphertext_and_tag_length, size_t *max_plaintext_length_to_return, char **error_details)
void(* destruct)(gsec_aead_crypter *crypter)
GPRAPI void gpr_free(void *ptr)
grpc_status_code(* nonce_length)(const gsec_aead_crypter *crypter, size_t *nonce_length_to_return, char **error_details)
GPRAPI void * gpr_malloc(size_t size)
grpc_status_code gsec_aead_crypter_key_length(const gsec_aead_crypter *crypter, size_t *key_length_to_return, char **error_details)
grpc_status_code gsec_aead_crypter_decrypt_iovec(gsec_aead_crypter *crypter, const uint8_t *nonce, size_t nonce_length, const struct iovec *aad_vec, size_t aad_vec_length, const struct iovec *ciphertext_vec, size_t ciphertext_vec_length, struct iovec plaintext_vec, size_t *plaintext_bytes_written, char **error_details)
@ GRPC_STATUS_INVALID_ARGUMENT
grpc_status_code gsec_aead_crypter_tag_length(const gsec_aead_crypter *crypter, size_t *tag_length_to_return, char **error_details)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
static const char vtable_error_msg[]
grpc_status_code(* key_length)(const gsec_aead_crypter *crypter, size_t *key_length_to_return, char **error_details)
grpc_status_code gsec_aead_crypter_max_ciphertext_and_tag_length(const gsec_aead_crypter *crypter, size_t plaintext_length, size_t *max_ciphertext_and_tag_length_to_return, char **error_details)
static void maybe_copy_error_msg(const char *src, char **dst)
grpc_status_code gsec_aead_crypter_nonce_length(const gsec_aead_crypter *crypter, size_t *nonce_length_to_return, char **error_details)
const struct gsec_aead_crypter_vtable * vtable
grpc_status_code gsec_aead_crypter_encrypt(gsec_aead_crypter *crypter, const uint8_t *nonce, size_t nonce_length, const uint8_t *aad, size_t aad_length, const uint8_t *plaintext, size_t plaintext_length, uint8_t *ciphertext_and_tag, size_t ciphertext_and_tag_length, size_t *bytes_written, char **error_details)
static size_t bytes_written
void gsec_aead_crypter_destroy(gsec_aead_crypter *crypter)
grpc_status_code gsec_aead_crypter_max_plaintext_length(const gsec_aead_crypter *crypter, size_t ciphertext_and_tag_length, size_t *max_plaintext_length_to_return, char **error_details)
grpc_status_code(* encrypt_iovec)(gsec_aead_crypter *crypter, const uint8_t *nonce, size_t nonce_length, const struct iovec *aad_vec, size_t aad_vec_length, const struct iovec *plaintext_vec, size_t plaintext_vec_length, struct iovec ciphertext_vec, size_t *ciphertext_bytes_written, char **error_details)
grpc_status_code gsec_aead_crypter_decrypt(gsec_aead_crypter *crypter, const uint8_t *nonce, size_t nonce_length, const uint8_t *aad, size_t aad_length, const uint8_t *ciphertext_and_tag, size_t ciphertext_and_tag_length, uint8_t *plaintext, size_t plaintext_length, size_t *bytes_written, char **error_details)
grpc_status_code gsec_aead_crypter_encrypt_iovec(gsec_aead_crypter *crypter, const uint8_t *nonce, size_t nonce_length, const struct iovec *aad_vec, size_t aad_vec_length, const struct iovec *plaintext_vec, size_t plaintext_vec_length, struct iovec ciphertext_vec, size_t *ciphertext_bytes_written, char **error_details)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:48