33#include <openssl/evp.h>
34#include <openssl/rand.h>
35#include <openssl/engine.h>
37#define LOG_PREFIX "apr_crypto_openssl: "
39#ifndef APR_USE_OPENSSL_PRE_1_1_API
40#if defined(LIBRESSL_VERSION_NUMBER)
45#define APR_USE_OPENSSL_PRE_1_1_API (1)
47#define APR_USE_OPENSSL_PRE_1_1_API (OPENSSL_VERSION_NUMBER < 0x10100000L)
99#define BUFFER_SIZE 128
133#if APR_USE_OPENSSL_PRE_1_1_API
150#if OPENSSL_VERSION_NUMBER < 0x0090802fL
183 if (
ctx->initialised) {
185 ctx->initialised = 0;
207 if (
f->config->engine) {
210 f->config->engine =
NULL;
248 {
"engine",
NULL, 0 },
262 while ((elt = elts[
i])) {
295 f->provider = provider;
327 if (!config->engine) {
332 config->engine =
NULL;
472 key->provider =
f->provider;
480 switch (
rec->ktype) {
486 rec->k.passphrase.passLen,
487 (
unsigned char *)
rec->k.passphrase.salt,
488 rec->k.passphrase.saltLen,
rec->k.passphrase.iterations,
489 key->keyLen,
key->key) == 0) {
499 if (
rec->k.secret.secretLen !=
key->keyLen) {
573 key->provider =
f->provider;
639 if (!
block->initialised) {
641 block->initialised = 1;
668#if CRYPTO_OPENSSL_CONST_BUFFERS
731#if CRYPT_OPENSSL_CONST_BUFFERS
735 (
unsigned char *)
in,
inlen)) {
737#if APR_USE_OPENSSL_PRE_1_1_API
780#if APR_USE_OPENSSL_PRE_1_1_API
825 if (!
block->initialised) {
827 block->initialised = 1;
838#if CRYPTO_OPENSSL_CONST_BUFFERS
901#if CRYPT_OPENSSL_CONST_BUFFERS
907#if APR_USE_OPENSSL_PRE_1_1_API
950#if APR_USE_OPENSSL_PRE_1_1_API
const char apr_size_t len
APR-UTIL Buckets/Bucket Brigades.
static apr_uint32_t initialised
APR general purpose library routines.
apr_brigade_flush void * ctx
apr_dbd_transaction_t int mode
apr_pool_t const char * params
const char int apr_pool_t * pool
apr_array_header_t ** result
int strcasecmp(const char *a, const char *b)
#define APR_HASH_KEY_STRING
#define apr_pcalloc(p, size)
static const char *const types[]
static const char * key_types[]