mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-19 14:28:13 +02:00
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.
50 lines
1.9 KiB
C
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__ */
|