summaryrefslogtreecommitdiffstats
path: root/src/HTTPServer/SslHTTPConnection.h
diff options
context:
space:
mode:
authorTycho <work.tycho+git@gmail.com>2014-05-24 13:44:49 +0200
committerTycho <work.tycho+git@gmail.com>2014-05-24 13:44:49 +0200
commit4ab82881165cb180b020e67f851028718ab84d87 (patch)
tree93e773ebd46fb76dd520821133b01f6d99b26e94 /src/HTTPServer/SslHTTPConnection.h
parentIgnore CTest files (diff)
parentMerge pull request #1022 from mc-server/FixMineshafts (diff)
downloadcuberite-4ab82881165cb180b020e67f851028718ab84d87.tar
cuberite-4ab82881165cb180b020e67f851028718ab84d87.tar.gz
cuberite-4ab82881165cb180b020e67f851028718ab84d87.tar.bz2
cuberite-4ab82881165cb180b020e67f851028718ab84d87.tar.lz
cuberite-4ab82881165cb180b020e67f851028718ab84d87.tar.xz
cuberite-4ab82881165cb180b020e67f851028718ab84d87.tar.zst
cuberite-4ab82881165cb180b020e67f851028718ab84d87.zip
Diffstat (limited to 'src/HTTPServer/SslHTTPConnection.h')
-rw-r--r--src/HTTPServer/SslHTTPConnection.h45
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
+} ;
+
+
+
+