diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /wsutil/rsa.h | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | wsutil/rsa.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/wsutil/rsa.h b/wsutil/rsa.h new file mode 100644 index 00000000..83817048 --- /dev/null +++ b/wsutil/rsa.h @@ -0,0 +1,44 @@ +/** @file + * + * Functions for RSA private key reading and use + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 2007 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef __RSA_H__ +#define __RSA_H__ + +#include <wireshark.h> +#include <gcrypt.h> + +#ifdef HAVE_LIBGNUTLS +#include <stdio.h> +#include <gnutls/abstract.h> +WS_DLL_PUBLIC gcry_sexp_t rsa_privkey_to_sexp(gnutls_x509_privkey_t priv_key, char **err); + +/** + * Load an RSA private key from specified file + * @param fp the file that contain the key data + * @param [out] err error message upon failure; NULL upon success + * @return a pointer to the loaded key on success, or NULL upon failure + */ +WS_DLL_PUBLIC gnutls_x509_privkey_t rsa_load_pem_key(FILE* fp, char **err); + +/** + * Load a RSA private key from a PKCS#12 file (DER or PEM format) + * @param fp the file that contains the key data + * @param cert_passwd password to decrypt the PKCS#12 file + * @param [out] err error message upon failure; NULL upon success + * @return a pointer to the loaded key on success; NULL upon failure + */ +WS_DLL_PUBLIC gnutls_x509_privkey_t rsa_load_pkcs12(FILE* fp, const char *cert_passwd, char** err); +#endif + +WS_DLL_PUBLIC void rsa_private_key_free(void * key); + + +#endif /* __RSA_H__ */ |