106 #define IF_p6ICertInit {0xd467d71e,0xde03,0x4810,{0x92,0x9b,0xc6,0x5b,0x4a,0x9c,0x4e,0x85}}
126 #define IF_p6IEnumCertIDs {0x4B5EFEE5,0x1CA5,0x4477,{0xBB,0x0A,0x35,0x40,0xE6,0x15,0xD2,0xB8}}
468 #define IF_p6ICert {0x204faa90,0x579c,0x4bc9,{0x80,0xa3,0xec,0xb9,0xd4,0xee,0x31,0x5}}
471 #define COMP_p6Cert {0xaaf9c5a8,0x5ee2,0x4490,{0x85,0xe1,0xa8,0x97,0xf5,0x3d,0xac,0x16}}
P6UINT32 P6CERTFLAGS
P6CERTFLAGS.
virtual P6R::P6ERR getFingerprintHexStrW(P6R::P6DIGESTS nDigest, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
This method is used to get a fingerprint (using the requested digest method) for the certificate...
Cryptography component definitions.
virtual P6R::P6ERR serializeToBuffer(P6VOID *pBuffer, P6UINT32 cBuffer, P6UINT32 *pcBytesWritten)=0
Write the certificate in this component to the provided buffer in PEM format.
virtual P6R::P6ERR enumCertIDs(P6R::p6IEnumCertIDs **ppEnum)=0
Returns an enumerator that provides access to the certicates RFC 6125 DNS-IDs and CN-IDs...
const P6CERTKEYUSAGE P6CEKU_EXCODESIGNING
const P6CERTKEYUSAGE P6CEKU_EXMSCODEIND
virtual P6R::P6ERR loadCertDERFromBuffer(P6VOID *pBuffer, P6UINT32 cBuffer)=0
This function loads the certificate (in DER ASN.1 format) contained in the specified buffer...
const P6CERTFLAGS P6CERT_NOFLAGS
virtual P6R::P6ERR serializeToFile(const P6WCHAR *pFile)=0
Write the certificate in this component to the file defined in the parameter in PEM format...
virtual P6R::P6ERR getKeyUsage(P6R::P6CERTKEYUSAGE *pUsage)=0
Retrieves the key usage extension (OID 2.5.29.15) bits for the certificate.
const P6CERTMATCHFLAGS P6CMF_NOFLAGS
P6UINT32 P6CERTKEYUSAGE
P6R::P6CERTUSAGE defines values returned by the p6ICert::getKeyUsage() method.
const P6CERTKEYUSAGE P6CEKU_EXMSEFS
virtual P6R::P6ERR printCertificate(const P6WCHAR *pCertFile)=0
Print the contents of the certificate in parsed form to a file.
const P6CERTKEYUSAGE P6CEKU_EXEMAILPROTECTION
const P6CERTKEYUSAGE P6CKU_DIGITAL_SIGNATURE
virtual P6R::P6ERR getIssuerName(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
const P6CERTKEYUSAGE P6CEKU_EXSERVERAUTH
virtual P6R::P6ERR initialize(P6CERTFLAGS flags)=0
Place the component in its initial state.
virtual P6R::P6ERR isEquals(p6ICert *pOtherCert, P6BOOL *pbEqual)=0
Is the certificate in the 'pOtherCert' parameter the same as the certificate stored in this component...
const P6CERTKEYUSAGE P6CEKU_EXMSCODECOM
virtual P6R::P6ERR loadCertFromBuffer(P6VOID *pBuffer, P6UINT32 cBuffer)=0
This function loads the certificate (in PEM format) contained in the specified buffer.
virtual P6R::P6ERR getFingerprint(P6R::P6DIGESTS nDigest, P6R::P6BYTE *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
This method is used to get a fingerprint (using the requested digest method) for the certificate...
const P6CERTKEYUSAGE P6CEKU_EXOCSPSIGNING
const P6CERTKEYUSAGE P6CEKU_EXMSSGC
wchar_t P6WCHAR
Wide character type see p6i18n.h.
virtual P6R::P6ERR matchDnsNameW(const P6R::P6WCHAR *pszDnsName, P6CERTMATCHFLAGS fFlags)=0
Matches the hostname against the certificate hostname.
const P6CERTMATCHFLAGS P6CMF_ALWAYS_CHECK_SUBJECT
const P6CERTKEYUSAGE P6CKU_KEY_ENCIPHERMENT
The base interface all [p6]COM components must derive from and implement.
const P6CERTKEYUSAGE P6CEKU_EXTIMESTAMPING
virtual P6R::P6ERR serializeDERToBuffer(P6VOID *pBuffer, P6UINT32 cBuffer, P6UINT32 *pcBytesWritten)=0
Write the certificate in this component to the provided buffer in DER ASN.1 format.
const P6CERTKEYUSAGE P6CKU_KEY_CERT_SIGN
virtual P6R::P6ERR getDistinguishedName(P6WCHAR *pBuffer, P6SIZE cBuffer, P6SIZE *pcWritten)=0
Extract an RFC 2253 compatible representation of the Subject name of the certificate.
const P6CERTKEYUSAGE P6CKU_USAGEMASK
virtual P6R::P6ERR getSerialNumber(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
An enumerator that enumerates a certificates RFC 6125 DNS-IDs and CN-IDs.
P6UINT32 P6CERTMATCHFLAGS
const P6CERTKEYUSAGE P6CKU_NON_REPUDIATION
virtual P6R::P6ERR matchDnsName(const P6R::P6CHAR *pszDnsName, P6CERTMATCHFLAGS fFlags)=0
Matches the hostname against the certificate hostname.
Used to initialize and load a certificate from a file or buffer.
This interface allows the caller to access parts of an X509 V3 certificate for use in protocols and i...
const P6CERTKEYUSAGE P6CKU_DECIPHER_ONLY
const P6CERTMATCHFLAGS P6CMF_DISABLE_WILDCARDS
virtual P6R::P6ERR loadCert(const P6WCHAR *pCertFile)=0
This function loads the certificate (in PEM format) contained in the specified file.
virtual P6R::P6ERR reset(void)=0
const P6CERTKEYUSAGE P6CEKU_EXMSCTLSIGN
const P6CERTKEYUSAGE P6CKU_CRL_SIGN
virtual P6R::P6ERR getFingerprintHexStr(P6R::P6DIGESTS nDigest, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
This method is used to get a fingerprint (using the requested digest method) for the certificate...
const P6CERTKEYUSAGE P6CKU_DATA_ENCIPHERMENT
virtual P6R::P6ERR getIssuerHash(P6R::P6SIZE *pHash)=0
This method returns a hash of the issuer field that can by used to easily compare the issue field...
Interface definition for the one way digest functions.
const P6CERTKEYUSAGE P6CEKU_EXCLIENTAUTH
const P6CERTKEYUSAGE P6CKU_ENCIPHER_ONLY
const P6CERTKEYUSAGE P6CEKU_EXUSAGEMASK
const P6CERTKEYUSAGE P6CKU_KEY_AGREEMENT
virtual P6R::P6ERR next(P6R::P6UINT32 cElements, const P6R::P6CHAR **parElements, P6R::P6UINT32 *pcReturned)=0
const P6CERTKEYUSAGE P6CEKU_EXNSSGC
virtual P6R::P6ERR getSubjectHash(P6R::P6SIZE *pHash)=0
This method returns a hash of the subject field that can by used to easily compare the subject field...
virtual P6R::P6ERR getVersionNumber(P6R::P6UINT32 *pVersion)=0
virtual P6R::P6ERR getPublicKey(P6UCHAR *pBuffer, P6SIZE cBuffer, P6SIZE *pcWritten)=0
This method is used to get a copy of the public key stored in the certificate (in DER format)...
char P6CHAR
Narrow character type.