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