5 #ifndef _INC_cX509Crt_H
6 #define _INC_cX509Crt_H
14 #include "../File/cASNSequence.h"
15 #include "../File/cASNSets.h"
52 virtual HRESULT ReadFromDer1(
const BYTE* pBuffer,
size_t buflen)
override;
56 static bool VertifyCN_Wildcard(
const char* cn,
const cASNBuf& name);
57 bool VerifyCN(
const char* cn)
const;
59 bool IsMyParent(
const cX509Crt* pCrtParent)
const;
60 bool VerifyCrtIsMyParent(
const cX509Crt* parent,
bool top,
bool bottom)
const;
87 virtual HRESULT ReadFromDER(
const BYTE* pBuffer,
size_t buflen)
override;
88 virtual HRESULT ReadFromUnk(
const BYTE* pBuffer,
size_t buflen)
override;
112 virtual void SetEmptyX()
override;
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
bool SetAlloc(ASN_TYPE eASNTag, size_t nSize, const void *pData=nullptr)
Definition: cASN.h:219
Definition: cASNSets.h:58
Definition: cBigUnsigned.h:22
const BLOCK_t * get_BlockPtrC() const noexcept
Definition: cBitArray.h:242
size_t get_BinarySize() const
Definition: cBitArray.h:688
Definition: cKeyWrap.h:25
Definition: cX509Common.h:24
Definition: cX509Crl.h:59
Definition: cX509CrtExt.h:28
Definition: cX509Crt.h:20
cX509CrtExt m_Ext
optional extensions. AKA ExtensionList.
Definition: cX509Crt.h:47
cX509Crt() noexcept
Definition: cX509Crt.h:66
static const char * k_pszPEM
"CERTIFICATE"
Definition: cX509Crt.h:30
cASNBuf m_issuer_id
Optional X.509 v2/v3 issuer unique identifier. UNUSED. X509_EXT_AUTHORITY_KEY_IDENTIFIER/OID_AUTHORIT...
Definition: cX509Crt.h:44
cASNSets m_issuer
The parsed issuer (named information object). e.g. "CN=SDF ???".
Definition: cX509Crt.h:34
cASNSets m_subject
The parsed m_subject_raw (named information object).
Definition: cX509Crt.h:40
cTimeUnits m_tValidFrom
Start time of certificate validity.
Definition: cX509Crt.h:36
cKeyWrap m_SubjectPublicKey
Container for the public key context. "SubjectPublicKeyInfo".
Definition: cX509Crt.h:42
cRefPtr< cX509Crt > m_pNextCrt
Next certificate in the CA-chain.
Definition: cX509Crt.h:49
cASNBufAlloc m_SerialNumber
Unique binary id for certificate issued by a specific CA. CertificateSerialNumber (RFC5280 size max =...
Definition: cX509Crt.h:32
cTimeUnits m_tValidTo
End time of certificate validity.
Definition: cX509Crt.h:37
~cX509Crt()
Definition: cX509Crt.h:71
UNITTEST_FRIEND(cX509Crt)
void put_SerialNumber(const cBigUnsigned &serial)
Definition: cX509Crt.h:76
cASNBuf m_subject_id
Optional X.509 v2/v3 subject unique identifier. UNUSED. X509_EXT_SUBJECT_KEY_IDENTIFIER/OID_SUBJECT_K...
Definition: cX509Crt.h:45
cASNBuf m_subject_raw
for use in SSL_CERTIFICATE_REQUEST
Definition: cX509Crt.h:39
Definition: StrBuilder.h:18
Definition: cRefPtr.h:225
Definition: cTimeUnits.h:146
@ ASN_INTEGER
Definition: cASN.h:37
X509_Verify_t
Definition: cX509.h:41
X509_KeyUsage_TYPE
Definition: cX509.h:27
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22