Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GNASH_SSL_SERVER_H
00020 #define GNASH_SSL_SERVER_H
00021
00022 #ifdef HAVE_CONFIG_H
00023 #include "gnashconfig.h"
00024 #endif
00025
00026 #include <boost/array.hpp>
00027 #include <boost/shared_ptr.hpp>
00028 #include <boost/shared_array.hpp>
00029 #include <boost/scoped_array.hpp>
00030 #include <boost/cstdint.hpp>
00031 #include <sstream>
00032
00033 #ifdef HAVE_OPENSSL_SSL_H
00034 #include <openssl/ssl.h>
00035 #include <openssl/err.h>
00036 #endif
00037
00038 #include "sslclient.h"
00039 #include "cque.h"
00040 #include "network.h"
00041 #include "buffer.h"
00042
00043 namespace gnash
00044 {
00045
00046 extern const char *ROOTPATH;
00047 extern const char *HOST;
00048 extern const char *CA_LIST;
00049 extern const char *RANDOM;
00050 extern const char *KEYFILE;
00051 extern const char *SERVER_KEYFILE;
00052 extern const size_t SSL_PASSWD_SIZE;
00053 extern const char *PASSWORD;
00054 extern const char *DHFILE;
00055
00056 class DSOEXPORT SSLServer : public SSLClient {
00057 public:
00058 SSLServer();
00059 ~SSLServer();
00060
00061 bool loadDhParams(char *file);
00062 bool loadDhParams(SSL_CTX *ctx, char *file);
00063
00064 void generateEphRSAKey(SSL_CTX *ctx);
00065
00066
00067 size_t sslAccept(int fd);
00068
00069
00070 void dump();
00071 };
00072
00073 }
00074
00075
00076 #endif
00077
00078
00079
00080
00081