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/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 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
57 // NOLINTEND
58
59public:
60 // static functions
61 // NOLINTBEGIN
62 MCNAPI_S static ::std::string
63 _formatThumbprint(::std::string const& rawThumbprint, ::Crypto::Certificate::ThumbprintFormat formatting);
64 // NOLINTEND
65
66public:
67 // constructor thunks
68 // NOLINTBEGIN
69 MCNAPI_S void* $ctor(::Crypto::Certificate::Encoding encoding, ::std::string const& certificateData);
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75#ifdef LL_PLAT_S
76 MCNAPI ::std::string $serialize(::Crypto::Certificate::Encoding encoding) const;
77
78 MCNAPI ::std::string $extractPublicKey(::Crypto::Certificate::Encoding encoding) const;
79
80 MCNAPI ::std::string $extractPrivateKey(::Crypto::Certificate::Encoding encoding) const;
81
82 MCNAPI ::std::string $getIssuer() const;
83
84 MCNAPI bool $hasValidCertChain() const;
85
86 MCNAPI ::std::string $generateCertificateThumbprint(
87 ::Crypto::Hash::HashType hashFunction,
88 ::Crypto::Certificate::ThumbprintFormat formatting
89 ) const;
90
91 MCNAPI ::std::string $generatePublicKeyThumbprint(
92 ::Crypto::Hash::HashType hashFunction,
93 ::Crypto::Certificate::ThumbprintFormat formatting
94 ) const;
95#endif
96
97
98 // NOLINTEND
99};
100
101} // namespace Crypto::Certificate
Definition ISystemInterface.h:12
Definition Alias.h:14