auxiliarytool/cryp/box_rsa.h

32 lines
814 B
C
Raw Normal View History

2024-02-28 15:51:36 +08:00
#ifndef BOX_CRTP_RSA_H
#define BOX_CRTP_RSA_H
namespace cppbox {
struct HData {
unsigned char* data;
size_t len;
};
class CRSAOperatorImp;
class CRSAOperator
{
private:
CRSAOperatorImp* imp_{};
char* err_{};
public:
CRSAOperator();
~CRSAOperator();
public:
bool encrypt_pub(const HData& public_pem, const HData& data, HData& result);
bool encrypt_pub(const char* pub_path, const HData& data, HData& result);
bool decrypt_pri(const HData& private_pem, const HData& data, HData& result);
bool decrypt_pri(const char* pri_path, const HData& data, HData& result);
bool generate_keypair(const char* pub_path, const char* pri_path);
bool generate_keypair(HData& pub, HData& pri);
const char* get_last_error() const;
};
} // namespace cppbox
#endif