LeviLamina
Loading...
Searching...
No Matches
OpenSSLCertificateInterface.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 OpenSSLCertificateInterface : public ::Crypto::Certificate::ISystemInterface {
14public:
15 // member variables
16 // NOLINTBEGIN
19 // NOLINTEND
20
21public:
22 // prevent constructor by default
23 OpenSSLCertificateInterface& operator=(OpenSSLCertificateInterface const&);
24 OpenSSLCertificateInterface(OpenSSLCertificateInterface const&);
25 OpenSSLCertificateInterface();
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ~OpenSSLCertificateInterface() /*override*/ = default;
31
32#ifdef LL_PLAT_S
33 virtual ::std::string serialize(::Crypto::Certificate::Encoding encoding) const /*override*/;
34#else // LL_PLAT_C
35 virtual ::std::string serialize(::Crypto::Certificate::Encoding) const /*override*/;
36#endif
37
38#ifdef LL_PLAT_S
39 virtual ::std::string extractPublicKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
40#else // LL_PLAT_C
41 virtual ::std::string extractPublicKey(::Crypto::Certificate::Encoding) const /*override*/;
42#endif
43
44#ifdef LL_PLAT_S
45 virtual ::std::string extractPrivateKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
46#else // LL_PLAT_C
47 virtual ::std::string extractPrivateKey(::Crypto::Certificate::Encoding) const /*override*/;
48#endif
49
50 virtual ::std::string getIssuer() const /*override*/;
51
52 virtual bool hasValidCertChain() const /*override*/;
53
54#ifdef LL_PLAT_S
55 virtual ::std::string generateCertificateThumbprint(
56 ::Crypto::Hash::HashType hashFunction,
57 ::Crypto::Certificate::ThumbprintFormat formatting
58 ) const /*override*/;
59#else // LL_PLAT_C
60 virtual ::std::string
61 generateCertificateThumbprint(::Crypto::Hash::HashType, ::Crypto::Certificate::ThumbprintFormat) const
62 /*override*/;
63#endif
64
65#ifdef LL_PLAT_S
66 virtual ::std::string generatePublicKeyThumbprint(
67 ::Crypto::Hash::HashType hashFunction,
68 ::Crypto::Certificate::ThumbprintFormat formatting
69 ) const /*override*/;
70#else // LL_PLAT_C
71 virtual ::std::string
72 generatePublicKeyThumbprint(::Crypto::Hash::HashType, ::Crypto::Certificate::ThumbprintFormat) const
73 /*override*/;
74#endif
75
76 // NOLINTEND
77
78public:
79 // member functions
80 // NOLINTBEGIN
81#ifdef LL_PLAT_S
82 MCNAPI OpenSSLCertificateInterface(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
83#endif
84 // NOLINTEND
85
86public:
87 // static functions
88 // NOLINTBEGIN
89#ifdef LL_PLAT_S
90 MCNAPI static ::std::string
91 _formatThumbprint(::std::string const& rawThumbprint, ::Crypto::Certificate::ThumbprintFormat formatting);
92#endif
93 // NOLINTEND
94
95public:
96 // constructor thunks
97 // NOLINTBEGIN
98#ifdef LL_PLAT_S
99 MCNAPI void* $ctor(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
100#endif
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106#ifdef LL_PLAT_S
107 MCNAPI ::std::string $serialize(::Crypto::Certificate::Encoding encoding) const;
108
109 MCNAPI ::std::string $extractPublicKey(::Crypto::Certificate::Encoding encoding) const;
110
111 MCNAPI ::std::string $extractPrivateKey(::Crypto::Certificate::Encoding encoding) const;
112
113 MCNAPI ::std::string $getIssuer() const;
114
115 MCNAPI bool $hasValidCertChain() const;
116
117 MCNAPI ::std::string $generateCertificateThumbprint(
118 ::Crypto::Hash::HashType hashFunction,
119 ::Crypto::Certificate::ThumbprintFormat formatting
120 ) const;
121
122 MCNAPI ::std::string $generatePublicKeyThumbprint(
123 ::Crypto::Hash::HashType hashFunction,
124 ::Crypto::Certificate::ThumbprintFormat formatting
125 ) const;
126#endif
127
128
129 // NOLINTEND
130};
131
132} // namespace Crypto::Certificate
Definition ISystemInterface.h:12
Definition Alias.h:14