LeviLamina
Loading...
Searching...
No Matches
Asymmetric.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/crypto/Padding.h"
7#include "mc/deps/crypto/PrivateKeySigningFormat.h"
8#include "mc/deps/crypto/PubKeyFormat.h"
9#include "mc/deps/crypto/asymmetric/system/ISystemInterface.h"
10#include "mc/deps/crypto/asymmetric/system/System.h"
11#include "mc/deps/crypto/hash/HashType.h"
12
13namespace Crypto::Asymmetric {
14
16public:
17 // member variables
18 // NOLINTBEGIN
21 // NOLINTEND
22
23public:
24 // prevent constructor by default
25 Asymmetric& operator=(Asymmetric const&);
26 Asymmetric(Asymmetric const&);
27 Asymmetric();
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 // vIndex: 0
33 virtual ~Asymmetric() /*override*/ = default;
34
35 // vIndex: 1
36 virtual bool generateKeyPair(::std::string& privateKey, ::std::string& publicKey) /*override*/;
37
38 // vIndex: 2
39 virtual bool
40 constructPublicKey(::std::string const& modulus, ::std::string const& exponent, ::std::string& keyOut) /*override*/;
41
42 // vIndex: 3
43 virtual ::std::string encryptData(
44 ::std::string const& publicKey,
45 ::std::string const& data,
46 ::Crypto::Asymmetric::Padding paddingType,
47 ::Crypto::Asymmetric::PubKeyFormat keyFormat,
48 bool useSHA256
49 ) /*override*/;
50
51 // vIndex: 4
52 virtual ::std::string decryptData(
53 ::std::string const& privateKey,
54 ::std::string const& data,
55 ::Crypto::Asymmetric::Padding paddingType
56 ) /*override*/;
57
58 // vIndex: 5
59 virtual ::std::string signData(
60 ::std::string const& privateKey,
61 ::std::string const& data,
62 ::Crypto::Hash::HashType hash,
63 ::Crypto::Asymmetric::PrivateKeySigningFormat format
64 ) /*override*/;
65
66 // vIndex: 6
67 virtual bool verifyData(
68 ::std::string const& publicKey,
69 ::std::string const& signature,
70 ::std::string const& data,
71 ::Crypto::Hash::HashType hash
72 ) /*override*/;
73
74 // vIndex: 7
75 virtual ::std::string
76 computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey) /*override*/;
77 // NOLINTEND
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCNAPI explicit Asymmetric(::Crypto::Asymmetric::System system);
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCNAPI void* $ctor(::Crypto::Asymmetric::System system);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCNAPI bool $generateKeyPair(::std::string& privateKey, ::std::string& publicKey);
95
96 MCNAPI bool $constructPublicKey(::std::string const& modulus, ::std::string const& exponent, ::std::string& keyOut);
97
98 MCNAPI ::std::string $encryptData(
99 ::std::string const& publicKey,
100 ::std::string const& data,
101 ::Crypto::Asymmetric::Padding paddingType,
102 ::Crypto::Asymmetric::PubKeyFormat keyFormat,
103 bool useSHA256
104 );
105
106 MCNAPI ::std::string
107 $decryptData(::std::string const& privateKey, ::std::string const& data, ::Crypto::Asymmetric::Padding paddingType);
108
109 MCNAPI ::std::string $signData(
110 ::std::string const& privateKey,
111 ::std::string const& data,
112 ::Crypto::Hash::HashType hash,
113 ::Crypto::Asymmetric::PrivateKeySigningFormat format
114 );
115
116 MCNAPI bool $verifyData(
117 ::std::string const& publicKey,
118 ::std::string const& signature,
119 ::std::string const& data,
120 ::Crypto::Hash::HashType hash
121 );
122
123 MCNAPI ::std::string $computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey);
124 // NOLINTEND
125
126public:
127 // vftables
128 // NOLINTBEGIN
129 MCNAPI static void** $vftable();
130 // NOLINTEND
131};
132
133} // namespace Crypto::Asymmetric
Definition Asymmetric.h:15
MCAPI bool $verifyData(::std::string const &publicKey, ::std::string const &signature, ::std::string const &data, ::Crypto::Hash::HashType hash)
MCAPI bool $generateKeyPair(::std::string &privateKey, ::std::string &publicKey)
MCAPI::std::string $computeSharedSecret(::std::string const &myPrivateKey, ::std::string const &peerPublicKey)
static MCAPI void ** $vftable()
MCAPI::std::string $decryptData(::std::string const &privateKey, ::std::string const &data, ::Crypto::Asymmetric::Padding paddingType)
MCAPI void * $ctor(::Crypto::Asymmetric::System system)
MCAPI::std::string $signData(::std::string const &privateKey, ::std::string const &data, ::Crypto::Hash::HashType hash, ::Crypto::Asymmetric::PrivateKeySigningFormat format)
MCAPI Asymmetric(::Crypto::Asymmetric::System system)
MCAPI bool $constructPublicKey(::std::string const &modulus, ::std::string const &exponent, ::std::string &keyOut)
MCAPI::std::string $encryptData(::std::string const &publicKey, ::std::string const &data, ::Crypto::Asymmetric::Padding paddingType, ::Crypto::Asymmetric::PubKeyFormat keyFormat, bool useSHA256)
Definition ISystemInterface.h:13
Definition Alias.h:14