25#ifndef PDCOM5_SECUREPROCESS_H
26#define PDCOM5_SECUREPROCESS_H
28#include "pdcom5-gnutls_export.h"
45class PDCOM5_GNUTLS_EXPORT SecureProcess :
public Process
53 std::string server_ca_, server_hostname_, client_cert_, client_key_;
58 std::string server_ca,
60 std::string client_cert =
"",
61 std::string client_key =
"") :
63 server_ca_(server_ca),
65 client_cert_(client_cert),
66 client_key_(client_key)
69 std::string server_ca,
71 std::string client_cert =
"",
72 std::string client_key =
"") :
74 server_ca_(server_ca),
76 client_cert_(client_cert),
77 client_key_(client_key)
110 struct PDCOM5_GNUTLS_NO_EXPORT Impl;
115 void flush()
override;
virtual std::string hostname() const
Host name of remote server.
Definition Process.h:184
void bye()
Close a TLS session.
bool handshake()
TLS Handshake.
static void FinalizeLibrary()
GnuTls global finalization.
static void InitLibrary()
GnuTls global initialization.
void asyncData()
calls Process::asyncData() until gnutls' buffers are empty.
Definition SecureProcess.h:49
EncryptionDetails(Flags flags, std::string server_ca, std::string hostname, std::string client_cert="", std::string client_key="")
Struct which contains certificates and options.
Definition SecureProcess.h:56