2020-09-29 16:42:22 +02:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1+ */
|
2018-08-29 20:46:17 +02:00
|
|
|
/*
|
|
|
|
|
* Dan Williams <dcbw@redhat.com>
|
2019-10-01 09:20:35 +02:00
|
|
|
* Copyright (C) 2007 - 2018 Red Hat, Inc.
|
2018-08-29 20:46:17 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef __NM_CRYPTO_IMPL_H__
|
|
|
|
|
#define __NM_CRYPTO_IMPL_H__
|
|
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
#if !((NETWORKMANAGER_COMPILATION) &NM_NETWORKMANAGER_COMPILATION_WITH_LIBNM_CORE_PRIVATE)
|
|
|
|
|
#error Cannot use this header.
|
2018-08-29 20:46:17 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include "nm-crypto.h"
|
|
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
gboolean _nm_crypto_init(GError **error);
|
2018-08-29 21:01:48 +02:00
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
gboolean _nm_crypto_randomize(void *buffer, gsize buffer_len, GError **error);
|
2018-08-29 21:01:48 +02:00
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
gboolean _nm_crypto_verify_x509(const guint8 *data, gsize len, GError **error);
|
2018-08-29 21:01:48 +02:00
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
gboolean
|
|
|
|
|
_nm_crypto_verify_pkcs12(const guint8 *data, gsize data_len, const char *password, GError **error);
|
2018-08-29 21:01:48 +02:00
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
gboolean _nm_crypto_verify_pkcs8(const guint8 *data,
|
|
|
|
|
gsize data_len,
|
|
|
|
|
gboolean is_encrypted,
|
|
|
|
|
const char * password,
|
|
|
|
|
GError ** error);
|
2018-08-29 20:46:17 +02:00
|
|
|
|
2018-08-30 21:08:47 +02:00
|
|
|
/*****************************************************************************/
|
|
|
|
|
|
2020-09-28 16:03:33 +02:00
|
|
|
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__ */
|