Интерфейс IX509CertificateRequestPkcs10 (certenroll.h)
Интерфейс IX509CertificateRequestPkcs10 представляет запрос сертификата PKCS #10. Стандарт шифрования с открытым ключом (PKCS) No 10 определяет формат сообщений, отправляемых в центр сертификации или регистрации для запроса сертификата открытого ключа.
Объект запроса PKCS #10 ASN.1 содержит идентификатор версии, имя субъекта, открытый ключ и набор атрибутов, как показано в следующем примере синтаксиса.
--------------------------------------------------------------------
-- Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE
{
version CertificationRequestInfoVersion,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
-------------------------------------------------------
-- Version number.
-------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER
-------------------------------------------------------
-- Subject distinguished name (DN).
-------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type EncodedObjectID,
value ANY
}
-------------------------------------------------------
-- Public key information.
-------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
-------------------------------------------------------
-- Attributes.
-------------------------------------------------------
Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE
{
type EncodedObjectID,
values AttributeSetValue
}
Объект CertificationRequestInfo ASN.1 заключен в объект CertificationRequest , как показано в следующем синтаксисе. Объект CertificationRequest также включает в себя сигнатуру и алгоритм подписи. Запрос PKCS #10 должен быть подписан связанным закрытым ключом или иметь пустую подпись, если это запрос на перекрестную сертификацию. Можно вызвать свойство RawData , чтобы получить подписанный объект CertificationRequest , а можно вызвать свойство RawDataToBeSigned , чтобы получить неподписанный объект CertificationRequestInfo .
--------------------------------------------------------------------
-- Certificate request.
--------------------------------------------------------------------
CertificationRequest ::= SEQUENCE
{
certificationRequestInfo CertificationRequestInfo,
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING
}
--------------------------------------------
-- Algorithm Identifier
--------------------------------------------
AlgorithmIdentifier ::= SEQUENCE
{
algorithm EncodedObjectID,
parameters ANY OPTIONAL
}
Перед вызовом метода Encode можно задать следующие свойства:
- AlternateSignatureAlgorithm
- Clientid
- Hashalgorithm
- ParentWindow
- RenewalCertificate
- Молчание
- SuppressDefaults
- UIContextMessage
Перед вызовом метода Encode необходимо задать следующие свойства, если они вообще есть:
Наследование
Интерфейс IX509CertificateRequestPkcs10 наследуется от IX509CertificateRequest. IX509CertificateRequestPkcs10 также имеет следующие типы элементов:
Методы
Интерфейс IX509CertificateRequestPkcs10 содержит следующие методы.
IX509CertificateRequestPkcs10::CheckSignature Проверяет, подписан ли запрос на сертификат и что подпись действительна. (IX509CertificateRequestPkcs10.CheckSignature) |
IX509CertificateRequestPkcs10::get_CriticalExtensions Извлекает коллекцию IObjectIds, которая определяет расширения сертификатов версии 3, помеченные как критические. (IX509CertificateRequestPkcs10.get_CriticalExtensions) |
IX509CertificateRequestPkcs10::get_CryptAttributes Извлекает коллекцию ICryptAttributes необязательных атрибутов сертификата. (IX509CertificateRequestPkcs10.get_CryptAttributes) |
IX509CertificateRequestPkcs10::get_CspStatuses Извлекает коллекцию объектов ICspStatus, соответствующих предполагаемому использованию закрытого ключа, связанного с запросом сертификата. |
IX509CertificateRequestPkcs10::get_KeyContainerNamePrefix Указывает или извлекает префикс, используемый для создания имени контейнера для нового закрытого ключа. (Получить) |
IX509CertificateRequestPkcs10::get_NullSigned Извлекает логическое значение, указывающее, подписан ли запрос на сертификат со значением NULL. |
IX509CertificateRequestPkcs10::get_OldCertificate Извлекает сертификат, переданный методу InitializeFromCertificate. |
IX509CertificateRequestPkcs10::get_PrivateKey Извлекает объект IX509PrivateKey, содержащий закрытый ключ, используемый для подписания запроса на сертификат. |
IX509CertificateRequestPkcs10::get_PublicKey Извлекает объект IX509PublicKey, содержащий открытый ключ, включенный в запрос сертификата. |
IX509CertificateRequestPkcs10::get_RawDataToBeSigned Извлекает запрос на неподписанный сертификат, созданный методом Encode. |
IX509CertificateRequestPkcs10::get_ReuseKey Извлекает логическое значение, указывающее, использовался ли существующий закрытый ключ для подписания запроса. |
IX509CertificateRequestPkcs10::get_Signature Извлекает сигнатуру запроса, созданную методом Encode. |
IX509CertificateRequestPkcs10::get_SignatureInformation Извлекает объект IX509SignatureInformation, содержащий сведения о подписи запроса сертификата. |
IX509CertificateRequestPkcs10::get_SmimeCapabilities Указывает или извлекает логическое значение, указывающее методу Encode, следует ли создать коллекцию IX509ExtensionSmimeCapabilities, которая определяет возможности шифрования, поддерживаемые компьютером. (Получить) |
IX509CertificateRequestPkcs10::get_Subject Указывает или извлекает различающееся имя X.500 сущности, запрашивающей сертификат. (Получить) |
IX509CertificateRequestPkcs10::get_SuppressOids Извлекает коллекцию расширений по умолчанию и идентификаторов объектов атрибутов (OID), которые не были добавлены в запрос при кодировании запроса. |
IX509CertificateRequestPkcs10::get_TemplateObjectId Извлекает идентификатор объекта (OID) шаблона, используемого для создания запроса на сертификат. (IX509CertificateRequestPkcs10.get_TemplateObjectId) |
IX509CertificateRequestPkcs10::get_X509Extensions Извлекает коллекцию расширений, включенных в запрос сертификата. (IX509CertificateRequestPkcs10.get_X509Extensions) |
IX509CertificateRequestPkcs10::GetCspStatuses Извлекает коллекцию ICspStatuses, содержащую все пары "поставщик-алгоритм" в соответствии с предполагаемым использованием закрытого ключа, указанного вызывающим объектом. |
IX509CertificateRequestPkcs10::InitializeDecode Декодирует существующий подписанный или неподписанный PKCS (IX509CertificateRequestPkcs10.InitializeDecode) |
IX509CertificateRequestPkcs10::InitializeFromCertificate Инициализирует запрос сертификата, используя существующий сертификат. (IX509CertificateRequestPkcs10.InitializeFromCertificate) |
IX509CertificateRequestPkcs10::InitializeFromPrivateKey Инициализирует запрос сертификата с помощью объекта IX509PrivateKey и, при необходимости, шаблона. |
IX509CertificateRequestPkcs10::InitializeFromPublicKey Инициализирует запрос сертификата со знаком null с помощью объекта IX509PublicKey и, при необходимости, шаблона. |
IX509CertificateRequestPkcs10::InitializeFromTemplateName . (IX509CertificateRequestPkcs10.InitializeFromTemplateName) |
IX509CertificateRequestPkcs10::IsSmartCard Извлекает логическое значение, указывающее, является ли какой-либо из поставщиков шифрования, связанных с объектом запроса, интеллектуальным поставщиком карта. |
IX509CertificateRequestPkcs10::p ut_KeyContainerNamePrefix Указывает или извлекает префикс, используемый для создания имени контейнера для нового закрытого ключа. (Put) |
IX509CertificateRequestPkcs10::p ut_SmimeCapabilities Указывает или извлекает логическое значение, указывающее методу Encode, следует ли создать коллекцию IX509ExtensionSmimeCapabilities, которая определяет возможности шифрования, поддерживаемые компьютером. (Put) |
IX509CertificateRequestPkcs10::p ut_Subject Указывает или извлекает различающееся имя X.500 сущности, запрашивающей сертификат. (Put) |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |