Интерфейс 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 можно задать следующие свойства:

Кроме того, свойства Silent, ParentWindow и 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

См. также раздел

Интерфейсы CertEnroll

IX509CertificateRequest