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 virtual ::std::string serialize(::Crypto::Certificate::Encoding encoding) const /*override*/;
33
34 virtual ::std::string extractPublicKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
35
36 virtual ::std::string extractPrivateKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
37
38 virtual ::std::string getIssuer() const /*override*/;
39
40 virtual bool hasValidCertChain() const /*override*/;
41
42 virtual ::std::string generateCertificateThumbprint(
43 ::Crypto::Hash::HashType hashFunction,
44 ::Crypto::Certificate::ThumbprintFormat formatting
45 ) const /*override*/;
46
47 virtual ::std::string generatePublicKeyThumbprint(
48 ::Crypto::Hash::HashType hashFunction,
49 ::Crypto::Certificate::ThumbprintFormat formatting
50 ) const /*override*/;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56#ifdef LL_PLAT_S
57 MCNAPI OpenSSLCertificateInterface(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
58#endif
59 // NOLINTEND
60
61public:
62 // static functions
63 // NOLINTBEGIN
64#ifdef LL_PLAT_S
65 MCNAPI static ::std::string
66 _formatThumbprint(::std::string const& rawThumbprint, ::Crypto::Certificate::ThumbprintFormat formatting);
67#endif
68 // NOLINTEND
69
70public:
71 // constructor thunks
72 // NOLINTBEGIN
73#ifdef LL_PLAT_S
74 MCNAPI void* $ctor(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
75#endif
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81#ifdef LL_PLAT_S
82 MCNAPI ::std::string $serialize(::Crypto::Certificate::Encoding encoding) const;
83
84 MCNAPI ::std::string $extractPublicKey(::Crypto::Certificate::Encoding encoding) const;
85
86 MCNAPI ::std::string $extractPrivateKey(::Crypto::Certificate::Encoding encoding) const;
87
88 MCNAPI ::std::string $getIssuer() const;
89
90 MCNAPI bool $hasValidCertChain() const;
91
92 MCNAPI ::std::string $generateCertificateThumbprint(
93 ::Crypto::Hash::HashType hashFunction,
94 ::Crypto::Certificate::ThumbprintFormat formatting
95 ) const;
96
97 MCNAPI ::std::string $generatePublicKeyThumbprint(
98 ::Crypto::Hash::HashType hashFunction,
99 ::Crypto::Certificate::ThumbprintFormat formatting
100 ) const;
101#endif
102
103
104 // NOLINTEND
105};
106
107} // namespace Crypto::Certificate
Definition ISystemInterface.h:12
Definition Alias.h:14