Функция CryptGetMessageCertificates (wincrypt.h)
Функция CryptGetMessageCertificates возвращает дескриптор открытого хранилища сертификатов , содержащего сертификаты и CRL сообщения. Эта функция вызывает CertOpenStore , используя тип поставщика CERT_STORE_PROV_PKCS7 в качестве параметра lpszStoreProvider .
Синтаксис
HCERTSTORE CryptGetMessageCertificates(
[in] DWORD dwMsgAndCertEncodingType,
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwFlags,
[in] const BYTE *pbSignedBlob,
[in] DWORD cbSignedBlob
);
Параметры
[in] dwMsgAndCertEncodingType
Указывает используемый тип кодирования. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
В настоящее время определены следующие типы кодирования:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] hCryptProv
Этот параметр не используется и должен иметь значение NULL.
Windows Server 2003 и Windows XP: Дескриптор CSP, переданный в CertOpenStore. Дополнительные сведения см. в разделе CertOpenStore. Если нет веской причины для передачи определенного поставщика шифрования в hCryptProv, передайте ноль, чтобы получить поставщик RSA или DSS по умолчанию.
Тип данных этого параметра — HCRYPTPROV.
[in] dwFlags
Флаги, передаваемые в CertOpenStore. Дополнительные сведения см. в разделе CertOpenStore.
[in] pbSignedBlob
Указатель на буферистику CRYPT_INTEGER_BLOB структуру, содержащую подписанное сообщение.
[in] cbSignedBlob
Размер подписанного сообщения в байтах.
Возвращаемое значение
Возвращает хранилище сертификатов , содержащее сертификаты и CRL сообщения. Для ошибки возвращается значение NULL .
Ниже приведен код ошибки, наиболее часто возвращаемый функцией GetLastError .
Код возврата | Описание |
---|---|
|
Недопустимые типы кодирования сообщений и сертификатов. В настоящее время поддерживаются только PKCS_7_ASN_ENCODING и X509_ASN_ENCODING. |
В случае сбоя функции GetLastError может вернуть ошибку кодирования и декодирования абстрактного синтаксиса (ASN.1). Сведения об этих ошибках см. в разделе Кодирование и декодирование возвращаемых значений ASN.1.
Комментарии
Используйте GetLastError , чтобы определить причину ошибок.
Примеры
Пример использования этой функции см. в разделе Пример программы C: настройка и получение свойств хранилища сертификатов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |