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/Encoding.h"
7#include "mc/deps/crypto/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 virtual ::std::string serialize(::Crypto::Certificate::Encoding encoding) const /*override*/;
32
33 virtual ::std::string extractPublicKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
34
35 virtual ::std::string extractPrivateKey(::Crypto::Certificate::Encoding encoding) const /*override*/;
36
37 virtual ::std::string getIssuer() const /*override*/;
38
39 virtual bool hasValidCertChain() const /*override*/;
40
41 virtual ::std::string generateCertificateThumbprint(
42 ::Crypto::Hash::HashType hashFunction,
43 ::Crypto::Certificate::ThumbprintFormat formatting
44 ) const /*override*/;
45
46 virtual ::std::string generatePublicKeyThumbprint(
47 ::Crypto::Hash::HashType hashFunction,
48 ::Crypto::Certificate::ThumbprintFormat formatting
49 ) const /*override*/;
50 // NOLINTEND
51
52public:
53 // virtual function thunks
54 // NOLINTBEGIN
55#ifdef LL_PLAT_S
56 MCNAPI ::std::string $serialize(::Crypto::Certificate::Encoding encoding) const;
57
58 MCNAPI ::std::string $extractPublicKey(::Crypto::Certificate::Encoding encoding) const;
59
60 MCNAPI ::std::string $extractPrivateKey(::Crypto::Certificate::Encoding encoding) const;
61
62 MCNAPI ::std::string $getIssuer() const;
63
64 MCNAPI bool $hasValidCertChain() const;
65
66 MCNAPI ::std::string $generateCertificateThumbprint(
67 ::Crypto::Hash::HashType hashFunction,
68 ::Crypto::Certificate::ThumbprintFormat formatting
69 ) const;
70
71 MCNAPI ::std::string $generatePublicKeyThumbprint(
72 ::Crypto::Hash::HashType hashFunction,
73 ::Crypto::Certificate::ThumbprintFormat formatting
74 ) const;
75#endif
76
77
78 // NOLINTEND
79};
80
81} // namespace Crypto::Certificate
Definition ISystemInterface.h:12
Definition Alias.h:14