32 #ifndef _QORE_ENCRYPTIONTRANSFORMS_H
33 #define _QORE_ENCRYPTIONTRANSFORMS_H
35 #include "qore/Transform.h"
37 #include <openssl/evp.h>
39 class EncryptionTransforms {
41 DLLLOCAL
static Transform* getCryptoTransform(
const char* cipher,
bool do_crypt,
const char* key,
42 unsigned key_len,
const char* iv,
unsigned iv_len,
const char* mac,
unsigned mac_len,
43 unsigned tag_length,
const ReferenceNode* mac_ref,
const char* aad,
unsigned aad_len,
47 hashdecl CryptoEntry {
51 const EVP_CIPHER* cipher_type;
57 #ifndef OPENSSL_3_PLUS
63 #ifndef OPENSSL_3_PLUS
65 typedef std::map<std::string, CryptoEntry, ltstrcase> crypto_map_t;
66 DLLLOCAL
extern crypto_map_t crypto_map;
69 typedef std::map<std::string, const EVP_MD*, ltstrcase> digest_map_t;
70 DLLLOCAL
extern digest_map_t digest_map;
72 const EVP_CIPHER* q_lookup_cipher(
const char* cipher);
73 DLLLOCAL
QoreHashNode* q_get_cipher_hash(
const EVP_CIPHER* c);
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
This is the hash or associative list container type in Qore, dynamically allocated only,...
Definition: QoreHashNode.h:50
parse type: reference to a lvalue expression
Definition: ReferenceNode.h:45