Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интерфейс ISignerCertificate представляет сертификат подписи, который позволяет подписывать запрос на сертификат. При инициализации интерфейса элемент управления регистрацией сертификатов получает сертификат подписи из личного хранилища и использует его для поиска связанного закрытого ключа. Закрытый ключ можно использовать для подписи запроса PKCS #7 или CMC, но не запроса PKCS #10. Запросы PKCS #10 должны быть подписаны с помощью закрытого ключа, связанного с открытым ключом , включенным в запрос. Самозаверяемые сертификаты можно подписывать с помощью закрытого ключа, связанного с запросом, или закрытого ключа, связанного с сертификатом подписи. Это приводится в следующей таблице.
Тип запроса (интерфейс) | Сертификаты для подписи |
---|---|
PKCS #7(IX509CertificateRequestPkcs7) | 1 |
PKCS #10(IX509CertificateRequestPkcs10) | 0 |
CMC(IX509CertificateRequestCmc) | 0 или больше |
Самозаверяющий(IX509CertificateRequestCertificate) | 0 или 1 |
При подписании запроса CMC подписывание данных состоит из объекта CmcData в кодировке Distinguished Encoding Rules (DER), заключаемого в объект CMS SignedData. Поле encryptedDigest объекта SignerInfo содержит подпись, и с запросом можно связать несколько объектов SignerInfo .
---------------------------------------------------------------------
-- CMC request data
---------------------------------------------------------------------
CmcData ::= SEQUENCE
{
controlSequence SEQUENCE OF TaggedAttribute,
reqSequence SEQUENCE OF TaggedRequest,
cmsSequence SEQUENCE OF TaggedContentInfo,
otherMsgSequence SEQUENCE OF TaggedOtherMs
}
---------------------------------------------------------------------
-- SignedData object that wraps the CMC request
---------------------------------------------------------------------
SignedData ::= SEQUENCE
{
version INTEGER,
digestAlgorithms DigestAlgorithmIdentifiers,
contentInfo ContentInfo,
certificates [0] IMPLICIT Certificates OPTIONAL,
crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
signerInfos SignerInfos
}
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
DigestAlgorithmIdentifiersNC ::= SET OF DigestAlgorithmIdentifierNC
SignerInfos ::= SET OF SignerInfo
SignerInfo ::= SEQUENCE
{
version INTEGER,
sid CertIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
digestEncryptionAlgorithm DigestEncryptionAlgId,
encryptedDigest EncryptedDigest,
unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
}
Каждый объект ISignerCertificate связан с одним объектом IX509SignatureInformation , который определяет используемые алгоритмы хэширования и открытого ключа. Этот объект создается и инициализируется при инициализации объекта ISignerCertificate .
Наследование
Интерфейс ISignerCertificate наследуется от интерфейса IDispatch . ISignerCertificate также имеет следующие типы членов:
Методы
Интерфейс ISignerCertificate содержит следующие методы.
ISignerCertificate::get_Certificate Извлекает массив байтов в кодировке Distinguished Encoding Rules (DER), содержащий сертификат. |
ISignerCertificate::get_ParentWindow Указывает или извлекает идентификатор окна, используемого для отображения сведений о сертификате подписи. (Получить) |
ISignerCertificate::get_PrivateKey Извлекает закрытый ключ, связанный с объектом ISignerCertificate. |
ISignerCertificate::get_SignatureInformation Извлекает объект IX509SignatureInformation, содержащий сведения о подписи сертификата. |
ISignerCertificate::get_Silent Указывает или получает логическое значение, указывающее, уведомляется ли пользователь, когда закрытый ключ используется для подписания запроса на сертификат. (Получить) |
ISignerCertificate::get_UIContextMessage Указывает или извлекает строку, содержащую текст пользовательского интерфейса, связанный с сертификатом подписи. (Получить) |
ISignerCertificate::Initialize Инициализирует объект из сертификата подписи. |
ISignerCertificate::p ut_ParentWindow Указывает или извлекает идентификатор окна, используемого для отображения сведений о сертификате подписи. (Put) |
ISignerCertificate::p ut_Pin Указывает личный идентификационный номер (ПИН-код), используемый для проверки подлинности пользователя интеллектуального карта. |
ISignerCertificate::p ut_Silent Указывает или получает логическое значение, указывающее, уведомляется ли пользователь, когда закрытый ключ используется для подписания запроса на сертификат. (Put) |
ISignerCertificate::p ut_UIContextMessage Указывает или извлекает строку, содержащую текст пользовательского интерфейса, связанный с сертификатом подписи. (Put) |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |