mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-07 21:38:01 -05:00
26 lines
714 B
C++
26 lines
714 B
C++
#pragma once
|
|
#include "Crypto.h"
|
|
#include "IPublicKeyAlgorithm.h"
|
|
|
|
#include <cstdint>
|
|
|
|
class AlgorithmRSA final : public IPublicKeyAlgorithm
|
|
{
|
|
class AlgorithmRSAImpl;
|
|
AlgorithmRSAImpl* m_impl;
|
|
|
|
public:
|
|
AlgorithmRSA(HashingAlgorithm hash, Crypto::RSAPaddingMode padding);
|
|
~AlgorithmRSA() override;
|
|
|
|
AlgorithmRSA(AlgorithmRSA& other);
|
|
AlgorithmRSA(AlgorithmRSA&& other) noexcept;
|
|
|
|
AlgorithmRSA& operator=(AlgorithmRSA const& other);
|
|
AlgorithmRSA& operator=(AlgorithmRSA&& other) noexcept;
|
|
|
|
bool SetKey(const uint8_t* keyData, size_t keySize) override;
|
|
|
|
bool Verify(const uint8_t* signedData, size_t signedDataSize, const uint8_t* signature, size_t signatureSize) override;
|
|
};
|