decrypt.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __NETCOMM_WORLDINFO_DECRYPT_H_
00025 #define __NETCOMM_WORLDINFO_DECRYPT_H_
00026
00027 #include <core/exception.h>
00028 #include <cstddef>
00029
00030 namespace fawkes {
00031
00032 class MessageDecryptionException : public Exception
00033 {
00034 public:
00035 MessageDecryptionException(const char *msg);
00036 };
00037
00038
00039 class WorldInfoMessageDecryptor
00040 {
00041 public:
00042 WorldInfoMessageDecryptor(const unsigned char *key, const unsigned char *iv);
00043 ~WorldInfoMessageDecryptor();
00044
00045 void set_plain_buffer(void *buffer, size_t buffer_length);
00046 void set_crypt_buffer(void *buffer, size_t buffer_length);
00047
00048 size_t decrypt();
00049
00050 private:
00051 void *plain_buffer;
00052 size_t plain_buffer_length;
00053 void *crypt_buffer;
00054 size_t crypt_buffer_length;
00055
00056 const unsigned char *key;
00057 const unsigned char *iv;
00058 };
00059
00060 }
00061
00062
00063 #endif