/* SPDX-License-Identifier: GPL-2.0-or-later * Copyright (C) 2022-2023 Eneas Ulir de Queiroz */ #include #define CRYPT_BUF_SIZE 1024 #ifdef USE_MBEDTLS # include # if defined(MBEDTLS_MAX_BLOCK_LENGTH) \ && MBEDTLS_MAX_BLOCK_LENGTH > CRYPT_BUF_SIZE # undef CRYPT_BUF_SIZE # define CRYPT_BUF_SIZE MAX_BLOCK_LENGTH # endif unsigned char *hexstr2buf(const char* str, long *len); #else /* USE_MBEDTLS */ # ifdef USE_WOLFSSL # include # include # else # include # endif # if defined(EVP_MAX_BLOCK_LENGTH) \ && EVP_MAX_BLOCK_LENGTH > CRYPT_BUF_SIZE # undef CRYPT_BUF_SIZE # define CRYPT_BUF_SIZE EVP_MAX_BLOCK_LENGTH # endif # define hexstr2buf OPENSSL_hexstr2buf #endif /* USE_MBEDTLS */ typedef void cipher_t; typedef void ctx_t; const cipher_t *get_default_cipher(void); const cipher_t *get_cipher_or_print_error(char *name); int get_cipher_ivsize(const cipher_t *cipher); int get_cipher_keysize(const cipher_t *cipher); ctx_t *create_ctx(const cipher_t *cipher, const unsigned char *key, const unsigned char *iv, int enc, int padding); int do_crypt(FILE *infile, FILE *outfile, ctx_t *ctx); void free_ctx(ctx_t *ctx);