diff options
author | Tycho <work.tycho+git@gmail.com> | 2014-05-25 19:02:33 +0200 |
---|---|---|
committer | Tycho <work.tycho+git@gmail.com> | 2014-05-25 19:02:33 +0200 |
commit | 8133efd7f9def01b81ef2a52c05d8ec5b7f89632 (patch) | |
tree | a56f6889aea8de8759fab87abdee2eef778873ed /src/HTTPServer/SslHTTPConnection.h | |
parent | Fixed bug in freeing NULL pointers (diff) | |
parent | inject TestGlobals.h correctly (diff) | |
download | cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.gz cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.bz2 cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.lz cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.xz cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.tar.zst cuberite-8133efd7f9def01b81ef2a52c05d8ec5b7f89632.zip |
Diffstat (limited to 'src/HTTPServer/SslHTTPConnection.h')
-rw-r--r-- | src/HTTPServer/SslHTTPConnection.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/HTTPServer/SslHTTPConnection.h b/src/HTTPServer/SslHTTPConnection.h new file mode 100644 index 000000000..c2c1585cd --- /dev/null +++ b/src/HTTPServer/SslHTTPConnection.h @@ -0,0 +1,45 @@ + +// SslHTTPConnection.h + +// Declared the cSslHTTPConnection class representing a HTTP connection made over a SSL link + + + + + +#pragma once + +#include "HTTPConnection.h" +#include "PolarSSL++/BufferedSslContext.h" + + + + + +class cSslHTTPConnection : + public cHTTPConnection +{ + typedef cHTTPConnection super; + +public: + /** Creates a new connection on the specified server. + Sends the specified cert as the server certificate, uses the private key for decryption. */ + cSslHTTPConnection(cHTTPServer & a_HTTPServer, const cX509CertPtr & a_Cert, const cCryptoKeyPtr & a_PrivateKey); + +protected: + cBufferedSslContext m_Ssl; + + /** The certificate to send to the client */ + cX509CertPtr m_Cert; + + /** The private key used for the certificate */ + cCryptoKeyPtr m_PrivateKey; + + // cHTTPConnection overrides: + virtual bool DataReceived (const char * a_Data, size_t a_Size) override; // Data is received from the client + virtual void GetOutgoingData(AString & a_Data) override; // Data can be sent to client +} ; + + + + |