Interface ISignerCertificate (certenroll.h)
A interface ISignerCertificate representa um certificado de autenticação que permite assinar uma solicitação de certificado. Quando você inicializa a interface, o Controle de Registro de Certificado recupera o certificado de autenticação do repositório pessoal e o usa para localizar uma chave privada associada. Você pode usar a chave privada para assinar uma solicitação PKCS nº 7 ou CMC, mas não uma solicitação PKCS nº 10. As solicitações PKCS nº 10 devem ser assinadas usando a chave privada associada à chave pública incluída na solicitação. Os certificados autoassinados podem ser assinados usando a chave privada associada à solicitação ou a chave privada associada ao certificado de autenticação. Isso é resumido na tabela a seguir.
Tipo de solicitação (Interface) | Certificados de autenticação |
---|---|
PKCS nº 7(IX509CertificateRequestPkcs7) | 1 |
PKCS #10(IX509CertificateRequestPkcs10) | 0 |
CMC(IX509CertificateRequestCmc) | 0 ou mais |
Autoassinado(IX509CertificateRequestCertificate) | 0 ou 1 |
Ao assinar uma solicitação CMC, os dados a serem assinados consistem em um objeto CmcData codificado em Distinguished Encoding Rules (DER) encapsulado em um objeto CMS SignedData. O campo encryptedDigest do objeto SignerInfo contém uma assinatura e vários objetos SignerInfo podem ser associados à solicitação.
---------------------------------------------------------------------
-- 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
}
Cada objeto ISignerCertificate está associado a um objeto IX509SignatureInformation que identifica os algoritmos de hash e chave pública usados. Esse objeto é criado e inicializado quando o objeto ISignerCertificate é inicializado.
Herança
A interface ISignerCertificate herda da interface IDispatch . ISignerCertificate também tem estes tipos de membros:
Métodos
A interface ISignerCertificate tem esses métodos.
ISignerCertificate::get_Certificate Recupera uma matriz de bytes codificada em Distinguished Encoding Rules (DER) que contém o certificado. |
ISignerCertificate::get_ParentWindow Especifica ou recupera a ID da janela usada para exibir informações de certificado de autenticação. (Obter) |
ISignerCertificate::get_PrivateKey Recupera a chave privada associada ao objeto ISignerCertificate. |
ISignerCertificate::get_SignatureInformation Recupera um objeto IX509SignatureInformation que contém informações sobre a assinatura do certificado. |
ISignerCertificate::get_Silent Especifica ou recupera um valor booliano que indica se o usuário é notificado quando a chave privada é usada para assinar uma solicitação de certificado. (Obter) |
ISignerCertificate::get_UIContextMessage Especifica ou recupera uma cadeia de caracteres que contém o texto da interface do usuário associado ao certificado de autenticação. (Obter) |
ISignerCertificate::Initialize Inicializa o objeto de um certificado de autenticação. |
ISignerCertificate::p ut_ParentWindow Especifica ou recupera a ID da janela usada para exibir informações de certificado de autenticação. (Put) |
ISignerCertificate::p ut_Pin Especifica um PIN (número de identificação pessoal) usado para autenticar um usuário de cartão inteligente. |
ISignerCertificate::p ut_Silent Especifica ou recupera um valor booliano que indica se o usuário é notificado quando a chave privada é usada para assinar uma solicitação de certificado. (Put) |
ISignerCertificate::p ut_UIContextMessage Especifica ou recupera uma cadeia de caracteres que contém o texto da interface do usuário associado ao certificado de autenticação. (Put) |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |