Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
NullSSLInterface.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/asymmetric/system/ISystemInterface.h"
10#include "mc/deps/crypto/hash/HashType.h"
11#include "mc/platform/Result.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace Crypto::Asymmetric { struct EcPublicKeyComponents; }
16namespace Crypto::Asymmetric { struct RsaPublicKeyComponents; }
17// clang-format on
18
19namespace Crypto::Asymmetric {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~NullSSLInterface() /*override*/ = default;
26
27 virtual bool generateKeyPair(::std::string&, ::std::string&) /*override*/;
28
29 virtual ::Bedrock::Result<::std::string>
30 parsePrivateKey(::std::string const&, ::Crypto::Asymmetric::PrivateKeySigningFormat) /*override*/;
31
32 virtual ::Bedrock::Result<::std::string> derivePublicKey(::std::string const&) /*override*/;
33
34 virtual ::Bedrock::Result<::std::string> constructPublicKey(
35 ::std::variant<::Crypto::Asymmetric::RsaPublicKeyComponents, ::Crypto::Asymmetric::EcPublicKeyComponents> const&
36 ) /*override*/;
37
38 virtual ::Bedrock::Result<
39 ::std::variant<::Crypto::Asymmetric::RsaPublicKeyComponents, ::Crypto::Asymmetric::EcPublicKeyComponents>>
40 deconstructPublicKey(::std::string const&) /*override*/;
41
42 virtual ::std::string encryptData(
43 ::std::string const&,
44 ::std::string const&,
45 ::Crypto::Asymmetric::Padding,
46 ::Crypto::Asymmetric::PubKeyFormat,
47 bool
48 ) /*override*/;
49
50 virtual ::std::string
51 decryptData(::std::string const&, ::std::string const&, ::Crypto::Asymmetric::Padding) /*override*/;
52
53 virtual ::std::string signData(
54 ::std::string const&,
55 ::std::string const&,
56 ::Crypto::Hash::HashType,
57 ::Crypto::Asymmetric::PrivateKeySigningFormat
58 ) /*override*/;
59
60 virtual bool
61 verifyData(::std::string const&, ::std::string const&, ::std::string const&, ::Crypto::Hash::HashType) /*override*/;
62
63 virtual ::std::string computeSharedSecret(::std::string const&, ::std::string const&) /*override*/;
64 // NOLINTEND
65};
66
67} // namespace Crypto::Asymmetric
Definition ISystemInterface.h:20
Definition NullSSLInterface.h:21
Definition EcPublicKeyComponents.h:7
Definition RsaPublicKeyComponents.h:7