00001 #ifndef N2NC_SECURITYRSA_H
00002 #define N2NC_SECURITYRSA_H
00003 #include "nixsys.h"
00004
00005 namespace n2nc {
00006 namespace security {
00007
00011 class Rsa{
00012 public:
00013 Rsa();
00014 int loadPubFromFile(std::string filename);
00015 int loadPriFromFile(std::string filename);
00016
00017 int encrypt(void *inbuf, void *outbuf, size_t inlen);
00018 int decrypt(void *inbuf, void *outbuf, size_t inlen);
00019
00020 int genkey(std::string filename);
00021
00022
00023 ~Rsa();
00024 typedef uint32_t ID ;
00025 int getID();
00026 private:
00027
00028 bool m_pub_isloaded ;
00029 bool m_pri_isloaded ;
00030 ::RSA *m_pub_rsa ;
00031 ::RSA *m_pri_rsa ;
00032 };
00033
00034 }
00035 }
00036
00037 #endif