Криптографические функции
Функции шифрования классифицируются в соответствии с использованием следующим образом:
- Функции CryptXML
- Функции подписывателя
- Базовые функции шифрования
- Функции хранилища сертификатов и сертификатов
- Функции MakeCert
- Функции проверки сертификата
- Функции сообщений
- Вспомогательные функции
- Функции резервного копирования и восстановления служб сертификатов
- Функции обратного вызова
- Функции определения каталога
- Функции работы с каталогами
- Функции WinTrust
- Функции указателя объектов
Функции CryptXML
Криптографические XML-функции предоставляют API для создания и представления цифровых подписей с помощью данных в формате XML. Сведения о подписях в формате XML см. в спецификации синтаксиса и обработки XML-Signature по адресу https://go.microsoft.com/fwlink/p/?linkid=139649.
Функция | Описание |
---|---|
A_SHAFinal | Вычисляет окончательный хэш данных, введенных функцией MD5Update. |
A_SHAInit | Инициирует хэширование потока данных. |
A_SHAUpdate | Добавляет данные в указанный хэш-объект. |
CryptXmlCreateReference | Создает ссылку на XML-подпись. |
CryptXmlAddObject | Добавляет элемент Object в подпись в контексте документа, открытом для кодирования. |
CryptXmlClose | Закрывает дескриптор криптографического ОБЪЕКТА XML. |
CryptXmlDigestReference | Используется приложением для переваривания разрешенной ссылки. Эта функция применяет преобразования перед обновлением дайджеста. |
CryptXmlDllCloseDigest | Освобождает CRYPT_XML_DIGEST, выделенные функцией CryptXmlDllCreateDigest . |
CryptXmlDllCreateDigest | Создает объект дайджеста для указанного метода. |
CryptXmlDllCreateKey | Анализирует элемент KeyValue и создает дескриптор ключа BCrypt следующего поколения (CNG) API шифрования для проверки подписи. |
CryptXmlDllDigestData | Помещает данные в дайджест. |
CryptXmlDllEncodeAlgorithm | Кодирует элементы SignatureMethod или DigestMethod для гибких алгоритмов с параметрами по умолчанию. |
CryptXmlDllEncodeKeyValue | Кодирует элемент KeyValue . |
CryptXmlDllFinalizeDigest | Извлекает значение дайджеста. |
CryptXmlDllGetAlgorithmInfo | Декодирует XML-алгоритм и возвращает сведения об алгоритме. |
CryptXmlDllGetInterface | Извлекает указатель на функции криптографического расширения для указанного алгоритма. |
CryptXmlDllSignData | Подписывает данные. |
CryptXmlDllVerifySignature | Проверяет подпись. |
CryptXmlEncode | Кодирует данные подписи с помощью предоставленной функции обратного вызова модуля записи XML. |
CryptXmlGetAlgorithmInfo | Декодирует структуру CRYPT_XML_ALGORITHM и возвращает сведения об алгоритме. |
CryptXmlGetDocContext | Возвращает контекст документа, заданный предоставленным дескриптором. |
CryptXmlGetReference | Возвращает элемент Reference , заданный предоставленным дескриптором. |
CryptXmlGetSignature | Возвращает элемент XML-сигнатуры . |
CryptXmlGetStatus | Возвращает структуру CRYPT_XML_STATUS , содержащую сведения о состоянии объекта, указанного указанным дескриптором. |
CryptXmlGetTransforms | Возвращает сведения о подсистеме цепочки преобразования по умолчанию. |
CryptXmlImportPublicKey | Импортирует открытый ключ, заданный предоставленным дескриптором. |
CryptXmlOpenToEncode | Открывает цифровую подпись XML для кодирования и возвращает дескриптор открытого элемента Signature . Дескриптор инкапсулирует контекст документа с одной структурой CRYPT_XML_SIGNATURE и остается открытым до вызова функции CryptXmlClose . |
CryptXmlOpenToDecode | Открывает цифровую подпись XML для декодирования и возвращает дескриптор контекста документа, который инкапсулирует структуру CRYPT_XML_SIGNATURE . Контекст документа может включать один или несколько элементов Signature . |
CryptXmlSetHMACSecret | Задает секрет HMAC для дескриптора перед вызовом функции CryptXmlSign или CryptXmlVerify . |
CryptXmlSign | Создает криптографическую подпись элемента SignedInfo . |
CryptXmlVerifySignature | Выполняет проверку криптографической подписи элемента SignedInfo . |
PFN_CRYPT_XML_WRITE_CALLBACK | Создает преобразование для указанного поставщика данных. |
PFN_CRYPT_XML_CREATE_TRANSFORM | Записывает криптографические XML-данные. |
PFN_CRYPT_XML_DATA_PROVIDER_READ | Считывает криптографические XML-данные. |
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE | Освобождает поставщик криптографических XML-данных. |
PFN_CRYPT_XML_ENUM_ALG_INFO | Перечисляет предопределенные и зарегистрированные записи CRYPT_XML_ALGORITHM_INFO . |
Функции подписывателя
Предоставляет функции для подписывания данных и меток времени.
Функция | Описание |
---|---|
SignerFreeSignerContext | Освобождает SIGNER_CONTEXT структуру, выделенную предыдущим вызовом функции SignerSignEx . |
SignError | Вызывает функцию GetLastError и преобразует код возврата в HRESULT. |
SignerSign | Подписывает указанный файл. |
SignerSignEx | Подписывает указанный файл и возвращает указатель на подписанные данные. |
SignerSignEx2 | Подписывает указанный файл и метки времени, позволяя использовать несколько вложенных подписей. |
SignerTimeStamp | Метки времени для указанного субъекта. Эта функция поддерживает метку времени Authenticode. Чтобы выполнить метку времени инфраструктуры открытых ключей X.509 (RFC 3161), используйте функцию SignerTimeStampEx2 . |
SignerTimeStampEx | Метка времени указанного субъекта и при необходимости возвращает указатель на структуру SIGNER_CONTEXT , содержащую указатель на большой двоичный объект. Эта функция поддерживает метку времени Authenticode. Чтобы выполнить метку времени инфраструктуры открытых ключей X.509 (RFC 3161), используйте функцию SignerTimeStampEx2 . |
SignerTimeStampEx2 | Метка времени указанного субъекта и при необходимости возвращает указатель на структуру SIGNER_CONTEXT , содержащую указатель на большой двоичный объект. Эту функцию можно использовать для выполнения инфраструктуры открытых ключей X.509, совместимой с RFC 3161, меток времени. |
SignerTimeStampEx3 | Метки времени для указанного субъекта и поддерживают установку меток времени для нескольких подписей. |
Базовые функции шифрования
Базовые криптографические функции предоставляют наиболее гибкие средства разработки приложений для шифрования. Весь обмен данными с поставщиком служб шифрования (CSP) осуществляется через эти функции.
CSP — это независимый модуль, который выполняет все криптографические операции. Для каждого приложения, использующего криптографические функции, требуется по крайней мере один CSP. Одно приложение может иногда использовать несколько поставщиков служб CSP.
Если используется несколько CSP, можно указать его в вызовах криптографических функций CryptoAPI. Один поставщик служб CSP, базовый поставщик служб шифрования Майкрософт, входит в комплект с CryptoAPI. Этот CSP используется в качестве поставщика по умолчанию многими функциями CryptoAPI, если другие CSP не указаны.
Каждый CSP предоставляет различную реализацию криптографической поддержки, предоставляемой CryptoAPI. Некоторые предоставляют более надежные алгоритмы шифрования; другие содержат аппаратные компоненты, такие как смарт-карты. Кроме того, некоторые поставщики служб конфигурации могут иногда напрямую взаимодействовать с пользователями, например при выполнении цифровых подписей с помощью закрытого ключа подписи пользователя.
Базовые криптографические функции находятся в следующих широких группах:
- Функции поставщика услуг
- Функции создания ключей и обмена
- Функции кодирования и декодирования объектов
- Функции шифрования и расшифровки данных
- Функции хэша и цифровой подписи
Функции поставщика услуг
Приложения используют следующие функции службы для подключения и отключения поставщика служб шифрования (CSP).
Функция | Описание |
---|---|
CryptAcquireContext |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Получает дескриптор для контейнера ключей текущего пользователя в рамках определенного CSP. |
CryptContextAddRef |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Увеличивает число ссылок на дескриптор HCRYPTPROV . |
CryptEnumProviders |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Перечисляет поставщиков на компьютере. |
CryptEnumProviderTypes |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Перечисляет типы поставщиков, поддерживаемые на компьютере. |
CryptGetDefaultProvider |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Определяет CSP по умолчанию для текущего пользователя или компьютера для указанного типа поставщика. |
CryptGetProvParam |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Извлекает параметры, управляющие операциями CSP. |
CryptInstallDefaultContext |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Устанавливает ранее полученный контекст HCRYPTPROV для использования в качестве контекста по умолчанию. |
CryptReleaseContext |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Освобождает дескриптор, полученный функцией CryptAcquireContext . |
CryptSetProvider и CryptSetProviderEx |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Указывает поставщика служб CSP по умолчанию для определенного типа CSP. |
CryptSetProvParam |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Задает атрибуты CSP. |
CryptUninstallDefaultContext |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Удаляет контекст по умолчанию, ранее установленный CryptInstallDefaultContext. |
FreeCryptProvFromCertEx | Освобождает дескриптор поставщику служб шифрования (CSP) или ключу API шифрования следующего поколения (CNG). |
Функции создания ключей и обмена
Функции создания и обмена ключами обмениваются ключами с другими пользователями, а также создают, настраивают и уничтожают криптографические ключи.
Функция | Описание |
---|---|
CryptDeriveKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Создает ключ, производный от пароля. |
CryptDecryptKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Уничтожает ключ. |
CryptDuplicateKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Создает точную копию ключа, включая состояние ключа. |
CryptExportKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Передает ключ из CSP в большой двоичный объект ключа в пространстве памяти приложения. |
CryptGenKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Создает случайный ключ. |
CryptGenRandom |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Создает случайные данные. |
CryptGetKeyParam |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Извлекает параметры ключа. |
CryptGetUserKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Получает дескриптор для ключа обмена ключами или ключа подписи. |
CryptImportKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Передает ключ из ключевого BLOB-объекта в CSP. |
CryptSetKeyParam |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Задает параметры ключа. |
Функции кодирования и декодирования объектов
Это универсальные функции кодирования и декодирования. Они используются для кодирования и декодирования сертификатов, списков отзыва сертификатов (CRL), запросов на сертификаты и расширений сертификатов.
Функция | Описание |
---|---|
CryptDecodeObject | Декодирует структуру типа lpszStructType. |
CryptDecodeObjectEx | Декодирует структуру типа lpszStructType. CryptDecodeObjectEx поддерживает вариант выделения памяти за один проход. |
CryptEncodeObject | Кодирует структуру типа lpszStructType. |
CryptEncodeObjectEx | Кодирует структуру типа lpszStructType. CryptEncodeObjectEx поддерживает вариант выделения памяти за один проход. |
Функции шифрования и расшифровки данных
Следующие функции поддерживают операции шифрования и расшифровки. Перед вызовом CryptEncrypt и CryptDecrypt требуется криптографический ключ. Для этого используется функция CryptGenKey, CryptDeriveKey или CryptImportKey . Алгоритм шифрования указывается при создании ключа. CryptSetKeyParam может задавать дополнительные параметры шифрования.
Функция | Описание |
---|---|
CryptDecrypt |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Расшифровывает раздел зашифрованного текста с помощью указанного ключа шифрования. |
CryptEncrypt |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Шифрует раздел открытого текста с помощью указанного ключа шифрования. |
CryptProtectData | Выполняет шифрование данных в DATA_BLOB структуре. |
CryptProtectMemory | Шифрует память для защиты конфиденциальной информации. |
CryptUnprotectData | Выполняет расшифровку и проверка целостности данных в DATA_BLOB. |
CryptUnprotectMemory | Расшифровывает память, зашифрованную с помощью CryptProtectMemory. |
Функции хэша и цифровой подписи
Эти функции вычисляют хэши данных, а также создают и проверяют цифровые подписи. Хэши также называются хэшами сообщений.
Функция | Описание |
---|---|
CryptCreateHash |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Создает пустой хэш-объект. |
CryptDeographyHash |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Уничтожает хэш-объект. |
CryptDuplicateHash | Дублирует хэш-объект. |
CryptGetHashParam | Извлекает параметр хэш-объекта. |
CryptHashData |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Хэширует блок данных, добавляя его в указанный хэш-объект. |
CryptHashSessionKey |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Хэширует ключ сеанса, добавляя его к указанному хэш-объекту. |
CryptSetHashParam |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Задает параметр хэш-объекта. |
CryptSignHash |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Подписывает указанный хэш-объект. |
CryptUIWizDigitalSign | Отображает мастер цифровой подписи документа или большого двоичного объекта. |
CryptUIWizFreeDigitalSignContext | Освобождает указатель на структуру CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT . |
CryptVerifySignature |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Проверяет цифровую подпись, заданную дескриптором хэш-объекта. |
PFNCFILTERPROC | Фильтрует сертификаты, отображаемые в мастере цифровой подписи, отображаемой функцией CryptUIWizDigitalSign . |
Функции хранилища сертификатов и сертификатов
Функции хранилища сертификатов и сертификатов управляют использованием, хранением и извлечением сертификатов, списками отзыва сертификатов (CRL) и списками доверия сертификатов (CCL). Эти функции делятся на следующие группы:
- Функции хранилища сертификатов
- Функции обслуживания хранилища сертификатов и сертификатов
- Функции сертификата
- Функции списка отзыва сертификатов
- Функции списка доверия сертификатов
- Расширенные функции свойств
- Функции MakeCert
Функции хранилища сертификатов
Сайт пользователя может со временем собирать множество сертификатов. Как правило, сайт имеет сертификаты для пользователя сайта, а также другие сертификаты, описывающие лиц и сущностей, с которыми пользователь взаимодействует. Для каждой сущности может быть несколько сертификатов. Для каждого отдельного сертификата должна быть цепочка проверки сертификатов, которая предоставляет след к доверенному корневому сертификату. Хранилища сертификатов и связанные с ними функции предоставляют функциональные возможности для хранения, извлечения, перечисления, проверки и использования сведений, хранящихся в сертификатах.
Функция | Описание |
---|---|
CertAddStoreToCollection | Добавляет одноуровневое хранилище сертификатов в хранилище сертификатов коллекции. |
CertCloseStore | Закрывает дескриптор хранилища сертификатов. |
CertControlStore | Позволяет приложению получать уведомления при наличии различий между содержимым кэшированного хранилища и содержимым хранилища, которое сохраняется в хранилище. Он также обеспечивает десинхронизацию кэшированного хранилища, если это необходимо, и предоставляет средства для фиксации изменений, внесенных в кэшированное хранилище, в сохраненное хранилище. |
CertDuplicateStore | Дублирует дескриптор хранилища путем увеличения числа ссылок. |
CertEnumPhysicalStore | Перечисляет физические хранилища для указанного системного хранилища. |
CertEnumSystemStore | Перечисляет все доступные системные хранилища. |
CertEnumSystemStoreLocation | Перечисляет все расположения, в которых есть доступное системное хранилище. |
CertGetStoreProperty | Возвращает свойство хранилища. |
CertOpenStore | Открывает хранилище сертификатов с использованием указанного типа поставщика хранилища. |
CertOpenSystemStore | Открывает системное хранилище сертификатов на основе протокола подсистемы. |
CertRegisterPhysicalStore | Добавляет физическое хранилище в коллекцию системных хранилищ реестра. |
CertRegisterSystemStore | Регистрирует системное хранилище. |
CertRemoveStoreFromCollection | Удаляет одноуровневое хранилище сертификатов из хранилища коллекции. |
CertSaveStore | Сохраняет хранилище сертификатов. |
CertSetStoreProperty | Задает свойство хранилища. |
CertUnregisterPhysicalStore | Удаляет физическое хранилище из указанной коллекции системных хранилищ. |
CertUnregisterSystemStore | Отменяет регистрацию указанного системного хранилища. |
CryptUIWizExport | Представляет мастер, который экспортирует сертификат, список доверия сертификатов (CTL), список отзыва сертификатов (CRL) или хранилище сертификатов. |
CryptUIWizImport | Представляет мастер, который импортирует сертификат, список доверия сертификатов (CTL), список отзыва сертификатов (CRL) или хранилище сертификатов. |
Функции обслуживания сертификатов и хранилища сертификатов
CryptoAPI предоставляет набор общих функций обслуживания сертификатов и хранилища сертификатов.
Функция | Описание |
---|---|
CertAddSerializedElementToStore | Добавляет сериализованный сертификат или элемент списка отзыва сертификатов в хранилище. |
CertCreateContext | Создает указанный контекст из закодированных байтов. Новый контекст не помещается в хранилище. |
CertEnumSubjectInSortedCTL | Перечисляет TrustedSubjects в отсортированного контексте CTL. |
CertFindSubjectInCTL | Находит указанную тему в CTL. |
CertFindSubjectInSortedCTL | Находит указанную тему в отсортированный CTL. |
OpenPersonalTrustDBDialog и OpenPersonalTrustDBDialogEx | Отображает диалоговое окно Сертификаты . |
Функции сертификата
Большинство функций сертификатов имеют связанные функции для работы с списками отзыва сертификатов и CCL. Дополнительные сведения о связанных функциях CRL и CTL см. в разделах Функции списка отзыва сертификатов и Функции списка доверия сертификатов.
Функция | Описание |
---|---|
CertAddCertificateContextToStore | Добавляет контекст сертификата в хранилище сертификатов. |
CertAddCertificateLinkToStore | Добавляет ссылку в хранилище сертификатов в контекст сертификата в другом хранилище. |
CertAddEncodedCertificateToStore | Преобразует закодированный сертификат в контекст сертификата, а затем добавляет контекст в хранилище сертификатов. |
CertAddRefServerOcspResponse | Увеличивает количество ссылок для дескриптора HCERT_SERVER_OCSP_RESPONSE . |
CertAddRefServerOcspResponseContext | Увеличивает количество ссылок для структуры CERT_SERVER_OCSP_RESPONSE_CONTEXT . |
CertCloseServerOcspResponse | Закрывает дескриптор ответа сервера OCSP. |
CertCreateCertificateContext | Создает контекст сертификата на основе закодированного сертификата. Созданный контекст не помещается в хранилище сертификатов. |
CertCreateSelfSignCertificate | создает самозаверяющий сертификат; |
CertDeleteCertificateFromStore | Удаляет сертификат из хранилища сертификатов. |
CertDuplicateCertificateContext | Дублирует контекст сертификата путем увеличения его количества ссылок. |
CertEnumCertificatesInStore | Перечисляет контексты сертификатов в хранилище сертификатов. |
CertFindCertificateInStore | Находит первый или следующий контекст сертификата в хранилище сертификатов, соответствующий условию поиска. |
CertFreeCertificateContext | Освобождает контекст сертификата. |
CertGetIssuerCertificateFromStore | Возвращает контекст сертификата из хранилища сертификатов для первого или следующего издателя указанного сертификата субъекта. |
CertGetServerOcspResponseContext | Извлекает неблокирующий контекст ответа протокола OCSP для указанного дескриптора. |
CertGetSubjectCertificateFromStore | Получает из хранилища сертификатов контекст сертификата субъекта, который уникально идентифицируется по его издателю и серийному номеру. |
CertGetValidUsages | Возвращает массив использования, состоящий из пересечения допустимых вариантов использования для всех сертификатов в массиве сертификатов. |
CertOpenServerOcspResponse | Открывает дескриптор для ответа протокола OCSP, связанного с цепочкой сертификатов сервера. |
CertRetrieveLogoOrBiometricInfo | Выполняет получение URL-адреса логотипа или биометрических данных, указанных в расширении сертификата szOID_LOGOTYPE_EXT или szOID_BIOMETRIC_EXT . |
CertSelectCertificate | Представляет диалоговое окно, позволяющее пользователю выбирать сертификаты из набора сертификатов, соответствующих заданным критериям. |
CertSelectCertificateChains | Извлекает цепочки сертификатов на основе указанных критериев выбора. |
CertSelectionGetSerializedBlob | Вспомогательная функция, используемая для получения сериализованного большого двоичного объекта сертификата из структуры CERT_SELECTUI_INPUT . |
CertSerializeCertificateStoreElement | Сериализует закодированный сертификат контекста сертификата и закодированное представление его свойств. |
CertVerifySubjectCertificateContext | Выполняет включенные проверки сертификата субъекта с помощью издателя. |
CryptUIDlgCertMgr | Отображает диалоговое окно, позволяющее пользователю управлять сертификатами. |
CryptUIDlgSelectCertificate | Отображает диалоговое окно, позволяющее пользователю выбрать сертификат. |
CryptUIDlgSelectCertificateFromStore | Отображает диалоговое окно, позволяющее выбрать сертификат из указанного хранилища. |
CryptUIDlgViewCertificate | Представляет диалоговое окно с указанным сертификатом. |
CryptUIDlgViewContext | Отображает сертификат, список отзыва сертификатов или список отзыва сертификатов. |
CryptUIDlgViewSignerInfo | Отображает диалоговое окно, содержащее сведения о подписывшем сообщении. |
GetFriendlyNameOfCert | Извлекает отображаемое имя сертификата. |
RKeyCloseKeyService | Закрывает дескриптор службы ключей. |
RKeyOpenKeyService | Открывает дескриптор службы ключей на удаленном компьютере. |
RKeyPFXInstall | Устанавливает сертификат на удаленном компьютере. |
Функции списка отзыва сертификатов
Эти функции управляют хранением и получением списков отзыва сертификатов (CRL).
Функция | Описание |
---|---|
CertAddCRLContextToStore | Добавляет контекст списка отзыва сертификатов в хранилище сертификатов. |
CertAddCRLLinkToStore | Добавляет ссылку в хранилище в контекст списка отзыва сертификатов в другом хранилище. |
CertAddEncodedCRLToStore | Преобразует закодированный список отзыва сертификатов в контекст списка отзыва сертификатов, а затем добавляет контекст в хранилище сертификатов. |
CertCreateCRLContext | Создает контекст списка отзыва сертификатов на основе закодированного списка отзыва сертификатов. Созданный контекст не помещается в хранилище сертификатов. |
CertDeleteCRLFromStore | Удаляет список отзыва сертификатов из хранилища сертификатов. |
CertDuplicateCRLContext | Дублирует контекст списка отзыва сертификатов путем увеличения числа ссылок. |
CertEnumCRLsInStore | Перечисляет контексты списка отзыва сертификатов в хранилище. |
CertFindCertificateInCRL | Выполняет поиск указанного сертификата в списке отзыва сертификатов (CRL). |
CertFindCRLInStore | Находит первый или следующий контекст списка отзыва сертификатов в хранилище сертификатов, соответствующий определенному критерию. |
CertFreeCRLContext | Освобождает контекст списка отзыва сертификатов. |
CertGetCRLFromStore | Возвращает первый или следующий контекст списка отзыва сертификатов из хранилища сертификатов для указанного сертификата издателя. |
CertSerializeCRLStoreElement | Сериализует закодированные CRL-список списка отзыва сертификатов и его свойства. |
Функции списка доверия сертификатов
Эти функции управляют хранением и получением списков доверия сертификатов (CCL).
Функция | Описание |
---|---|
CertAddCTLContextToStore | Добавляет контекст CTL в хранилище сертификатов. |
CertAddCTLLinkToStore | Добавляет ссылку в хранилище в контекст списка отзыва сертификатов в другом хранилище. |
CertAddEncodedCTLToStore | Преобразует закодированный CTL в контекст CTL, а затем добавляет контекст в хранилище сертификатов. |
CertCreateCTLContext | Создает контекст CTL из закодированного списка доверия сертификатов. Созданный контекст не помещается в хранилище сертификатов. |
CertDeleteCTLFromStore | Удаляет CTL из хранилища сертификатов. |
CertDuplicateCTLContext | Дублирует контекст CTL путем увеличения количества ссылок. |
CertEnumCTLsInStore | Перечисляет контексты CTL в хранилище сертификатов. |
CertFindCTLInStore | Находит первый или следующий контекст CTL в хранилище сертификатов, соответствующий определенным критериям. |
CertFreeCTLContext | Освобождает контекст CTL. |
CertModifyCertificatesToTrust | Изменяет набор сертификатов в CTL для определенной цели. |
CertSerializeCTLStoreElement | Сериализует закодированный CTL контекста CTL и его свойства. |
Расширенные функции свойств
Следующие функции работают с расширенными свойствами сертификатов, списков отзыва сертификатов и списков CCL.
Функция | Описание |
---|---|
CertEnumCertificateContextProperties | Перечисляет свойства для указанного контекста сертификата. |
CertEnumCRLContextProperties | Перечисляет свойства для указанного контекста списка отзыва сертификатов. |
CertEnumCTLContextProperties | Перечисляет свойства для указанного контекста CTL. |
CertGetCertificateContextProperty | Извлекает свойства сертификата. |
CertGetCRLContextProperty | Извлекает свойства списка отзыва сертификатов. |
CertGetCTLContextProperty | Извлекает свойства CTL. |
CertSetCertificateContextProperty | Задает свойства сертификата. |
CertSetCRLContextProperty | Задает свойства списка отзыва сертификатов. |
CertSetCTLContextProperty | Задает свойства CTL. |
Функции MakeCert
Следующие функции поддерживают средство MakeCert .
Функция | Описание |
---|---|
FreeCryptProvFromCert | Освобождает дескриптор для поставщика служб шифрования (CSP) и при необходимости удаляет временный контейнер, созданный функцией GetCryptProvFromCert . |
GetCryptProvFromCert | Получает дескриптор поставщика служб конфигурации и спецификацию ключа для контекста сертификата. |
PvkFreeCryptProv | Освобождает дескриптор CSP и при необходимости удаляет временный контейнер, созданный функцией PvkGetCryptProv . |
PvkGetCryptProv | Возвращает дескриптор CSP на основе имени файла закрытого ключа или контейнера ключей. |
PvkPrivateKeyAcquireContextFromMemory | Создает временный контейнер в CSP и загружает закрытый ключ из памяти в контейнер. |
PvkPrivateKeySave | Сохраняет закрытый ключ и соответствующий открытый ключ в указанном файле. |
SignError | Вызывает Метод GetLastError и преобразует код возврата в HRESULT. |
Функции проверки сертификата
Сертификаты проверяются с помощью списков сертификатов или цепочек сертификатов. Функции предоставляются для обоих из них:
- Функции проверки с помощью списков CCL
- Функции проверки цепочки сертификатов
Функции проверки с помощью списков CCL
Эти функции используют списки CCL в процессе проверки. Дополнительные функции для работы с списками сертификатов можно найти в разделе Функции списка доверия сертификатов и Расширенные функции свойств.
В следующих функциях для проверки используются списки CCL напрямую.
Функция | Описание |
---|---|
CertVerifyCTLUsage | Проверяет использование CTL. |
CryptMsgEncodeAndSignCTL | Кодирует и подписывает CTL как сообщение. |
CryptMsgGetAndVerifySigner | Извлекает и проверяет список CTL из сообщения. |
CryptMsgSignCTL | Подписывает сообщение, содержащее CTL. |
Функции проверки цепочки сертификатов
Цепочки сертификатов создаются для предоставления сведений о доверии об отдельных сертификатах.
Имя функции | Описание |
---|---|
CertCreateCertificateChainEngine | Создает новую подсистему цепочки, не являющегося последовательной, для приложения. |
CertCreateCTLEntryFromCertificateContextProperties | Создает запись CTL, атрибуты которой являются свойствами контекста сертификата. |
CertDuplicateCertificateChain | Дублирует цепочку сертификатов путем увеличения числа ссылок цепочки и возврата указателя на цепочку. |
CertFindChainInStore | Находит первый или следующий контекст цепочки сертификатов в хранилище. |
CertFreeCertificateChain | Освобождает цепочку сертификатов, уменьшая количество ссылок. |
CertFreeCertificateChainEngine | Освобождает подсистему цепочки сертификатов, не являющийся стандартным. |
CertFreeCertificateChainList | Освобождает массив указателей для контекстов цепочки. |
CertGetCertificateChain | Создает контекст цепочки, начиная с конечного сертификата и возвращаясь к доверенному корневому сертификату, если это возможно. |
CertIsValidCRLForCertificate | Проверяет список отзыва сертификатов , чтобы определить, будет ли он включать определенный сертификат, если этот сертификат был отозван. |
CertSetCertificateContextPropertiesFromCTLEntry | Задает свойства контекста сертификата, используя атрибуты в записи CTL. |
CertVerifyCertificateChainPolicy | Проверяет цепочку сертификатов для проверки ее действительности, включая соответствие любым указанным критериям политики допустимости. |
Функции сообщений
Функции сообщений CryptoAPI состоят из двух групп функций: низкоуровневых функций сообщений и упрощенных функций сообщений.
Низкоуровневые функции сообщений создают сообщения PKCS 7 и работают с ним напрямую. Эти функции кодируют данные PKCS #7 для передачи и декодирования полученных данных PKCS #7. Они также расшифровывают и проверяют подписи полученных сообщений. Общие сведения о стандартных и низкоуровневых сообщениях PKCS 7 см. в разделе Сообщения низкого уровня.
Упрощенные функции сообщений находятся на более высоком уровне и заключают несколько низкоуровневых функций сообщений и функций сертификатов в отдельные функции, которые выполняют определенную задачу определенным образом. Эти функции сокращают количество вызовов функций, необходимых для выполнения задачи, тем самым упрощая использование CryptoAPI. Общие сведения об упрощенных сообщениях см. в разделе Упрощенные сообщения.
- Низкоуровневые функции сообщений
- Упрощенные функции сообщений
Низкоуровневые функции сообщений
Функции низкоуровневых сообщений предоставляют функции, необходимые для кодирования данных для передачи и декодирования полученных сообщений PKCS #7. Также предоставляются функции для расшифровки и проверки подписей полученных сообщений. Использование этих низкоуровневых функций сообщений в большинстве приложений не рекомендуется. Для большинства приложений предпочтительнее использовать упрощенные функции сообщений, которые заключают несколько низкоуровневых функций сообщений в один вызов функции.
Функция | Описание |
---|---|
CryptMsgCalculateEncodedLength | Вычисляет длину закодированного криптографического сообщения. |
CryptMsgClose | Закрывает дескриптор криптографического сообщения. |
CryptMsgControl | Выполняет специальную функцию управления после окончательного CryptMsgUpdate закодированного или декодированного криптографического сообщения. |
CryptMsgCountersign | Контригнует уже существующую подпись в сообщении. |
CryptMsgCountersignEncoded | Контригнует уже существующую подпись (закодированную SignerInfo, как определено в PKCS 7). |
CryptMsgDuplicate | Дублирует дескриптор криптографического сообщения путем увеличения числа ссылок. Счетчик ссылок отслеживает время существования сообщения. |
CryptMsgGetParam | Получает параметр после кодирования или декодирования криптографического сообщения. |
CryptMsgOpenToDecode | Открывает криптографическое сообщение для декодирования. |
CryptMsgOpenToEncode | Открывает криптографическое сообщение для кодирования. |
CryptMsgUpdate | Обновления содержимое криптографического сообщения. |
CryptMsgVerifyCountersignatureEncoded | Проверяет контригнатуру с точки зрения структуры SignerInfo (как определено в PKCS 7). |
CryptMsgVerifyCountersignatureEncodedEx | Проверяет, содержит ли параметр pbSignerInfoCounterSignature зашифрованный хэш поля encryptedDigest структуры параметра pbSignerInfo . |
Упрощенные функции сообщений
упрощенные функции сообщений упаковывают функции низкоуровневых сообщений в одну функцию для выполнения указанной задачи.
Функция | Описание |
---|---|
CryptDecodeMessage | Декодирует криптографическое сообщение. |
CryptDecryptAndVerifyMessageSignature | Расшифровывает указанное сообщение и проверяет подписывающего. |
CryptDecryptMessage | Расшифровывает указанное сообщение. |
CryptEncryptMessage | Шифрует сообщение для получателя или получателей. |
CryptGetMessageCertificates | Возвращает хранилище сертификатов , содержащее сертификаты и списки отзыва сертификатов сообщения. |
CryptGetMessageSignerCount | Возвращает число подписывателей в подписанном сообщении. |
CryptHashMessage | Создает хэш сообщения. |
CryptSignAndEncryptMessage | Подписывает сообщение, а затем шифрует его для получателя или получателя. |
CryptSignMessageWithKey | Подписывает сообщение с помощью закрытого ключа CSP, указанного в параметрах функции. |
CryptSignMessage | Подписывает сообщение. |
CryptVerifyDetachedMessageHash | Проверяет хэшированные сообщения, содержащие отсоединяемый хэш. |
CryptVerifyDetachedMessageSignature | Проверяет подписанное сообщение, содержащее отсоединенную подпись или подписи. |
CryptVerifyMessageHash | Проверяет хэшированные сообщения. |
CryptVerifyMessageSignature | Проверяет подписанное сообщение. |
CryptVerifyMessageSignatureWithKey | Проверяет подпись подписанного сообщения, используя указанные сведения об открытом ключе. |
Вспомогательные функции
Вспомогательные функции группируются следующим образом:
- Функции управления данными
- Функции преобразования данных
- Расширенные функции использования ключей
- Функции идентификаторов ключей
- Функции поддержки OID
- Функции удаленного извлечения объектов
- Функции PFX
Функции управления данными
Следующие функции CryptoAPI управляют данными и сертификатами.
Функция | Описание |
---|---|
CertCompareCertificate | Сравнивает два сертификата, чтобы определить, идентичны ли они. |
CertCompareCertificateName | Сравнивает имена двух сертификатов, чтобы определить, идентичны ли они. |
CertCompareIntegerBlob | Сравнивает два целочисленных BLOB-объекта. |
CertComparePublicKeyInfo | Сравнивает два открытых ключа , чтобы определить, идентичны ли они. |
CertFindAttribute | Находит первый атрибут, идентифицируемый идентификатором объекта (OID). |
CertFindExtension | Находит первое расширение, определенное его идентификатором OID. |
CertFindRDNAttr | Находит первый атрибут RDN , идентифицируемый его идентификатором, в списке имен относительных различающихся имен. |
CertGetIntendedKeyUsage | Получает из сертификата байты предполагаемого использования ключа. |
CertGetPublicKeyLength | Получает битовую длину открытого или закрытого ключа из большого двоичного объекта открытого ключа. |
CertIsRDNAttrsInCertificateName | Сравнивает атрибуты в имени сертификата с указанным CERT_RDN , чтобы определить, включены ли в него все атрибуты. |
CertIsStrongHashToSign | Определяет, можно ли использовать указанный хэш-алгоритм и открытый ключ в сертификате подписи для выполнения строгой подписи. |
CertVerifyCRLRevocation | Проверяет, нет ли сертификата субъекта в списке отзыва сертификатов (CRL). |
CertVerifyCRLTimeValidity | Проверяет срок действия списка отзыва сертификатов. |
CertVerifyRevocation | Проверяет, нет ли сертификата субъекта в списке отзыва сертификатов. |
CertVerifyTimeValidity | Проверяет срок действия сертификата. |
CertVerifyValidityNesting | Проверяет, что срок действия субъекта находится в пределах срока действия издателя. |
CryptExportPKCS8 | Эта функция заменена функцией CryptExportPKCS8Ex . |
CryptExportPKCS8Ex | Экспорт закрытого ключа в формате PKCS #8. |
CryptExportPublicKeyInfo | Экспортирует сведения об открытом ключе, связанные с соответствующим закрытым ключом поставщика. |
CryptExportPublicKeyInfoEx | Экспортирует сведения об открытом ключе, связанные с соответствующим закрытым ключом поставщика. Эта функция отличается от CryptExportPublicKeyInfo тем, что пользователь может указать алгоритм открытого ключа, тем самым переопределяя значение по умолчанию, предоставленное поставщиком служб конфигурации. |
CryptExportPublicKeyInfoFromBCryptKeyHandle | Экспортирует сведения об открытом ключе, связанные с соответствующим закрытым ключом поставщика. |
CryptFindCertificateKeyProvInfo | Перечисляет поставщиков шифрования и их контейнеры ключей , чтобы найти закрытый ключ, соответствующий открытому ключу сертификата. |
CryptFindLocalizedName | Находит локализованное имя для указанного имени, например, находит локализованное имя для имени хранилища корневой системы. |
CryptHashCertificate |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Хэширует закодированное содержимое. |
CryptHashCertificate2 | Хэширует блок данных с помощью api шифрования: поставщик хэша следующего поколения (CNG). |
CryptHashPublicKeyInfo |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Вычисляет хэш закодированных данных открытого ключа. |
CryptHashToBeSigned |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Вычисляет хэш сведений "to be signed" в закодированном подписанном содержимом (CERT_SIGNED_CONTENT_INFO). |
CryptImportPKCS8 |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Импортирует закрытый ключ в формате PKCS #8 в поставщик служб шифрования (CSP). |
CryptImportPublicKeyInfo |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Преобразует и импортирует данные открытого ключа в поставщик и возвращает дескриптор открытого ключа. |
CryptImportPublicKeyInfoEx |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Преобразует и импортирует данные открытого ключа в поставщик и возвращает дескриптор открытого ключа. Дополнительные параметры (по сравнению с параметрами, заданными в CryptImportPublicKeyInfo), которые можно использовать для переопределения значений по умолчанию, предоставляются в дополнение к CERT_PUBLIC_KEY_INFO. |
CryptImportPublicKeyInfoEx2 | Импорт открытого ключа в асимметричный поставщик CNG. |
CryptMemAlloc | Выделяет память для буфера. Эта память используется всеми функциями Crypt32.lib, возвращающими выделенные буферы. |
CryptMemFree | Освобождает память, выделенную CryptMemAlloc или CryptMemRealloc. |
CryptMemRealloc | Освобождает память, выделенную для буфера, и выделяет память для нового буфера. |
CryptQueryObject |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Извлекает сведения о содержимом большого двоичного объекта или файла. |
CryptSignAndEncodeCertificate | Кодирует информацию "для подписи", подписывает эту закодированную информацию и кодирует полученную подписанную закодированную информацию. |
CryptSignCertificate | Подписывает сведения о подписи в закодированном подписанном содержимом. |
CryptSIPAddProvider | Добавляет пакет интерфейса субъекта (SIP). |
CryptSIPCreateIndirectData | Возвращает SIP_INDIRECT_DATA структуру, содержащую хэш указанной структуры SIP_SUBJECTINFO , алгоритм дайджеста и атрибут кодирования. Хэш можно использовать в качестве косвенной ссылки на данные. |
CryptSIPGetCaps | Извлекает возможности SIP. |
CryptSIPGetSignedDataMsg | Извлекает подпись Authenticode из файла. |
CryptSIPLoad | Загружает библиотеку динамической компоновки, которая реализует пакет интерфейса субъекта, и назначает соответствующие функции экспорта библиотеки SIP_DISPATCH_INFO структуре. |
CryptSIPPutSignedDataMsg | Сохраняет подпись Authenticode в целевом файле. |
CryptSIPRemoveProvider | Удаляет SIP, добавленный при предыдущем вызове функции CryptSIPAddProvider . |
CryptSIPRemoveSignedDataMsg | Удаляет указанную подпись Authenticode. |
CryptSIPRetrieveSubjectGuid | Извлекает GUID на основе сведений о заголовке в указанном файле. |
CryptSIPRetrieveSubjectGuidForCatalogFile | Извлекает GUID субъекта, связанный с указанным файлом. |
CryptSIPVerifyIndirectData | Проверяет непрямые хэшированные данные по указанному субъекту. |
CryptUpdateProtectedState | Переносит ключи master текущего пользователя после изменения идентификатора безопасности (SID) пользователя. |
CryptVerifyCertificateSignature | Проверяет подпись сертификата субъекта или списка отзыва сертификатов с помощью сведений об открытом ключе. |
CryptVerifyCertificateSignatureEx | Расширенная версия CryptVerifyCertificateSignature. |
GetEncSChannel | Сохраняет зашифрованное содержимое библиотеки DLL Schannel в памяти. |
pCryptSIPGetCaps | Реализуется SIP для создания отчетов о возможностях. |
Функции преобразования данных
Следующие функции CryptoAPI преобразуют элементы структуры сертификата в различные формы.
Функция | Описание |
---|---|
CertAlgIdToOID | Преобразует идентификатор алгоритма CryptoAPI (ALG_ID) в строку идентификатора объекта (OID) абстрактной синтаксической нотации 1 (ASN.1). |
CertGetNameString | Получает имя субъекта или издателя из сертификата и преобразует его в символьную строку, завершаемую null. |
CertNameToStr | Преобразует большой двоичный объект с именем сертификата в строку с нулевым завершением. |
CertOIDToAlgId | Преобразует строку идентификатора объекта ASN.1 в идентификатор алгоритма CSP. |
CertRDNValueToStr | Преобразует значение имени в строку, завершаемую нулевым значением. |
CertStrToName | Преобразует строку X.500 , завершаемую null, в закодированное имя сертификата. |
CryptBinaryToString | Преобразует двоичную последовательность в форматированную строку. |
CryptFormatObject | Форматирует закодированные данные и возвращает строку Юникода. |
CryptStringToBinary | Преобразует форматированную строку в двоичную последовательность. |
Расширенные функции использования ключей
Следующие функции имеют дело с расширением расширенного использования ключа (EKU) и расширенным свойством EKU сертификатов. Расширение EKU и расширенное свойство указывают и ограничивают допустимое использование сертификата. Расширения являются частью самого сертификата. Они задаются издателем сертификата и доступны только для чтения. Расширенные свойства сертификата — это значения, связанные с сертификатом, которые можно задать в приложении.
Функция | Описание |
---|---|
CertAddEnhancedKeyUsageIdentifier | Добавляет идентификатор использования в свойство EKU сертификата. |
CertGetEnhancedKeyUsage | Получает из сертификата сведения о расширении или свойстве EKU. |
CertRemoveEnhancedKeyUsageIdentifier | Удаляет идентификатор использования из расширенного свойства EKU сертификата. |
CertSetEnhancedKeyUsage | Задает свойство EKU для сертификата. |
Функции идентификаторов ключей
Функции идентификаторов ключей позволяют пользователю создавать, задавать, извлекать или находить идентификатор ключа или его свойства.
Идентификатор ключа — это уникальный идентификатор пары открытого и закрытого ключей. Это может быть любой уникальный идентификатор, но обычно это 20-байтный хэш SHA1 закодированной CERT_PUBLIC_KEY_INFO структуры. Идентификатор ключа можно получить с помощью CERT_KEY_IDENTIFIER_PROP_ID сертификата. Идентификатор ключа позволяет использовать пару ключей для шифрования или расшифровки сообщений без использования сертификата.
Идентификаторы ключей не связаны с списками отзыва сертификатов и CCL.
Идентификатор ключа может иметь те же свойства, что и контекст сертификата. Дополнительные сведения см. в разделе CertCreateContext.
Функция | Описание |
---|---|
CryptCreateKeyIdentifierFromCSP |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Создает идентификатор ключа из большого двоичного объекта открытого ключа CSP. |
CryptEnumKeyIdentifierProperties | Перечисляет идентификаторы ключей и их свойства. |
CryptGetKeyIdentifierProperty |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Получает определенное свойство из указанного идентификатора ключа. |
CryptSetKeyIdentifierProperty |
Внимание! Это нерекомендуемый API. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках. Задает свойство указанного идентификатора ключа. |
Функции поддержки OID
Эти функции обеспечивают поддержку идентификаторов объектов (OID). Эти функции устанавливают, регистрируют и отправляют их в функции OID и кодирования для конкретных типов.
Следующие функции CryptoAPI используют эти функции поддержки OID:
- CryptEncodeObject
- CryptEncodeObjectEx
- CryptDecodeObject
- CryptDecodeObjectEx
- CertVerifyRevocation
- CertOpenStore
Общие сведения об этом процессе см. в разделе Расширение функциональных возможностей CryptoAPI.
Следующие функции работают с идентификаторами OID.
Функция | Описание |
---|---|
CryptEnumOIDFunction | Перечисляет зарегистрированные функции OID, определяемые по типу кодирования, имени функции и OID. |
CryptEnumOIDInfo | Перечисляет зарегистрированные сведения об идентификаторе идентификатора, определяемые их группой, и вызывает pfnEnumOIDInfo для совпадений. |
CryptFindOIDInfo | Использует указанный ключ и группу для поиска сведений об OID. |
CryptFreeOIDFunctionAddress | Освобождает число дескрипторов, которое было увеличено и возвращено CryptGetOIDFunctionAddress или CryptGetDefaultOIDFunctionAddress. |
CryptGetDefaultOIDDllList | Получает список зарегистрированных записей DLL по умолчанию для указанного набора функций и типа кодирования. |
CryptGetDefaultOIDFunctionAddress | Получает первую или следующую установленную функцию по умолчанию или загружает библиотеку DLL, содержащую функцию по умолчанию. |
CryptGetOIDFunctionAddress | Ищет в списке установленных функций тип кодирования и совпадение OID. Если совпадение там не найдено, в реестре выполняется поиск совпадения. |
CryptGetOIDFunctionValue | Получает значение для указанного типа кодирования, имени функции, идентификатора идентификатора и имени значения. |
CryptInitOIDFunctionSet | Инициализирует и возвращает дескриптор набора функций OID, определяемого указанным именем функции. |
CryptInstallOIDFunctionAddress | Устанавливает набор вызываемых адресов функций OID. |
CryptRegisterDefaultOIDFunction | Регистрирует библиотеку DLL, содержащую функцию по умолчанию для вызова для указанного типа кодирования и имени функции. |
CryptRegisterOIDFunction | Регистрирует библиотеку DLL, содержащую функцию для вызова для указанного типа кодирования, имени функции и идентификатора объекта. |
CryptRegisterOIDInfo | Регистрирует сведения об OID, указанные в структуре CRYPT_OID_INFO , сохраняя их в реестре. |
CryptSetOIDFunctionValue | Задает значение для указанного типа кодирования, имени функции, OID и имени значения. |
CryptUnregisterDefaultOIDFunction | Удаляет регистрацию библиотеки DLL, содержащей функцию по умолчанию, вызываемую для указанного типа кодирования и имени функции. |
CryptUnregisterOIDFunction | Удаляет регистрацию библиотеки DLL, содержащей функцию, вызываемую для указанного типа кодирования, имени функции и объекта OID. |
CryptUnregisterOIDInfo | Удаляет регистрацию для указанных сведений об OID. |
Функции удаленного извлечения объектов
Следующие функции позволяют пользователю получить объект инфраструктуры открытых ключей (PKI), получить URL-адрес сертификата, CTL или CRL или извлечь URL-адрес из объекта.
Функция | Описание |
---|---|
CryptGetObjectUrl | Получает URL-адрес удаленного объекта из сертификата, CTL или списка отзыва сертификатов. |
CryptRetrieveObjectByUrl | Извлекает объект PKI из расположения, указанного URL-адресом. |
Функции PFX
Следующие функции поддерживают большие двоичные объекты формата PFX.
Функция | Описание |
---|---|
PFXExportCertStore | Экспортирует из упоминаемого сертификата хранилище сертификатов и, если доступно, связанные с ними закрытые ключи. |
PFXExportCertStoreEx | Экспортирует из упоминаемого сертификата хранилище сертификатов и, если доступно, связанные с ними закрытые ключи. |
PFXImportCertStore | Импортирует большой двоичный объект PFX и возвращает дескриптор хранилища, содержащего сертификаты и все связанные закрытые ключи. |
PFXIsPFXBlob | Пытается декодировать внешний слой большого двоичного объекта в виде пакета PFX. |
PFXVerifyPassword | Пытается декодировать внешний слой большого двоичного объекта в виде пакета PFX и расшифровать его с помощью заданного пароля. |
Функции резервного копирования и восстановления служб сертификатов
Службы сертификатов включают функции для резервного копирования и восстановления базы данных служб сертификатов. Эти функции резервного копирования и восстановления служб сертификатов содержатся в Certadm.dll. В отличие от других элементов API, связанных со службами сертификатов, эти функции не инкапсулируются в объекте , который можно использовать для вызова методов класса. Вместо этого API резервного копирования и восстановления вызываются путем загрузки библиотеки Certadm.dll в память путем вызова LoadLibrary , а затем определения адреса функций путем вызова GetProcAddress. Завершив вызов функций резервного копирования и восстановления служб сертификатов, вызовите FreeLibrary , чтобы освободить Certadm.dll ресурсы из памяти.
Примечание
Функции резервного копирования и восстановления, предоставляемые Certadm.dll, не выполняют резервное копирование и восстановление закрытых ключей службы сертификатов. Сведения о резервном копировании закрытых ключей служб сертификатов см. в разделе Резервное копирование и восстановление закрытого ключа служб сертификатов.
Чтобы вызвать функции резервного копирования и восстановления, необходимо иметь права на резервное копирование и восстановление. Дополнительные сведения см. в разделе Настройка привилегий резервного копирования и восстановления.
Примечание
Если coInitializeEx ранее вызывался в том же потоке, который использовался для вызова API резервного копирования и восстановления служб сертификатов, флаг COINIT_APARTMENTTHREADED должен быть передан в CoInitializeEx. То есть при использовании одного и того же потока нельзя вызвать API резервного копирования и восстановления служб сертификатов, если поток ранее передал флаг COINIT_MULTITHREADED в вызове CoInitializeEx.
API резервного копирования служб сертификатов определяются в Certbcli.h. Однако при создании программы используйте Certsrv.h в качестве включаемого файла.
Следующие API экспортируются Certadm.dll.
Функция | Описание |
---|---|
CertSrvBackupClose | Закрывает открытый файл. |
CertSrvBackupEnd | Завершает сеанс резервного копирования. |
CertSrvBackupFree | Освобождает буфер, выделенный API резервного копирования и восстановления. |
CertSrvBackupGetBackupLogs | Возвращает список файлов журналов, для резервного копирования которым требуется создать резервную копию. |
CertSrvBackupGetDatabaseNames | Возвращает список файлов базы данных, которые необходимо создать для резервного копирования. |
CertSrvBackupGetDynamicFileList | Извлекает список имен динамических файлов служб сертификатов, для которого необходимо создать резервную копию для заданного контекста резервного копирования. |
CertSrvBackupOpenFile | Открывает файл для подготовки к его резервному копированию. |
CertSrvBackupPrepare | Подготавливает базу данных для оперативного резервного копирования. |
CertSrvBackupRead | Считывает содержимое открытого файла. |
CertSrvBackupTruncateLogs | Усекает файлы журнала. |
CertSrvIsServerOnline | Определяет, находится ли сервер служб сертификатов в сети (активно работает). |
CertSrvRestoreEnd | Завершает сеанс восстановления. |
CertSrvRestoreGetDatabaseLocations | Извлекает расположения базы данных (используются как для сценариев резервного копирования, так и для восстановления). |
CertSrvRestorePrepare | Начинает сеанс восстановления. |
CertSrvRestoreRegister | Регистрирует операцию восстановления. |
CertSrvRestoreRegisterComplete | Завершает ранее зарегистрированную операцию восстановления. |
CertSrvRestoreRegisterThroughFile | Регистрирует операцию восстановления. |
CertSrvServerControl | Отправляет команду управления экземпляру служб сертификатов. |
Функции обратного вызова
Функции обратного вызова в этом разделе используются для регистрации или установки поставщиков хранилища сертификатов , определяемых приложением, а также для предоставления связанных функций с помощью функций обратного вызова. Функции обратного вызова реализуются приложением и вызываются функциями CryptoAPI . Функции обратного вызова позволяют приложению частично управлять способом, которым функции CryptoAPI управляют данными.
Функция обратного вызова | Использование |
---|---|
CertChainFindByIssuerCallback | Определяемая приложением функция обратного вызова, которая позволяет приложению фильтровать сертификаты, которые могут быть добавлены в цепочку сертификатов. |
CertDllOpenStoreProv | Определяет открытую функцию поставщика хранилища. |
CertEnumPhysicalStoreCallback | Функция обратного вызова, используемая функцией CertEnumPhysicalStore для форматирования и представления сведений о каждом найденном физическом хранилище. |
CertEnumSystemStoreCallback | Функция обратного вызова, используемая функцией CertEnumSystemStore для форматирования и представления сведений о каждом найденном физическом хранилище. |
CertEnumSystemStoreLocationCallback | Функция обратного вызова, используемая функцией CertEnumSystemStoreLocation для форматирования и представления сведений о каждом найденном физическом хранилище. |
CertStoreProvCloseCallback | Определяет, что происходит, когда количество ссылок открытого хранилища становится равным нулю. |
CertStoreProvControl | Позволяет приложению получать уведомления при наличии различий между содержимым используемого кэшированного хранилища и содержимым этого хранилища по мере его сохранения в хранилище. |
CertStoreProvDeleteCertCallback | Определяет действия, которые необходимо выполнить перед удалением сертификата из хранилища сертификатов. |
CertStoreProvDeleteCRLCallback | Определяет действия, которые необходимо выполнить перед удалением списка отзыва сертификатов (CRL) из хранилища сертификатов. |
CertStoreProvDeleteCTL | Определяет, можно ли удалить CTL. |
CertStoreProvFindCert | Находит первый или следующий сертификат в хранилище, которое соответствует указанным условиям. |
CertStoreProvFindCRL | Находит первый или следующий список отзыва сертификатов в хранилище, соответствующем указанным критериям. |
CertStoreProvFindCTL | Находит первый или следующий CTL в хранилище, которое соответствует указанным критериям. |
CertStoreProvFreeFindCert | Освобождает ранее найденный контекст сертификата. |
CertStoreProvFreeFindCRL | Освобождает ранее найденный контекст списка отзыва сертификатов. |
CertStoreProvFreeFindCTL | Освобождает ранее найденный контекст CTL. |
CertStoreProvGetCertProperty | Извлекает указанное свойство сертификата. |
CertStoreProvGetCRLProperty | Извлекает указанное свойство списка отзыва сертификатов. |
CertStoreProvGetCTLProperty | Извлекает указанное свойство CTL. |
CertStoreProvReadCertCallback | В настоящее время не используется, но может быть экспортирован в будущие поставщики служб конфигурации. |
CertStoreProvReadCRLCallback | В настоящее время не используется, но может быть экспортирован в будущие поставщики служб конфигурации. |
CertStoreProvReadCTL | Прочтите копию поставщика контекста CTL и, если он существует, создайте новый контекст CTL. |
CertStoreProvSetCertPropertyCallback | Определяет действия, выполняемые перед вызовом CertSetCertificateContextProperty или CertGetCertificateContextProperty. |
CertStoreProvSetCRLPropertyCallback | Определяет действия, выполняемые перед вызовом CertSetCRLContextProperty или CertGetCRLContextProperty. |
CertStoreProvSetCTLProperty | Определяет, можно ли задать свойство в CTL. |
CertStoreProvWriteCertCallback | Определяет действия, которые необходимо выполнить перед добавлением сертификата в хранилище. |
CertStoreProvWriteCRLCallback | Определяет действия, которые необходимо выполнить перед добавлением списка отзыва сертификатов в хранилище. |
CertStoreProvWriteCTL | Определяет, можно ли добавить CTL в хранилище. |
CRYPT_ENUM_KEYID_PROP | Функция обратного вызова, используемая функцией CryptEnumKeyIdentifierProperties . |
CRYPT_ENUM_OID_FUNCTION | Функция обратного вызова, используемая функцией CryptEnumOIDFunction . |
CRYPT_ENUM_OID_INFO | Функция обратного вызова, используемая функцией CryptEnumOIDInfo . |
CryptGetSignerCertificateCallback | Функция обратного вызова, используемая со структурой CRYPT_VERIFY_MESSAGE_PARA для получения и проверки сертификата подписывателя сообщения. |
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC | Функция обратного вызова, используемая функцией CryptImportPKCS8 . |
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC | Функция обратного вызова, используемая при создании структуры CRYPT_ENCRYPTED_PRIVATE_KEY_INFO . |
PCRYPT_RESOLVE_HCRYPTPROV_FUNC | Функция обратного вызова, используемая функцией CryptImportPKCS8 . |
PFN_CDF_PARSE_ERROR_CALLBACK | Определяемая пользователем функция вызывается для ошибок функции определения каталога при анализе файла определения каталога (CDF). |
PFN_CERT_CREATE_CONTEXT_SORT_FUNC | Вызывается для каждой записи отсортированного контекста при создании контекста. |
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY | Устанавливаемая функция идентификатора объекта CNG (OID) для импорта уже расшифрованного ключа шифрования содержимого (CEK). |
PFN_CMSG_CNG_IMPORT_KEY_AGREE | Импортирует ключ шифрования содержимого для получателя транспорта ключа в конвертированном сообщении. |
PFN_CMSG_CNG_IMPORT_KEY_TRANS | Устанавливаемая функция CNG OID для импорта и расшифровки зашифрованного ключа шифрования содержимого (CEK). |
PFN_CMSG_EXPORT_KEY_AGREE | Шифрует и экспортирует ключ шифрования содержимого для получателя соглашения ключа в конвертированном сообщении. |
PFN_CMSG_EXPORT_KEY_TRANS | Шифрует и экспортирует ключ шифрования содержимого для получателя транспорта ключа в конвертированном сообщении. |
PFN_CMSG_EXPORT_MAIL_LIST | Шифрует и экспортирует ключ шифрования содержимого для получателя почтового списка конвертированного сообщения. |
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY | Создает симметричный ключ , используемый для шифрования содержимого конвертированного сообщения. |
PFN_CMSG_IMPORT_KEY_AGREE | Импортирует ключ шифрования содержимого для получателя транспорта ключа в конвертированном сообщении. |
PFN_CMSG_IMPORT_KEY_TRANS | Импортирует ключ шифрования содержимого для получателя транспорта ключа в конвертированном сообщении. |
PFN_CMSG_IMPORT_MAIL_LIST | Импортирует ключ шифрования содержимого для получателя транспорта ключа в конвертированном сообщении. |
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | Вызывается CryptExportPublicKeyInfoEx для экспорта большого двоичного объекта открытого ключа и его кодирования. |
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | Вызывается для декодирования и возврата идентификатора хэш-алгоритма и при необходимости параметров сигнатуры. |
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC | Вызывается для подписывания и кодирования вычисляемого хэша. |
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC | Вызывается для расшифровки закодированной подписи и сравнения ее с вычисленным хэшом. |
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC | Вызывается CryptImportPublicKeyInfoEx2 для декодирования идентификатора алгоритма открытого ключа , загрузки поставщика алгоритма и импорта пары ключей. |
PFNCCERTDISPLAYPROC | Определяемая пользователем функция обратного вызова, которая позволяет вызывающей функции CryptUIDlgSelectCertificate обрабатывать отображение сертификатов, которые пользователь выбирает для просмотра. |
PFNCMFILTERPROC | Фильтрует каждый сертификат, чтобы решить, будет ли он отображаться в диалоговом окне выбора сертификата, отображаемом функцией CertSelectCertificate . |
PFNCMHOOKPROC | Вызывается перед обработкой сообщений в диалоговом окне выбора сертификата, созданном функцией CertSelectCertificate . |
Функции определения каталога
Эти функции используются для создания каталога. Все эти функции вызываются MakeCat.
Функция | Описание |
---|---|
CryptCATCDFClose | Закрывает файл определения каталога и освобождает память для соответствующей структуры CRYPTCATCDF . |
CryptCATCDFEnumAttributesWithCDFTag | Перечисляет атрибуты файлов-членов в разделе CatalogFiles CDF. |
CryptCATCDFEnumCatAttributes | Перечисляет атрибуты уровня каталога в разделе CatalogHeader CDF. |
CryptCATCDFEnumMembersByCDFTagEx | Перечисляет отдельные члены файла в разделе CatalogFiles CDF. |
CryptCATCDFOpen | Открывает существующий CDF для чтения и инициализирует структуру CRYPTCATCDF . |
Функции работы с каталогами
Эти функции используются для управления каталогом.
Функция | Описание |
---|---|
CryptCATAdminAcquireContext | Получает дескриптор контекста администратора каталога. Этот дескриптор можно использовать при последующих вызовах функций CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHash и CryptCATAdminRemoveCatalog . |
CryptCATAdminAcquireContext2 | Получает дескриптор контекста администратора каталога для заданного хэш-алгоритма и хэш-политики. |
CryptCATAdminAddCatalog | Добавляет каталог в базу данных каталога. |
CryptCATAdminCalcHashFromFileHandle | Вычисляет хэш файла. |
CryptCATAdminCalcHashFromFileHandle2 | Вычисляет хэш файла с помощью указанного алгоритма. |
CryptCATAdminEnumCatalogFromHash | Перечисляет каталоги, содержащие указанный хэш. |
CryptCATAdminReleaseCatalogContext | Освобождает дескриптор в контекст каталога, ранее возвращенный функцией CryptCATAdminAddCatalog . |
CryptCATAdminReleaseContext | Освобождает дескриптор, ранее назначенный функцией CryptCATAdminAcquireContext . |
CryptCATAdminRemoveCatalog | Удаляет файл каталога и удаляет запись этого каталога из базы данных каталога Windows. |
CryptCATAdminResolveCatalogPath | Извлекает полный путь к указанному каталогу. |
CryptCATCatalogInfoFromContext | Извлекает сведения о каталоге из указанного контекста каталога. |
CryptCATClose | Закрывает дескриптор каталога, открытый ранее функцией CryptCATOpen . |
CryptCATEnumerateAttr | Перечисляет атрибуты, связанные с элементом каталога. |
CryptCATEnumerateCatAttr | Перечисляет атрибуты, связанные с каталогом. |
CryptCATEnumerateMember | Перечисляет элементы каталога. |
CryptCATGetAttrInfo | Извлекает сведения об атрибуте элемента каталога. |
CryptCATGetMemberInfo | Извлекает сведения о членах из PKCS 7 каталога. Помимо получения сведений о члене для указанного ссылочного тега, эта функция открывает контекст элемента. |
CryptCATOpen | Открывает каталог и возвращает дескриптор контекста в открытый каталог. |
IsCatalogFile | Извлекает логическое значение, указывающее, является ли указанный файл файлом каталога. |
Функции WinTrust
Следующие функции используются для выполнения различных операций доверия.
Функция | Описание |
---|---|
WintrustAddActionID | Добавляет действие поставщика доверия в систему пользователя. |
WintrustGetRegPolicyFlags | Извлекает флаги политики для поставщика политик. |
WintrustAddDefaultForUsage | Указывает идентификатор использования по умолчанию и сведения о обратном вызове для поставщика. |
WintrustGetDefaultForUsage | Извлекает идентификатор использования по умолчанию и сведения о обратном вызове. |
WintrustLoadFunctionPointers | Загружает точки входа функции для указанного GUID действия. |
WintrustRemoveActionID | Удаляет действие, добавленное функцией WintrustAddActionID . |
WintrustSetDefaultIncludePEPageHashes | Задает параметр по умолчанию, определяющий, включаются ли хэши страниц при создании непрямых данных пакета интерфейса субъекта (SIP) для переносимых исполняемых файлов. |
WintrustSetRegPolicyFlags | Задает флаги политики для поставщика политик. |
WinVerifyTrust | Выполняет действие проверки доверия для указанного объекта. |
WinVerifyTrustEx | Выполняет действие проверки доверия для указанного объекта и принимает указатель на WINTRUST_DATA структуру. |
WTHelperCertCheckValidSignature | Проверяет, является ли подпись допустимой. |
WTHelperCertFindIssuerCertificate | Находит сертификат издателя из указанных хранилищ сертификатов, соответствующий указанному сертификату субъекта. |
WTHelperCertIsSelfSigned | Проверяет, является ли сертификат самозаверяющий. |
WTHelperGetFileHash | Проверяет подпись подписанного файла и получает хэш-значение и идентификатор алгоритма для файла. |
WTHelperGetProvCertFromChain | Извлекает сертификат поставщика доверия из цепочки сертификатов. |
WTHelperGetProvPrivateDataFromChain | Получает структуру CRYPT_PROVIDER_PRIVDATA из цепочки с помощью идентификатора поставщика. |
WTHelperGetProvSignerFromChain | Извлекает подписывающего или встречного по индексу из цепочки. |
WTHelperProvDataFromStateData | Извлекает сведения о поставщике доверия из указанного дескриптора. |
Функции указателя объектов
Следующие функции обратного вызова могут быть реализованы настраиваемым поставщиком, который должен вызываться пакетом безопасности Secure Channel (Schannel) для получения сертификатов.
Функция | Описание |
---|---|
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH | Указывает, что объект был изменен. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET | Извлекает объект . |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE | Освобождает поставщика. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD | Освобождает пароль, используемый для шифрования массива байтов PFX. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE | Освобождает объект, возвращенный поставщиком. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER | Освобождает память для идентификатора объекта. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE | Инициализирует этот поставщик. |