The WinTrustSubjectGetCertificate function retrieves a specified certificate from a subject.
BOOL WinTrustSubjectGetCertificate(
LPWIN_TRUST_SIP_SUBJECT lpSubject, |
// pointer to description of the subject |
DWORD dwCertificateIndex, |
// type of certificate to retrieve |
LPWIN_CERTIFICATE lpCertificate, |
// pointer to a buffer that receives the certificate |
LPDWORD lpRequiredLength |
// pointer to the size, in bytes, of the buffer |
); |
If the function succeeds, the return value is a nonzero value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
A trust provider calls the WinTrust implementation of the WinTrustSubjectGetCertificate function. WinTrust then calls the WinTrustSubjectGetCertificate implementation of the appropriate Subject Interface Package (SIP). The appropriate SIP is the one registered to handle the type of subject specified by the lpSubject parameter.
Each Subject Interface Package (SIP) DLL must implement the WinTrustSubjectGetCertificate function. WinTrust gets a pointer to the SIP’s WinTrustSubjectGetCertificate implementation when WinTrust calls the SIP’s WinTrustSipInitialize initialization function.
The LPWINTRUST_SUBJECT_GET_CERTIFICATE type is a pointer to a WinTrustSubjectGetCertificate function.
WIN_CERTIFICATE, WIN_TRUST_SIP_SUBJECT, WinTrustSipInitialize, WinTrustSubjectEnumCertificates