#include #include #include #include #include "../ncr.h" #include "ncrypto.h" int ncr_key_params_init(ncr_key_params_t *params) { ncr_key_params_t rv; if (!params) { errno = EINVAL; return -1; } if (!(rv = calloc(1, sizeof(*rv)))) { errno = ENOMEM; return -1; } *params = rv; return 0; } void ncr_key_params_deinit(ncr_key_params_t params) { if (params) free(params); } int ncr_key_params_set_cipher_iv(ncr_key_params_t params, void* iv, unsigned int iv_size) { if (!params || (iv_size > NCR_CIPHER_MAX_BLOCK_LEN)) { errno = EINVAL; return -1; } memmove(params->params.cipher.iv, iv, iv_size); params->params.cipher.iv_size = iv_size; return 0; } int ncr_key_params_set_dh_key(ncr_key_params_t params, ncr_key_t dh_priv) { errno = EINVAL; return -1; }