25 Asymmetric& operator=(Asymmetric
const&);
26 Asymmetric(Asymmetric
const&);
32 virtual ~Asymmetric() =
default;
34 virtual bool generateKeyPair(::std::string& privateKey, ::std::string& publicKey) ;
37 constructPublicKey(::std::string
const& modulus, ::std::string
const& exponent, ::std::string& keyOut) ;
39 virtual ::std::string encryptData(
40 ::std::string
const& publicKey,
41 ::std::string
const& data,
42 ::Crypto::Asymmetric::Padding paddingType,
43 ::Crypto::Asymmetric::PubKeyFormat keyFormat,
47 virtual ::std::string decryptData(
48 ::std::string
const& privateKey,
49 ::std::string
const& data,
50 ::Crypto::Asymmetric::Padding paddingType
53 virtual ::std::string signData(
54 ::std::string
const& privateKey,
55 ::std::string
const& data,
56 ::Crypto::Hash::HashType hash,
57 ::Crypto::Asymmetric::PrivateKeySigningFormat format
60 virtual bool verifyData(
61 ::std::string
const& publicKey,
62 ::std::string
const& signature,
63 ::std::string
const& data,
64 ::Crypto::Hash::HashType hash
68 computeSharedSecret(::std::string
const& myPrivateKey, ::std::string
const& peerPublicKey) ;
74 MCNAPI
explicit Asymmetric(::Crypto::Asymmetric::System system);
82 MCNAPI
void*
$ctor(::Crypto::Asymmetric::System system);
90 MCNAPI
bool $constructPublicKey(::std::string
const& modulus, ::std::string
const& exponent, ::std::string& keyOut);
93 ::std::string
const& publicKey,
94 ::std::string
const& data,
95 ::Crypto::Asymmetric::Padding paddingType,
96 ::Crypto::Asymmetric::PubKeyFormat keyFormat,
101 $decryptData(::std::string
const& privateKey, ::std::string
const& data, ::Crypto::Asymmetric::Padding paddingType);
104 ::std::string
const& privateKey,
105 ::std::string
const& data,
106 ::Crypto::Hash::HashType hash,
107 ::Crypto::Asymmetric::PrivateKeySigningFormat format
111 ::std::string
const& publicKey,
112 ::std::string
const& signature,
113 ::std::string
const& data,
114 ::Crypto::Hash::HashType hash
117 MCNAPI ::std::string
$computeSharedSecret(::std::string
const& myPrivateKey, ::std::string
const& peerPublicKey);
MCAPI::std::string $encryptData(::std::string const &publicKey, ::std::string const &data, ::Crypto::Asymmetric::Padding paddingType, ::Crypto::Asymmetric::PubKeyFormat keyFormat, bool useSHA256)