diff options
author | madmaxoft <github@xoft.cz> | 2014-05-01 11:48:03 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-05-01 11:48:03 +0200 |
commit | 272c232efb645c9f7d75556aeb047e13b244c9ed (patch) | |
tree | 7076527ff978a8c906323ab11d905fd2ad6dceba /src/HTTPServer/SslHTTPConnection.h | |
parent | Fixed HTTP message parsing, prepared for SSL. (diff) | |
download | cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.tar cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.tar.gz cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.tar.bz2 cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.tar.lz cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.tar.xz cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.tar.zst cuberite-272c232efb645c9f7d75556aeb047e13b244c9ed.zip |
Diffstat (limited to '')
-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..2a648e8c8 --- /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. a_Private key is, despite the class name, a PRIVATE key for the cert. */ + cSslHTTPConnection(cHTTPServer & a_HTTPServer, const cX509CertPtr & a_Cert, const cPublicKeyPtr & a_PrivateKey); + +protected: + cBufferedSslContext m_Ssl; + + /** The certificate to send to the client */ + cX509CertPtr m_Cert; + + /** The private key used for the certificate */ + cPublicKeyPtr m_PrivateKey; + + // cHTTPConnection overrides: + virtual void 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 +} ; + + + + |