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}}
465 #define IF_p6ICert {0x204faa90,0x579c,0x4bc9,{0x80,0xa3,0xec,0xb9,0xd4,0xee,0x31,0x5}}
778 #define IF_p6ICert2 {0x36284e03,0x4801,0x4273,{0x91,0xc9,0xeb,0x25,0x74,0x87,0x7c,0xf9}}
782 #define COMP_p6Cert {0xaaf9c5a8,0x5ee2,0x4490,{0x85,0xe1,0xa8,0x97,0xf5,0x3d,0xac,0x16}}
823 #define IF_p6IEnumCerts {0xD3810A32,0x2F26,0x4F44,{0xA1,0x03,0xD9,0xAA,0x21,0x61,0x0C,0x3D}}
P6UINT32 P6CERTFLAGS
P6CERTFLAGS.
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)...
This interface is used to enumerate a set of certificates.
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...
A smart pointer implementation to help manage and use [p6]COM based interfaces.
Cryptography component definitions.
virtual P6R::P6ERR next(P6R::P6UINT32 cElements, P6R::p6ComPtr< P6R::p6ICert > *parElements, P6R::P6UINT32 *pcReturned)=0
Retrieves the specified number of certificate interfaces.
virtual P6R::P6ERR printCertificate(const P6WCHAR *pCertFile)=0
Print the contents of the certificate in parsed form to a file.
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...
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 matchDnsName(const P6R::P6CHAR *pszDnsName, P6CERTMATCHFLAGS fFlags)=0
Matches the hostname against the certificate hostname.
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
virtual P6R::P6ERR matchDnsNameW(const P6R::P6WCHAR *pszDnsName, P6CERTMATCHFLAGS fFlags)=0
Matches the hostname against the certificate hostname.
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...
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...
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 serializeToBuffer(P6VOID *pBuffer, P6UINT32 cBuffer, P6UINT32 *pcBytesWritten)=0
Write the certificate in this component to the provided buffer in PEM format.
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 getSerialNumber(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
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.
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 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 getVersionNumber(P6R::P6UINT32 *pVersion)=0
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...
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.
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...
P6UINT32 P6CERTMATCHFLAGS
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.
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...
const P6CERTKEYUSAGE P6CKU_NON_REPUDIATION
virtual P6R::P6ERR matchDnsName(const P6R::P6CHAR *pszDnsName, P6CERTMATCHFLAGS fFlags)=0
Matches the hostname against the certificate hostname.
virtual P6R::P6ERR getSubjectPublicKeyInfo(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 encoding of subj...
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...
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_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...
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 getKeyUsage(P6R::P6CERTKEYUSAGE *pUsage)=0
Retrieves the key usage extension (OID 2.5.29.15) bits for the certificate.
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.
This interface allows the caller to access parts of an X509 V3 certificate for use in protocols and i...
virtual P6R::P6ERR getIssuerName(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
const P6CERTKEYUSAGE P6CEKU_EXCLIENTAUTH
const P6CERTKEYUSAGE P6CKU_ENCIPHER_ONLY
const P6CERTKEYUSAGE P6CEKU_EXUSAGEMASK
const P6CERTKEYUSAGE P6CKU_KEY_AGREEMENT
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 next(P6R::P6UINT32 cElements, const P6R::P6CHAR **parElements, P6R::P6UINT32 *pcReturned)=0
virtual P6R::P6ERR reset()=0
Resets the "cursor" back the beginning causing the next() method to start enumerating from the beginn...
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.