Функции атрибутов
Атрибуты можно добавить в запрос сертификата, чтобы предоставить центру сертификации (ЦС) дополнительные сведения, которые он может использовать при создании и выдаче сертификата.
CertEnroll.dll реализует следующие интерфейсы для определения атрибутов и коллекций атрибутов:
- ICryptAttribute
- ICryptAttributes
- IX509Attribute
- IX509Attributes
- IX509AttributeClientId
- IX509AttributeExtensions
- IX509AttributeArchiveKey
- IX509AttributeArchiveKeyHash
- IX509AttributeCspProvider
- IX509AttributeOSVersion
- IX509AttributeRenewalCertificate
В следующих разделах описываются функции, экспортируемые Xenroll.dll для связывания криптографических атрибутов с запросами сертификатов, и рассматривается использование CertEnroll.dll для замены функции или указание на отсутствие сопоставления между двумя библиотеками.
- addAttributeToRequestWStr
- AddAuthenticatedAttributesToPKCS7Request
- addNameValuePairToRequestWStr
- AddNameValuePairToSignatureWStr
- Clientid
- RenewalCertificate
- resetAttributes
- Связанные темы
addAttributeToRequestWStr
Функция addAttributeToRequestWStr в Xenroll.dll добавляет атрибут в запрос сертификата.
Как правило, чтобы добавить атрибут в запрос с помощью объектов, реализованных в CertEnroll.dll, можно выполнить следующие действия:
- Создайте объект коллекции IX509Attributes .
- Создайте объект IX509Attribute и вызовите метод Initialize , чтобы создать атрибут на основе идентификатора объекта и значения атрибута, или используйте любой из перечисленных ранее интерфейсов для определения одного из наиболее распространенных атрибутов.
- Добавьте каждый новый атрибут, созданный на предыдущем шаге, в коллекцию IX509Attributes с помощью метода Add .
- Создайте объект ICryptAttribute и инициализируйте его, вызвав метод InitializeFromValues и указав коллекцию IX509Attributes во входных данных.
- Получите объект коллекции ICryptAttributes , вызвав свойство CryptAttributes для существующего объекта запроса IX509CertificateRequestPkcs10 или IX509CertificateRequestCmc .
- Добавьте объект ICryptAttribute в коллекцию ICryptAttributes .
AddAuthenticatedAttributesToPKCS7Request
Атрибуты, прошедшие проверку подлинности, — это пары "имя-значение", которые подписываются и добавляются в подпись. Функция AddAuthenticatedAttributesToPKCS7Request в Xenroll.dll добавляет массив атрибутов, прошедших проверку подлинности, в запрос PKCS #7 .
Как обсуждалось выше для функции addAttributeToRequestWStr , можно использовать CertEnroll.dll, чтобы легко определить и добавить коллекцию атрибутов в запрос сертификата. Однако нельзя выбрать, прошел ли атрибут проверку подлинности. Процесс регистрации автоматически принимает это решение.
addNameValuePairToRequestWStr
Функция addNameValuePairToRequestWStr в Xenroll.dll добавляет в запрос пару "имя-значение" без проверки подлинности.
Вы можете использовать интерфейс IX509NameValuePair в CertEnroll.dll для определения пары "имя-значение" и добавить коллекцию пар "имя-значение" в объект запроса CMC, выполнив следующие действия:
- Создайте и инициализируйте объект IX509CertificateRequestCmc . Процесс инициализации создает пустую коллекцию IX509NameValuePairs .
- Вызовите свойство NameValuePairs для существующего объекта запроса CMC, чтобы получить коллекцию.
- Создайте и инициализируйте объект IX509NameValuePair .
- Добавьте каждую новую пару "имя-значение" в коллекцию IX509NameValuePairs , вызвав метод Add .
Процесс регистрации помещает коллекцию пар "имя-значение" в структуру TaggedAttribute запроса CMC.
AddNameValuePairToSignatureWStr
Функция AddNameValuePairToSignatureWStr в Xenroll.dll добавляет в запрос пару имя-значение, прошедшее проверку подлинности. Обычно используется для указания имени инициатора запроса в запросе регистрации от имени (EOBO).
В CertEnroll.dll используйте свойство RequesterName , чтобы указать имя в запросе EOBO.
ClientId
Функция ClientId в Xenroll.dll задает или извлекает атрибут ClientId .
Используйте свойство ClientId в CertEnroll.dll, чтобы добавить этот атрибут в запрос CMC или PKCS #10.
RenewalCertificate
Функция RenewalCertificate в Xenroll.dll задает или извлекает атрибут RenewalCertificate .
В CertEnroll.dll при вызове InitializeFromCertificate для объекта PKCS #7 или PKCS создается автоматически.
resetAttributes
Функция resetAttributes в Xenroll.dll удаляет коллекцию атрибутов из запроса.
Чтобы удалить атрибут из запроса по индексу с помощью CertEnroll.dll, вызовите метод Remove в коллекции IX509Attributes . Чтобы удалить все атрибуты из запроса, вызовите метод Clear .
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по