Добавить в common компонент для работы с private/public ключами
Closed this issue · 3 comments
nocomentsspb commented
Компонент должен позволять:
- генерировать пару private и public ключей
- хранить ключи
nocomentsspb commented
Например алгоритм RSA
nocomentsspb commented
Предлагаю следующий вариант интерфейса
class PublicKey {
public:
bool verify(const std::string& sign, const std::string& data) const;
// Проверяет что подпись sign для данных data валидна (т.е. подписано
// соответствующим PrivateKey
};
class PrivateKey {
public:
std::string sign(const std::string& data) const;
// Подписывает data данные
};
class RSAUtil {
public:
static std::pair<PrivateKey, PublicKey> generate();
// Генерирует новую пару public и private ключей
};
Siinthd commented
Предлагаю следующий вариант интерфейса
class PublicKey { public: bool verify(const std::string& sign, const std::string& data) const; // Проверяет что подпись sign для данных data валидна (т.е. подписано // соответствующим PrivateKey }; class PrivateKey { public: std::string sign(const std::string& data) const; // Подписывает data данные }; class RSAUtil { public: static std::pair<PrivateKey, PublicKey> generate(); // Генерирует новую пару public и private ключей };
по поводу PrivateKey и verify эти функции можно выполнить через методы Load и private/public key из методов openssl/rsa.h и /bio.h,