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/asymmetric/ISystemInterface.h"
7#include "mc/deps/crypto/asymmetric/Padding.h"
8#include "mc/deps/crypto/asymmetric/PrivateKeySigningFormat.h"
9#include "mc/deps/crypto/asymmetric/PubKeyFormat.h"
10#include "mc/deps/crypto/asymmetric/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 ) /*override*/;
49
50 // vIndex: 4
51 virtual ::std::string decryptData(
52 ::std::string const& privateKey,
53 ::std::string const& data,
54 ::Crypto::Asymmetric::Padding paddingType
55 ) /*override*/;
56
57 // vIndex: 5
58 virtual ::std::string signData(
59 ::std::string const& privateKey,
60 ::std::string const& data,
61 ::Crypto::Hash::HashType hash,
62 ::Crypto::Asymmetric::PrivateKeySigningFormat format
63 ) /*override*/;
64
65 // vIndex: 6
66 virtual bool verifyData(
67 ::std::string const& publicKey,
68 ::std::string const& signature,
69 ::std::string const& data,
70 ::Crypto::Hash::HashType hash
71 ) /*override*/;
72
73 // vIndex: 7
74 virtual ::std::string
75 computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey) /*override*/;
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81 MCNAPI explicit Asymmetric(::Crypto::Asymmetric::System system);
82 // NOLINTEND
83
84public:
85 // constructor thunks
86 // NOLINTBEGIN
87 MCNAPI void* $ctor(::Crypto::Asymmetric::System system);
88 // NOLINTEND
89
90public:
91 // virtual function thunks
92 // NOLINTBEGIN
93 MCNAPI bool $generateKeyPair(::std::string& privateKey, ::std::string& publicKey);
94
95 MCNAPI bool $constructPublicKey(::std::string const& modulus, ::std::string const& exponent, ::std::string& keyOut);
96
97 MCNAPI ::std::string $encryptData(
98 ::std::string const& publicKey,
99 ::std::string const& data,
100 ::Crypto::Asymmetric::Padding paddingType,
101 ::Crypto::Asymmetric::PubKeyFormat keyFormat
102 );
103
104 MCNAPI ::std::string
105 $decryptData(::std::string const& privateKey, ::std::string const& data, ::Crypto::Asymmetric::Padding paddingType);
106
107 MCNAPI ::std::string $signData(
108 ::std::string const& privateKey,
109 ::std::string const& data,
110 ::Crypto::Hash::HashType hash,
111 ::Crypto::Asymmetric::PrivateKeySigningFormat format
112 );
113
114 MCNAPI bool $verifyData(
115 ::std::string const& publicKey,
116 ::std::string const& signature,
117 ::std::string const& data,
118 ::Crypto::Hash::HashType hash
119 );
120
121 MCNAPI ::std::string $computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey);
122 // NOLINTEND
123
124public:
125 // vftables
126 // NOLINTBEGIN
127 MCNAPI static void** $vftable();
128 // NOLINTEND
129};
130
131} // 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::std::string $encryptData(::std::string const &publicKey, ::std::string const &data, ::Crypto::Asymmetric::Padding paddingType, ::Crypto::Asymmetric::PubKeyFormat keyFormat)
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)
Definition ISystemInterface.h:13
Definition Alias.h:14