res_crypto: make keys reloadable on demand for testing

ASTERISK-30045

Change-Id: If59bbb50c1771084bfe2fef307a6077c90d35ce8
This commit is contained in:
Philip Prindeville 2022-07-26 11:38:32 -06:00 committed by George Joseph
parent 5809d879b0
commit 2d7656cb50
2 changed files with 10 additions and 0 deletions

View File

@ -180,6 +180,8 @@ AST_OPTIONAL_API(void, ast_aes_decrypt,
AST_OPTIONAL_API(int, ast_crypto_loaded, (void), { return 0; });
AST_OPTIONAL_API(int, ast_crypto_reload, (void), { return 0; });
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif

View File

@ -95,6 +95,8 @@ struct ast_key {
static AST_RWLIST_HEAD_STATIC(keys, ast_key);
static void crypto_load(int ifd, int ofd);
/*!
* \brief setting of priv key
* \param buf
@ -465,6 +467,12 @@ int AST_OPTIONAL_API_NAME(ast_crypto_loaded)(void)
return 1;
}
int AST_OPTIONAL_API_NAME(ast_crypto_reload)(void)
{
crypto_load(-1, -1);
return 1;
}
int AST_OPTIONAL_API_NAME(ast_aes_set_encrypt_key)(const unsigned char *key, ast_aes_encrypt_key *ctx)
{
return AES_set_encrypt_key(key, 128, ctx);