LeviLamina
Loading...
Searching...
No Matches
ISystemInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/crypto/asymmetric/Padding.h"
7#include "mc/deps/crypto/asymmetric/PrivateKeySigningFormat.h"
8#include "mc/deps/crypto/asymmetric/PubKeyFormat.h"
9#include "mc/deps/crypto/hash/HashType.h"
10
11namespace Crypto::Asymmetric {
12
14public:
15 // virtual functions
16 // NOLINTBEGIN
17 // vIndex: 0
18 virtual ~ISystemInterface() = default;
19
20 // vIndex: 1
21 virtual bool generateKeyPair(::std::string&, ::std::string&) = 0;
22
23 // vIndex: 2
24 virtual bool constructPublicKey(::std::string const&, ::std::string const&, ::std::string&) = 0;
25
26 // vIndex: 3
27 virtual ::std::string encryptData(
28 ::std::string const&,
29 ::std::string const&,
30 ::Crypto::Asymmetric::Padding,
31 ::Crypto::Asymmetric::PubKeyFormat
32 ) = 0;
33
34 // vIndex: 4
35 virtual ::std::string decryptData(::std::string const&, ::std::string const&, ::Crypto::Asymmetric::Padding) = 0;
36
37 // vIndex: 5
38 virtual ::std::string signData(
39 ::std::string const&,
40 ::std::string const&,
41 ::Crypto::Hash::HashType,
42 ::Crypto::Asymmetric::PrivateKeySigningFormat
43 ) = 0;
44
45 // vIndex: 6
46 virtual bool
47 verifyData(::std::string const&, ::std::string const&, ::std::string const&, ::Crypto::Hash::HashType) = 0;
48
49 // vIndex: 7
50 virtual ::std::string computeSharedSecret(::std::string const&, ::std::string const&) = 0;
51 // NOLINTEND
52
53public:
54 // virtual function thunks
55 // NOLINTBEGIN
56
57 // NOLINTEND
58};
59
60} // namespace Crypto::Asymmetric
Definition ISystemInterface.h:13