AusweisApp2
TlsServer.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include <QByteArray>
10 #include <QPointer>
11 #include <QSslConfiguration>
12 #include <QSslError>
13 #include <QSslPreSharedKeyAuthenticator>
14 #include <QSslSocket>
15 #include <QTcpServer>
16 
17 namespace governikus
18 {
19 
20 class TlsServer
21  : public QTcpServer
22 {
23  Q_OBJECT
24 
25  private:
26  void incomingConnection(qintptr pSocketDescriptor) override;
27  virtual QSslConfiguration sslConfiguration() const = 0;
28 
29  private Q_SLOTS:
30  void onPreSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator* pAuthenticator);
31  void onError(QAbstractSocket::SocketError pSocketError);
32  virtual void onSslErrors(const QList<QSslError>& pErrors) = 0;
33  virtual void onEncrypted() = 0;
34 
35  protected:
36  QPointer<QSslSocket> mSocket;
37  QByteArray mPsk;
38 
39  public:
40  TlsServer();
41  ~TlsServer() override;
42  void setPsk(const QByteArray& pPsk);
43  void stopListening();
44  virtual bool startListening(quint16 pPort) = 0;
45 
46  Q_SIGNALS:
47  void fireNewConnection(QTcpSocket* pSocket);
48  void firePskChanged(const QByteArray& pPsk);
49 };
50 
51 } // namespace governikus
Definition: TlsServer.h:22
void stopListening()
Definition: TlsServer.cpp:44
QPointer< QSslSocket > mSocket
Definition: TlsServer.h:36
void firePskChanged(const QByteArray &pPsk)
void setPsk(const QByteArray &pPsk)
Definition: TlsServer.cpp:34
TlsServer()
Definition: TlsServer.cpp:15
virtual bool startListening(quint16 pPort)=0
void fireNewConnection(QTcpSocket *pSocket)
QByteArray mPsk
Definition: TlsServer.h:37
~TlsServer() override
Definition: TlsServer.cpp:25
A simple template renderer.
Definition: ActivationContext.h:15