Scroll to navigation

KNET_HANDLE_CRYPTO(3) Kronosnet Programmer's Manual KNET_HANDLE_CRYPTO(3)

NAME

knet_handle_crypto - set up packet cryptographic signing & encryption

SYNOPSIS

#include <libknet.h>

int knet_handle_crypto(

knet_handle_t knet_h,
struct knet_handle_crypto_cfg *knet_handle_crypto_cfg );

DESCRIPTION

knet_handle_crypto

knet_h - pointer to knet_handle_t

knet_handle_crypto_cfg - pointer to a knet_handle_crypto_cfg structure see knet_handle_crypto_set_config(3) for details.

Implementation notes:

knet_handle_crypto(3) is now a wrapper for knet_handle_crypto_set_config(3) and knet_handle_crypto_use_config(3) with config_num set to 1.

STRUCTURES

Structure passed into knet_handle_set_crypto_config() to determine the crypto options to use for the current communications handle 

struct knet_handle_crypto_cfg {



char crypto_model[16]; /* Model to use. nss, openssl, etc */
char crypto_cipher_type[16]; /* Cipher type name for encryption. aes 256 etc */
char crypto_hash_type[16]; /* Hash type for digest. sha512 etc */
unsigned char private_key[KNET_MAX_KEY_LEN]; /* Private key */
unsigned int private_key_len; /* Length of private key */ };

RETURN VALUE

knet_handle_crypto returns:

0 on success

-1 on error and errno is set.

-2 on crypto subsystem initialization error. No errno is provided at the moment (yet).

SEE ALSO

knet_handle_remove_datafd(3), knet_handle_get_stats(3), knet_host_add(3), knet_handle_pmtud_setfreq(3), knet_handle_pmtud_get(3), knet_handle_crypto_use_config(3), knet_host_get_id_by_host_name(3), knet_host_get_status(3), knet_link_add_acl(3), knet_link_get_pong_count(3), knet_link_get_priority(3), knet_handle_free(3), knet_handle_enable_sock_notify(3), knet_handle_get_datafd(3), knet_recv(3), knet_link_get_ping_timers(3), knet_log_get_subsystem_id(3), knet_host_remove(3), knet_host_enable_status_change_notify(3), knet_strtoaddr(3), knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3), knet_handle_get_transport_reconnect_interval(3), knet_link_get_enable(3), knet_link_set_priority(3), knet_log_set_loglevel(3), knet_handle_get_channel(3), knet_link_get_config(3), knet_link_get_link_list(3), knet_get_transport_list(3), knet_get_transport_id_by_name(3), knet_log_get_loglevel_id(3), knet_handle_new_ex(3), knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3), knet_get_compress_list(3), knet_host_set_policy(3), knet_get_transport_name_by_id(3), knet_handle_enable_filter(3), knet_handle_crypto_rx_clear_traffic(3), knet_handle_compress(3), knet_link_get_status(3), knet_handle_add_datafd(3), knet_send_sync(3), knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3), knet_host_get_host_list(3), knet_host_get_policy(3), knet_link_set_enable(3), knet_link_set_pong_count(3), knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3), knet_link_clear_config(3), knet_log_get_loglevel(3), knet_handle_new(3), knet_handle_pmtud_getfreq(3), knet_handle_pmtud_set(3), knet_handle_clear_stats(3), knet_link_set_config(3), knet_handle_crypto_set_config(3), knet_get_crypto_list(3), knet_handle_set_transport_reconnect_interval(3), knet_link_clear_acl(3), knet_link_set_ping_timers(3), knet_link_insert_acl(3)

COPYRIGHT

Copyright (C) 2010-2023 Red Hat, Inc. All rights reserved.

2023-01-04 kronosnet