WinTrustSubjectGetCertificate  3A7.OZ

[New - Windows NT]

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

   );

 

 

Parameters

lpSubject

Pointer to a WIN_TRUST_SIP_SUBJECT1MTBF8. structure that identifies the subject from which to get a certificate.

dwCertificateIndex

Specifies the type of certificate to retrieve. You can call the WinTrustSubjectEnumCertificatesBH8K2K function to enumerate the types of certificates that the subject contains.

lpCertificate

Pointer to buffer that receives the WIN_CERTIFICATEFHZN96 structure header and the associated certificate data.

lpRequiredLength

Pointer to a DWORD. On input, it specifies the size, in bytes, of the lpCertificate buffer. On output, it receives the length of the returned certificate. If the buffer is not large enough to hold the certificate, the function fails, and lpRequiredLength returns the required buffer size.

 

Return Values

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 GetLastError11C2VS7.

Remarks

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 WinTrustSipInitialize2MJRWZA initialization function.

The LPWINTRUST_SUBJECT_GET_CERTIFICATE type is a pointer to a WinTrustSubjectGetCertificate function.

See Also

WIN_CERTIFICATE, WIN_TRUST_SIP_SUBJECT, WinTrustSipInitialize, WinTrustSubjectEnumCertificates