Функции поставщика служб шифрования
В каждом из следующих разделов определяется функция, экспортируемая Xenroll.dll, которую можно использовать для управления поставщиком служб шифрования. В каждом разделе также рассматривается использование CertEnroll.dll для замены функции или указывается, что сопоставления между двумя библиотеками не существует:
- EnumAlgs
- enumContainersWStr
- enumProvidersWStr
- GetAlgNameWStr
- getProviderTypeWStr
- HashAlgID
- HashAlgorithmWStr
- ProviderFlags
- ProviderNameWStr
- ProviderType
- Связанные темы
EnumAlgs
Функция EnumAlgs в Xenroll.dll извлекает коллекцию алгоритмов шифрования.
При использовании CertEnroll.dll можно выполнить следующие действия для получения сведений об алгоритмах, поддерживаемых поставщиком служб шифрования (CSP):
- Вызовите свойство Request для существующего объекта IX509Enrollment .
- Вызовите метод GetInnerRequest для запроса, возвращенного на шаге 1, чтобы получить самый внутренний запрос.
- Вызовите QueryInterface для объекта IX509CertificateRequest , возвращенного из шага 2, для приведения к объекту IX509CertificateRequestPkcs10 .
- Вызовите свойство PrivateKey в запросе PKCS #10.
- Вызовите свойство CspInformations для объекта IX509PrivateKey , полученного на шаге 4.
- Вызовите свойство CspAlgorithms для определенного объекта ICspInformation в коллекции ICspInformations , полученной на шаге 5.
enumContainersWStr
Функция enumContainersWStr в Xenroll.dll извлекает контейнер ключей из коллекции по индексу.
Библиотека CertEnroll.dll не реализует эту функцию напрямую.
enumProvidersWStr
Функция enumProvidersWStr в Xenroll.dll извлекает CSP из коллекции по индексу.
При использовании CertEnroll.dll можно выполнить следующие действия, чтобы получить коллекцию криптографических контейнеров:
- Вызовите свойство Request для существующего объекта IX509Enrollment .
- Вызовите метод GetInnerRequest для запроса, возвращенного на шаге 1, чтобы получить самый внутренний запрос.
- Вызовите QueryInterface для объекта IX509CertificateRequest , возвращенного из шага 2, для приведения к объекту IX509CertificateRequestPkcs10 .
- Вызовите свойство PrivateKey в запросе PKCS #10.
- Вызовите свойство CspInformations для объекта IX509PrivateKey , полученного на шаге 4.
GetAlgNameWStr
Функция GetAlgNameWStr в Xenroll.dll извлекает имя криптографического алгоритма.
При использовании CertEnroll.dll можно выполнить следующие действия, чтобы получить имя алгоритма:
- Вызовите свойство Request для существующего объекта IX509Enrollment .
- Вызовите метод GetInnerRequest для запроса, возвращенного на шаге 1, чтобы получить самый внутренний запрос.
- Вызовите QueryInterface для объекта IX509CertificateRequest , возвращенного из шага 2, для приведения к объекту IX509CertificateRequestPkcs10 .
- Вызовите свойство PrivateKey в запросе PKCS #10.
- Вызовите свойство Algorithm объекта IX509PrivateKey , чтобы получить идентификатор объекта алгоритма.
- Вызовите свойство FriendlyName в интерфейсе IObjectId , чтобы получить отображаемое имя алгоритма.
getProviderTypeWStr
Функция getProviderTypeWStr в Xenroll.dll извлекает тип поставщика шифрования.
При использовании CertEnroll.dll можно выполнить следующие действия для получения типа поставщика:
- Вызовите свойство Request для существующего объекта IX509Enrollment .
- Вызовите метод GetInnerRequest для запроса, возвращенного на шаге 1, чтобы получить самый внутренний запрос.
- Вызовите QueryInterface для объекта IX509CertificateRequest , возвращенного из шага 2, для приведения к объекту IX509CertificateRequestPkcs10 .
- Вызовите свойство PrivateKey в запросе PKCS #10.
- Вызовите свойство ProviderType для объекта IX509PrivateKey , полученного на шаге 4.
HashAlgID
Функция HashAlgID в Xenroll.dll извлекает целочисленное значение, содержащее идентификатор алгоритма, используемого для подписания запроса.
При использовании CertEnroll.dll можно выполнить следующие действия для получения алгоритма хэширования:
- Получите интерфейс IX509SignatureInformation , вызвав свойство SignatureInformation в запросе PKCS #10 или CMC или свойство SignerCertificate в запросе PKCS #7 .
- Вызовите свойство HashAlgorithm для объекта сведений о сигнатуре, чтобы получить идентификатор объекта хэш-алгоритма.
HashAlgorithmWStr
Функция HashAlgorithmWStr в Xenroll.dll задает или извлекает строковое значение, определяющее алгоритм хэширования, используемый для подписания запроса.
При использовании CertEnroll.dll можно выполнить следующие действия для получения алгоритма хэширования:
- Получите интерфейс IX509SignatureInformation , вызвав свойство SignatureInformation в запросе PKCS #10 или CMC или свойство SignerCertificate в запросе PKCS #7.
- Вызовите свойство HashAlgorithm для объекта сведений о сигнатуре, чтобы получить идентификатор объекта хэш-алгоритма.
- Вызовите свойство FriendlyName в интерфейсе IObjectId , возвращенном на шаге 2, чтобы получить отображаемое имя алгоритма.
ProviderFlags
Функция ProviderFlags в Xenroll.dll задает или извлекает флаги, используемые при получении дескриптора для CSP.
Библиотека CertEnroll.dll не идеально сопоставляет эту функцию, но вы можете получить подробные сведения о свойствах из объекта регистрации и закрытого ключа. Дополнительные сведения см. в свойствах, предоставляемых интерфейсами IX509Enrollment и IX509PrivateKey .
ProviderNameWStr
Функция ProviderNameWStr в Xenroll.dll указывает или извлекает имя CSP.
При использовании CertEnroll.dll можно выполнить следующие действия, чтобы получить имя поставщика:
- Вызовите свойство Request для существующего объекта IX509Enrollment .
- Вызовите метод GetInnerRequest для запроса, возвращенного на шаге 1, чтобы получить самый внутренний запрос.
- Вызовите QueryInterface для объекта IX509CertificateRequest , возвращенного из шага 2, для приведения к объекту IX509CertificateRequestPkcs10 .
- Вызовите свойство PrivateKey в запросе PKCS #10.
- Вызовите свойство ProviderName для объекта IX509PrivateKey , полученного на шаге 4.
ProviderType
Функция ProviderType в Xenroll.dll задает или извлекает целочисленное значение, определяющее тип CSP.
При использовании CertEnroll.dll можно выполнить следующие действия для получения типа поставщика:
- Вызовите свойство Request для существующего объекта IX509Enrollment .
- Вызовите метод GetInnerRequest для запроса, возвращенного на шаге 1, чтобы получить самый внутренний запрос.
- Вызовите QueryInterface для объекта IX509CertificateRequest , возвращенного из шага 2, для приведения к объекту IX509CertificateRequestPkcs10 .
- Вызовите свойство PrivateKey в запросе PKCS #10.
- Вызовите свойство ProviderType для объекта IX509PrivateKey , полученного на шаге 4.
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по