Поделиться через


Функция GetCryptProvFromCert

Важно!

Это нерекомендуемый API. Корпорация Майкрософт может удалить этот API в будущих выпусках.

 

Функция GetCryptProvFromCert получает дескриптор поставщика служб шифрования (CSP) и спецификацию ключа для контекста сертификата . Используйте эту функцию для получения доступа к закрытому ключу издателя сертификата.

Примечание

У этой функции нет связанного файла заголовка или библиотеки импорта. Чтобы вызвать эту функцию, необходимо создать определяемый пользователем файл заголовка и использовать функции LoadLibrary и GetProcAddress для динамического связывания с Mssign32.dll.

 

Синтаксис

BOOL WINAPI GetCryptProvFromCert(
  _In_      HWND           hwnd,
  _In_      PCCERT_CONTEXT pCert,
  _Out_     HCRYPTPROV     *phCryptProv,
  _Out_     DWORD          *pdwKeySpec,
  _In_      BOOL           *pfDidCryptAcquire,
  _Out_opt_ LPWSTR         *ppwszTmpContainer,
  _Out_opt_ LPWSTR         *ppwszProviderName,
  _Out_     DWORD          *pdwProviderType
);

Параметры

hwnd [in]

Дескриптор окна, используемого в качестве владельца всех отображаемых диалоговых окон. Этот элемент в настоящее время не используется и игнорируется. Для этого параметра можно безопасно передать значение NULL .

pCert [in]

Указатель на структуру CERT_CONTEXT для сертификата.

phCryptProv [out]

Указатель на структуру HCRYPTPROV , которая является дескриптором CSP.

pdwKeySpec [out]

Спецификация извлекаемого закрытого ключа. Возможные значения: AT_KEYEXCHANGE или AT_SIGNATURE.

pfDidCryptAcquire [in]

Значение типа , указывающее, получила ли функция дескриптор поставщика на основе сертификата.

ppwszTmpContainer [out, optional]

Адрес указателя на строку, завершаемую null, для имени контейнера временного ключа. Функция GetCryptProvFromCert предоставляет и инициализирует временный контейнер. При вызове GetCryptProvFromCert адрес должен указывать на значение NULL .

ppwszProviderName [out, optional]

Адрес указателя на строку, завершаемую нулевым значением, для имени поставщика. Функция GetCryptProvFromCert возвращает имя поставщика. При вызове GetCryptProvFromCert адрес должен указывать на значение NULL .

pdwProviderType [out]

Указывает тип CSP. Это может быть ноль или один из типов поставщика служб шифрования. Если этот элемент равен нулю, контейнер ключей является одним из поставщиков хранилища ключей CNG.

Возвращаемое значение

При успешном выполнении эта функция возвращает значение TRUE. Функция GetCryptProvFromCert возвращает значение FALSE в случае сбоя.

Комментарии

Средство MakeCert вызывает GetCryptProvFromCert при его вызове с помощью параметра командной строки -is .

Если для параметра pfDidCryptAcquire задано значение TRUE, функция присваивает параметрам phCryptProv, pdwKeySpec и pdwProviderType значения поставщика.

Завершив использование CSP, освободите его, вызвав функцию FreeCryptProvFromCert .

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
DLL
Mssign32.dll