Apache Portable Runtime Utility Library
|
APR-UTIL Crypto library. More...
#include "apu.h"
#include "apr_pools.h"
#include "apr_tables.h"
#include "apr_hash.h"
#include "apu_errno.h"
Go to the source code of this file.
Defines | |
#define | APU_CRYPTO_RECOMMENDED_DRIVER "openssl" |
Typedefs | |
typedef struct apr_crypto_driver_t | apr_crypto_driver_t |
typedef struct apr_crypto_t | apr_crypto_t |
typedef struct apr_crypto_config_t | apr_crypto_config_t |
typedef struct apr_crypto_key_t | apr_crypto_key_t |
typedef struct apr_crypto_block_t | apr_crypto_block_t |
Enumerations | |
enum | apr_crypto_block_key_type_e { APR_KEY_NONE, APR_KEY_3DES_192, APR_KEY_AES_128, APR_KEY_AES_192, APR_KEY_AES_256 } |
enum | apr_crypto_block_key_mode_e { APR_MODE_NONE, APR_MODE_ECB, APR_MODE_CBC } |
Functions | |
apr_status_t | apr_crypto_init (apr_pool_t *pool) |
Perform once-only initialisation. Call once only. | |
apr_status_t | apr_crypto_clear (apr_pool_t *pool, void *buffer, apr_size_t size) |
Register a cleanup to zero out the buffer provided when the pool is cleaned up. | |
apr_status_t | apr_crypto_get_driver (const apr_crypto_driver_t **driver, const char *name, const char *params, const apu_err_t **result, apr_pool_t *pool) |
Get the driver struct for a name. | |
const char * | apr_crypto_driver_name (const apr_crypto_driver_t *driver) |
Return the name of the driver. | |
apr_status_t | apr_crypto_error (const apu_err_t **result, const apr_crypto_t *f) |
Get the result of the last operation on a context. If the result is NULL, the operation was successful. | |
apr_status_t | apr_crypto_make (apr_crypto_t **f, const apr_crypto_driver_t *driver, const char *params, apr_pool_t *pool) |
Create a context for supporting encryption. Keys, certificates, algorithms and other parameters will be set per context. More than one context can be created at one time. A cleanup will be automatically registered with the given pool to guarantee a graceful shutdown. | |
apr_status_t | apr_crypto_get_block_key_types (apr_hash_t **types, const apr_crypto_t *f) |
Get a hash table of key types, keyed by the name of the type against an integer pointer constant. | |
apr_status_t | apr_crypto_get_block_key_modes (apr_hash_t **modes, const apr_crypto_t *f) |
Get a hash table of key modes, keyed by the name of the mode against an integer pointer constant. | |
apr_status_t | apr_crypto_passphrase (apr_crypto_key_t **key, apr_size_t *ivSize, const char *pass, apr_size_t passLen, const unsigned char *salt, apr_size_t saltLen, const apr_crypto_block_key_type_e type, const apr_crypto_block_key_mode_e mode, const int doPad, const int iterations, const apr_crypto_t *f, apr_pool_t *p) |
Create a key from the given passphrase. By default, the PBKDF2 algorithm is used to generate the key from the passphrase. It is expected that the same pass phrase will generate the same key, regardless of the backend crypto platform used. The key is cleaned up when the context is cleaned, and may be reused with multiple encryption or decryption operations. | |
apr_status_t | apr_crypto_block_encrypt_init (apr_crypto_block_t **ctx, const unsigned char **iv, const apr_crypto_key_t *key, apr_size_t *blockSize, apr_pool_t *p) |
Initialise a context for encrypting arbitrary data using the given key. | |
apr_status_t | apr_crypto_block_encrypt (unsigned char **out, apr_size_t *outlen, const unsigned char *in, apr_size_t inlen, apr_crypto_block_t *ctx) |
Encrypt data provided by in, write it to out. | |
apr_status_t | apr_crypto_block_encrypt_finish (unsigned char *out, apr_size_t *outlen, apr_crypto_block_t *ctx) |
Encrypt final data block, write it to out. | |
apr_status_t | apr_crypto_block_decrypt_init (apr_crypto_block_t **ctx, apr_size_t *blockSize, const unsigned char *iv, const apr_crypto_key_t *key, apr_pool_t *p) |
Initialise a context for decrypting arbitrary data using the given key. | |
apr_status_t | apr_crypto_block_decrypt (unsigned char **out, apr_size_t *outlen, const unsigned char *in, apr_size_t inlen, apr_crypto_block_t *ctx) |
Decrypt data provided by in, write it to out. | |
apr_status_t | apr_crypto_block_decrypt_finish (unsigned char *out, apr_size_t *outlen, apr_crypto_block_t *ctx) |
Decrypt final data block, write it to out. | |
apr_status_t | apr_crypto_block_cleanup (apr_crypto_block_t *ctx) |
Clean encryption / decryption context. | |
apr_status_t | apr_crypto_cleanup (apr_crypto_t *f) |
Clean encryption / decryption context. | |
apr_status_t | apr_crypto_shutdown (const apr_crypto_driver_t *driver) |
Shutdown the crypto library. |
APR-UTIL Crypto library.