NetworkManager/src/libnm-crypto/nm-crypto-impl.h
Thomas Haller 901787e06f
build: move nm-crypto to separate directory "src/libnm-crypto"
libnm-core currently has a dependency on crypto libraries (either
"gnutls", "nss" or "null"). We need this huge dependency for few cases.

Move the crypto code to a separate static library"src/libnm-crypto/libnm-crypto.la".
The reasoning is that it becomes clearer where we have this dependency,
to use it more consciously, and to be better see how it's used.

We clearly need the crypto functionality in libnm. But do we also need
it in the daemon? Could we ever link the daemon without crypto libraries?

The goal of splitting the crypto part out, to better understand the
crypto dependency.
2022-03-29 11:56:04 +02:00

50 lines
1.9 KiB
C

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Dan Williams <dcbw@redhat.com>
* Copyright (C) 2007 - 2018 Red Hat, Inc.
*/
#ifndef __NM_CRYPTO_IMPL_H__
#define __NM_CRYPTO_IMPL_H__
#include "nm-crypto.h"
#include "libnm-base/nm-base.h"
gboolean _nm_crypto_init(GError **error);
gboolean _nm_crypto_randomize(void *buffer, gsize buffer_len, GError **error);
gboolean _nm_crypto_verify_x509(const guint8 *data, gsize len, GError **error);
gboolean
_nm_crypto_verify_pkcs12(const guint8 *data, gsize data_len, const char *password, GError **error);
gboolean _nm_crypto_verify_pkcs8(const guint8 *data,
gsize data_len,
gboolean is_encrypted,
const char *password,
GError **error);
/*****************************************************************************/
guint8 *_nmtst_crypto_encrypt(NMCryptoCipherType cipher,
const guint8 *data,
gsize data_len,
const guint8 *iv,
gsize iv_len,
const guint8 *key,
gsize key_len,
gsize *out_len,
GError **error);
guint8 *_nmtst_crypto_decrypt(NMCryptoCipherType cipher,
const guint8 *data,
gsize data_len,
const guint8 *iv,
gsize iv_len,
const guint8 *key,
gsize key_len,
gsize *out_len,
GError **error);
#endif /* __NM_CRYPTO_IMPL_H__ */