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/hash/HashType.h"
11
12namespace Crypto::Asymmetric {
13
15public:
16 // member variables
17 // NOLINTBEGIN
20 // NOLINTEND
21
22public:
23 // prevent constructor by default
24 Asymmetric& operator=(Asymmetric const&);
25 Asymmetric(Asymmetric const&);
26 Asymmetric();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 0
32 virtual ~Asymmetric() /*override*/ = default;
33
34 // vIndex: 1
35 virtual bool generateKeyPair(::std::string& privateKey, ::std::string& publicKey) /*override*/;
36
37 // vIndex: 2
38 virtual ::std::string encryptData(
39 ::std::string const& publicKey,
40 ::std::string const& data,
41 ::Crypto::Asymmetric::Padding paddingType,
42 ::Crypto::Asymmetric::PubKeyFormat keyFormat
43 ) /*override*/;
44
45 // vIndex: 3
46 virtual ::std::string decryptData(
47 ::std::string const& privateKey,
48 ::std::string const& data,
49 ::Crypto::Asymmetric::Padding paddingType
50 ) /*override*/;
51
52 // vIndex: 4
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
58 ) /*override*/;
59
60 // vIndex: 5
61 virtual bool verifyData(
62 ::std::string const& publicKey,
63 ::std::string const& signature,
64 ::std::string const& data,
65 ::Crypto::Hash::HashType hash
66 ) /*override*/;
67
68 // vIndex: 6
69 virtual ::std::string
70 computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey) /*override*/;
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCNAPI bool $generateKeyPair(::std::string& privateKey, ::std::string& publicKey);
77
78 MCNAPI ::std::string $encryptData(
79 ::std::string const& publicKey,
80 ::std::string const& data,
81 ::Crypto::Asymmetric::Padding paddingType,
82 ::Crypto::Asymmetric::PubKeyFormat keyFormat
83 );
84
85 MCNAPI ::std::string
86 $decryptData(::std::string const& privateKey, ::std::string const& data, ::Crypto::Asymmetric::Padding paddingType);
87
88 MCNAPI ::std::string $signData(
89 ::std::string const& privateKey,
90 ::std::string const& data,
91 ::Crypto::Hash::HashType hash,
92 ::Crypto::Asymmetric::PrivateKeySigningFormat format
93 );
94
95 MCNAPI bool $verifyData(
96 ::std::string const& publicKey,
97 ::std::string const& signature,
98 ::std::string const& data,
99 ::Crypto::Hash::HashType hash
100 );
101
102 MCNAPI ::std::string $computeSharedSecret(::std::string const& myPrivateKey, ::std::string const& peerPublicKey);
103 // NOLINTEND
104
105public:
106 // vftables
107 // NOLINTBEGIN
108 MCNAPI static void** $vftable();
109 // NOLINTEND
110};
111
112} // namespace Crypto::Asymmetric
Definition Asymmetric.h:14
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::std::string $signData(::std::string const &privateKey, ::std::string const &data, ::Crypto::Hash::HashType hash, ::Crypto::Asymmetric::PrivateKeySigningFormat format)
Definition ISystemInterface.h:13
Definition Alias.h:14