ReactOS 0.4.16-dev-2284-g3529151
CCert.hpp
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Certificate Manager
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: CCert definition
5 * COPYRIGHT: Copyright 2025 Mark Jansen <mark.jansen@reactos.org>
6 */
7
8class CCert
9{
10 private:
12 CAtlStringW m_SubjectName;
13 CAtlStringW m_IssuerName;
14 CAtlStringW m_FriendlyName;
15
16 void
18 {
20 if (length > 1)
21 {
22 WCHAR *buffer = out.GetBuffer(length);
24 out.ReleaseBuffer();
25 }
26 }
27
28 public:
29 explicit CCert(_In_ PCCERT_CONTEXT certContext)
30 {
32 Init();
33 }
35 {
36 if (m_CertContext)
37 {
39 }
40 }
41
42 const CAtlStringW &
44 {
45 return m_SubjectName;
46 }
47
48 const CAtlStringW &
50 {
51 return m_IssuerName;
52 }
53
56 {
58 }
59
60 const CAtlStringW &
62 {
63 return m_FriendlyName;
64 }
65
66 const PCCERT_CONTEXT
68 {
69 return m_CertContext;
70 }
71
72 void
74 {
77 DWORD length = 0;
79 {
80 WCHAR *buffer = m_FriendlyName.GetBuffer(length / sizeof(WCHAR));
82 m_FriendlyName.ReleaseBuffer();
83 }
84 }
85};
Definition: CCert.hpp:9
void GetNameString(DWORD dwFlags, CAtlStringW &out)
Definition: CCert.hpp:17
void Init()
Definition: CCert.hpp:73
PCCERT_CONTEXT m_CertContext
Definition: CCert.hpp:11
CAtlStringW m_FriendlyName
Definition: CCert.hpp:14
const PCCERT_CONTEXT GetCertContext() const
Definition: CCert.hpp:67
CAtlStringW m_SubjectName
Definition: CCert.hpp:12
const CAtlStringW & GetIssuerName() const
Definition: CCert.hpp:49
CCert(_In_ PCCERT_CONTEXT certContext)
Definition: CCert.hpp:29
CAtlStringW m_IssuerName
Definition: CCert.hpp:13
~CCert()
Definition: CCert.hpp:34
const CAtlStringW & GetSubjectName() const
Definition: CCert.hpp:43
FILETIME GetNotAfter() const
Definition: CCert.hpp:55
const CAtlStringW & GetFriendlyName() const
Definition: CCert.hpp:61
#define NULL
Definition: types.h:112
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
Definition: cert.c:371
BOOL WINAPI CertGetCertificateContextProperty(PCCERT_CONTEXT pCertContext, DWORD dwPropId, void *pvData, DWORD *pcbData)
Definition: cert.c:551
PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext(PCCERT_CONTEXT pCertContext)
Definition: cert.c:360
DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPWSTR pszNameString, DWORD cchNameString)
Definition: str.c:1220
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint buffer
Definition: glext.h:5915
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
#define _In_
Definition: no_sal2.h:158
PCERT_INFO pCertInfo
Definition: wincrypt.h:491
FILETIME NotAfter
Definition: wincrypt.h:255
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
#define CERT_NAME_SIMPLE_DISPLAY_TYPE
Definition: wincrypt.h:3658
#define CERT_FRIENDLY_NAME_PROP_ID
Definition: wincrypt.h:2844
#define CERT_NAME_ISSUER_FLAG
Definition: wincrypt.h:3664
__wchar_t WCHAR
Definition: xmlstorage.h:180