TLS transport: OpenSSL-based encrypted TCP
- New transport_tls.h/c: TLS server (server_create_tls, server_listen_tls) and client (client_connect_tls) using OpenSSL - protocol.c: io_set_ssl() + SSL_read/SSL_write in send_n_data/receive_n_data - transport_tcp.h: ssl/ssl_ctx fields added to Server/Client structs - config.h/c: use_tls, tls_cert, tls_key fields - client_cli.c: --tls, --cert, --key flags - server.c: --tls, --cert, --key, -p flags with TLS support - CMakeLists.txt: OpenSSL::SSL + OpenSSL::Crypto linkage - shell.nix: openssl added to buildInputs
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
#ifndef TRANSPORT_TLS_H
|
||||
#define TRANSPORT_TLS_H
|
||||
|
||||
#include "transport_tcp.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
bool tls_global_init(void);
|
||||
void tls_global_cleanup(void);
|
||||
|
||||
bool server_create_tls(Server *server, const char *cert_path, const char *key_path);
|
||||
bool server_listen_tls(Server *server, void (*handler)(int file_descriptor));
|
||||
bool client_connect_tls(Client *client, char *host, int port, const char *cert_path, const char *key_path);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user