LeviLamina
Loading...
Searching...
No Matches
Certificate.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/crypto/certificate/Encoding.h"
7#include "mc/deps/crypto/certificate/ThumbprintFormat.h"
8#include "mc/deps/crypto/certificate/system/ISystemInterface.h"
9#include "mc/deps/crypto/hash/HashType.h"
10
11namespace Crypto::Certificate {
12
13class Certificate : public ::Crypto::Certificate::ISystemInterface {
14public:
15 // member variables
16 // NOLINTBEGIN
18 // NOLINTEND
19
20public:
21 // prevent constructor by default
22 Certificate& operator=(Certificate const&);
23 Certificate(Certificate const&);
24 Certificate();
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~Certificate() /*override*/ = default;
30
31#ifdef LL_PLAT_S
32 virtual ::std::string serialize(::Crypto::Certificate::Encoding encoding) const /*override*/;
33#else // LL_PLAT_C
34 virtual ::std::string serialize(::Crypto::Certificate::Encoding) const /*override*/;
35#endif
36
37#ifdef LL_PLAT_S
38 virtual ::std::string extractPublicKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
39#else // LL_PLAT_C
40 virtual ::std::string extractPublicKey(::Crypto::Certificate::Encoding) const /*override*/;
41#endif
42
43#ifdef LL_PLAT_S
44 virtual ::std::string extractPrivateKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
45#else // LL_PLAT_C
46 virtual ::std::string extractPrivateKey(::Crypto::Certificate::Encoding) const /*override*/;
47#endif
48
49 virtual ::std::string getIssuer() const /*override*/;
50
51 virtual bool hasValidCertChain() const /*override*/;
52
53#ifdef LL_PLAT_S
54 virtual ::std::string generateCertificateThumbprint(
55 ::Crypto::Hash::HashType hashFunction,
56 ::Crypto::Certificate::ThumbprintFormat formatting
57 ) const /*override*/;
58#else // LL_PLAT_C
59 virtual ::std::string
60 generateCertificateThumbprint(::Crypto::Hash::HashType, ::Crypto::Certificate::ThumbprintFormat) const
61 /*override*/;
62#endif
63
64#ifdef LL_PLAT_S
65 virtual ::std::string generatePublicKeyThumbprint(
66 ::Crypto::Hash::HashType hashFunction,
67 ::Crypto::Certificate::ThumbprintFormat formatting
68 ) const /*override*/;
69#else // LL_PLAT_C
70 virtual ::std::string
71 generatePublicKeyThumbprint(::Crypto::Hash::HashType, ::Crypto::Certificate::ThumbprintFormat) const
72 /*override*/;
73#endif
74
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80#ifdef LL_PLAT_S
81 MCNAPI Certificate(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
82#endif
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88#ifdef LL_PLAT_S
89 MCNAPI void* $ctor(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
90#endif
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96#ifdef LL_PLAT_S
97 MCNAPI ::std::string $serialize(::Crypto::Certificate::Encoding encoding) const;
98
99 MCNAPI ::std::string $extractPublicKey(::Crypto::Certificate::Encoding encoding) const;
100
101 MCNAPI ::std::string $extractPrivateKey(::Crypto::Certificate::Encoding encoding) const;
102
103 MCNAPI ::std::string $getIssuer() const;
104
105 MCNAPI bool $hasValidCertChain() const;
106
107 MCNAPI ::std::string $generateCertificateThumbprint(
108 ::Crypto::Hash::HashType hashFunction,
109 ::Crypto::Certificate::ThumbprintFormat formatting
110 ) const;
111
112 MCNAPI ::std::string $generatePublicKeyThumbprint(
113 ::Crypto::Hash::HashType hashFunction,
114 ::Crypto::Certificate::ThumbprintFormat formatting
115 ) const;
116#endif
117
118
119 // NOLINTEND
120};
121
122} // namespace Crypto::Certificate
Definition ISystemInterface.h:12
Definition Alias.h:14