]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/openssl-util.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
7 # include <openssl/bio.h>
8 # include <openssl/evp.h>
9 # include <openssl/pkcs7.h>
10 # include <openssl/ssl.h>
11 # include <openssl/x509v3.h>
13 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(X509
*, X509_free
, NULL
);
14 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(X509_NAME
*, X509_NAME_free
, NULL
);
15 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_PKEY_CTX
*, EVP_PKEY_CTX_free
, NULL
);
16 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_CIPHER_CTX
*, EVP_CIPHER_CTX_free
, NULL
);
17 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(PKCS7
*, PKCS7_free
, NULL
);
18 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(SSL
*, SSL_free
, NULL
);
19 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(BIO
*, BIO_free
, NULL
);
20 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EVP_MD_CTX
*, EVP_MD_CTX_free
, NULL
);
22 static inline void sk_X509_free_allp(STACK_OF(X509
) **sk
) {
26 sk_X509_pop_free(*sk
, X509_free
);
29 int rsa_encrypt_bytes(EVP_PKEY
*pkey
, const void *decrypted_key
, size_t decrypted_key_size
, void **ret_encrypt_key
, size_t *ret_encrypt_key_size
);
31 int rsa_pkey_to_suitable_key_size(EVP_PKEY
*pkey
, size_t *ret_suitable_key_size
);