Функции ответа сертификата

CertEnroll.dll реализует интерфейс IX509Enrollment для отправки запроса на сертификат клиента и установки ответа от центра сертификации (ЦС).

Процесс регистрации может соответствовать следующим трем сценариям:

Внеполосная регистрация
  1. Вызовите любой метод инициализации, реализованный объектом IX509Enrollment .
  2. Вызовите метод CreateRequest , чтобы получить запрос.
  3. Отправьте запрос вне диапазона (вручную или с помощью какого-либо другого процесса).
  4. Получите ответ от ЦС.
  5. Вызовите метод InstallResponse .

Автоматическая регистрация

  1. Вызовите любой метод инициализации, реализованный объектом IX509Enrollment .
  2. Вызовите метод Enroll .

Отложенная регистрация

  1. Вызовите любой метод инициализации, реализованный объектом IX509Enrollment .
  2. Вызовите метод CreateRequest , чтобы получить запрос.
  3. Сохраняйте запрос, пока не будете готовы к его отправке.
  4. Когда вы будете готовы к регистрации, вызовите метод Initialize , чтобы повторно инициализировать объект регистрации.
  5. Вызовите метод InstallResponse , когда ЦС возвращает сертификат.

В процессе регистрации можно вызвать свойство Status объекта IX509Enrollment , чтобы получить значение перечисления EnrollmentEnrollStatus , которое определяет, успешно ли выполнена регистрация, находится ли регистрация в состоянии ожидания, пропущена, создана ошибка или отклонена.

Каждый из следующих разделов определяет функцию, экспортированную Xenroll.dll для установки ответа сертификата из ЦС. В каждом разделе также описывается, как использовать CertEnroll.dll для замены функции, или указано, что сопоставление между двумя библиотеками не существует:

acceptFilePKCS7WStr

Функция acceptFilePKCS7WStr в Xenroll.dll устанавливает ответ PKCS #7 из файла.

Библиотека CertEnroll.dll напрямую не реализует функциональные возможности для установки ответа сертификата PKCS #7 из файла. Однако можно создать пользовательскую функцию для считывания данных файла в массив байтов и вызвать Метод InstallResponse для установки ответа.

Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить сертификат без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

acceptFileResponseWStr

Функция acceptFileResponseWStr в Xenroll.dll устанавливает из файла ответ сертификата PKCS #7 или CMC.

Библиотека CertEnroll.dll напрямую не реализует функциональные возможности для установки ответа сертификата из файла. Однако можно создать пользовательскую функцию для чтения данных файла в массив байтов и вызвать Метод InstallResponse для установки ответа PKCS #7 или CMC.

Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить сертификат без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

acceptPKCS7Blob

Функция acceptPKCS7Blob в Xenroll.dll устанавливает ответ PKCS #7, содержащийся в массиве байтов.

Вы можете вызвать InstallResponse , чтобы установить сообщение PKCS #7. Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить ответ PKCS #7 без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

acceptResponseBlob

Функция acceptResponseBlob в Xenroll.dll устанавливает ответ сертификата PKCS 7 или CMC, содержащийся в массиве байтов.

Вы можете вызвать InstallResponse , чтобы установить ответ PKCS #7 или CMC. Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить ответ без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

getCertContextFromFileResponseWStr

Функция getCertContextFromFileResponseWStr в Xenroll.dll извлекает сертификат клиента из файла.

Библиотека CertEnroll.dll напрямую не реализует функциональные возможности для получения сертификата из ответа ЦС, сохраненного в файле. Однако можно создать пользовательскую функцию для чтения данных файла в массив байтов, вызвать Метод InstallResponse , чтобы установить ответ PKCS #7 или CMC, и вызвать свойство Certificate для получения сертификата.

Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить сертификат без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

getCertContextFromPKCS7

Функция getCertContextFromPKCS7 в Xenroll.dll извлекает сертификат клиента из ответа PKCS #7.

Вы можете вызвать свойство Certificate объекта IX509Enrollment , чтобы получить сертификат после вызова метода Enroll или InstallResponse .

getCertContextFromResponseBlob

Функция getCertContextFromResponseBlob в Xenroll.dll получает сертификат клиента из ответа PKCS #7 или CMC.

Вы можете вызвать свойство Certificate объекта IX509Enrollment , чтобы получить сертификат после вызова метода Enroll или InstallResponse .

InstallPKCS7Blob

Функция InstallPKCS7Blob в Xenroll.dll устанавливает ответ PKCS 7.

Вы можете вызвать InstallResponse , чтобы установить ответ PKCS #7 или CMC. Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить ответ без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

InstallPKCS7BlobEx

Функция InstallPKCS7BlobEx в Xenroll.dll устанавливает ответ PKCS 7 и возвращает количество установленных сертификатов.

Вы можете вызвать InstallResponse , чтобы установить ответ PKCS #7 или CMC. Если указать значение AllowNoOutstandingRequest перечисления InstallRestrictionFlags для первого параметра InstallResponse, фиктивный сертификат не должен существовать, что позволит установить ответ без предварительного вызова Enroll или CreateRequest. Однако при установке сертификата с помощью веб-скрипта в хранилище запросов должен существовать фиктивный сертификат. Поэтому для первого параметра необходимо указать AllowNone .

SPCFileNameWStr

Функция SPCFileNameWStr в Xenroll.dll задает или извлекает имя файла, в котором нужно сохранить ответ сертификата. Библиотека CertEnroll.dll не реализует функциональные возможности, позволяющие скопировать сертификат в определенный файл. Процесс регистрации автоматически устанавливает цепочку сертификатов в файлы в соответствующих хранилищах.

WriteCertToCSP

Функция WriteCertToCSP в Xenroll.dll задает или извлекает логическое значение, указывающее, нужно ли записывать сертификат в поставщик служб шифрования (CSP). Как правило, если вызывается эта функция, поставщик является интеллектуальным карта.

В CertEnroll.dll, когда клиент вызывает метод Enroll для отправки запроса на сертификат смарт-карта и сертификат выдан, регистрация автоматически устанавливает сертификат на смарт-карта, предполагая, что карта установлен в средстве чтения. Метод InstallResponse также автоматически записывает сертификат в смарт-карта.

WriteCertToUserDS

Функция WriteCertToUserDS в Xenroll.dll указывает или извлекает логическое значение, указывающее, следует ли сохранять сертификат в хранилище Active Directory. Библиотека CertEnroll.dll не реализует функциональные возможности, позволяющие указать хранилище для копирования сертификата.

Сопоставление Xenroll.dll с CertEnroll.dll

IX509Enrollment