48 void close()
override;
66 int secureWrite(
const void *buffer,
int size,
int &wrote);
74 void initContext(
bool server);
79 bool showCertificate()
const;
80 void checkResult(
int n,
int &retry);
82 bool verifyCertFingerprint(
const QString &FingerprintDatabasePath)
const;
88 void handleTCPConnected(
const Event &event);
94 std::mutex ssl_mutex_;
96 std::unique_ptr<Ssl> m_ssl;
97 bool m_secureReady =
false;
ArchSocketImpl * ArchSocket
Opaque socket type. An opaque type representing a socket.
Definition IArchNetwork.h:30
SecurityLevel
This enum is used to set how the client and server will communicate.
Definition SecurityLevel.h:14
@ Encrypted
Definition SecurityLevel.h:16
Event.
Definition Event.h:27
AddressFamily
Supported address families.
Definition IArchNetwork.h:57
Event queue interface.
Definition IEventQueue.h:32
Socket multiplexer job.
Definition ISocketMultiplexerJob.h:18
Network address type.
Definition NetworkAddress.h:18
ISocketMultiplexerJob * newJob() override
Definition SecureSocket.cpp:87
~SecureSocket() override
Definition SecureSocket.cpp:68
bool loadCertificates(const std::string &CertFile)
Definition SecureSocket.cpp:292
SecureSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family, SecurityLevel securityLevel=SecurityLevel::Encrypted)
Definition SecureSocket.cpp:49
SecureSocket & operator=(SecureSocket const &)=delete
SecureSocket(SecureSocket const &)=delete
void secureConnect()
Definition SecureSocket.cpp:98
bool isSecureReady() const
Definition SecureSocket.cpp:278
int secureWrite(const void *buffer, int size, int &wrote)
Definition SecureSocket.cpp:250
void close() override
Close socket.
Definition SecureSocket.cpp:73
SecureSocket & operator=(SecureSocket &&)=delete
void secureAccept()
Definition SecureSocket.cpp:105
void initSsl(bool server)
Definition SecureSocket.cpp:283
int secureRead(void *buffer, int size, int &read)
Definition SecureSocket.cpp:223
SecureSocket(SecureSocket &&)=delete
bool isFatal() const override
Definition SecureSocket.h:54
void isFatal(bool b)
Definition SecureSocket.h:58
void connect(const NetworkAddress &) override
Connect socket.
Definition SecureSocket.cpp:79
JobResult doRead() override
Definition SecureSocket.cpp:112
JobResult doWrite() override
Definition SecureSocket.cpp:169
Socket multiplexer.
Definition SocketMultiplexer.h:26
JobResult
Definition TCPSocket.h:63
uint32_t read(void *buffer, uint32_t n) override
Read from stream.
Definition TCPSocket.cpp:118
TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet)
Definition TCPSocket.cpp:30
Definition SecureSocket.cpp:39