Interfaz ISignerCertificate (certenroll.h)
La interfaz ISignerCertificate representa un certificado de firma que permite firmar una solicitud de certificado. Al inicializar la interfaz, el Control de inscripción de certificados recupera el certificado de firma del almacén personal y lo usa para buscar una clave privada asociada. Puede usar la clave privada para firmar una solicitud PKCS #7 o CMC, pero no una solicitud PKCS #10. Las solicitudes PKCS #10 deben firmarse con la clave privada asociada a la clave pública incluida en la solicitud. Los certificados autofirmados se pueden firmar mediante la clave privada asociada a la solicitud o la clave privada asociada al certificado de firma. Esto se resume en la tabla siguiente.
Tipo de solicitud (interfaz) | Certificados de firma |
---|---|
PKCS #7(IX509CertificateRequestPkcs7) | 1 |
PKCS #10(IX509CertificateRequestPkcs10) | 0 |
CMC(IX509CertificateRequestCmc) | 0 o más |
Autofirmado(IX509CertificateRequestCertificate) | 0 o 1 |
Al firmar una solicitud CMC, los datos que se van a firmar constan de un objeto CmcData codificado reglas de codificación distinguida (DER) encapsulado en un objeto CMS SignedData. El campo encryptedDigest del objeto SignerInfo contiene una firma y se pueden asociar varios objetos SignerInfo a la solicitud.
---------------------------------------------------------------------
-- 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á asociado a un objeto IX509SignatureInformation que identifica los algoritmos hash y clave pública usados. Este objeto se crea e inicializa cuando se inicializa el objeto ISignerCertificate .
Herencia
La interfaz ISignerCertificate hereda de la interfaz IDispatch . ISignerCertificate también tiene estos tipos de miembros:
Métodos
La interfaz ISignerCertificate tiene estos métodos.
ISignerCertificate::get_Certificate Recupera una matriz de bytes codificada reglas de codificación distinguida (DER) que contiene el certificado. |
ISignerCertificate::get_ParentWindow Especifica o recupera el identificador de la ventana utilizada para mostrar la información del certificado de firma. (Obtener) |
ISignerCertificate::get_PrivateKey Recupera la clave privada asociada al objeto ISignerCertificate. |
ISignerCertificate::get_SignatureInformation Recupera un objeto IX509SignatureInformation que contiene información sobre la firma del certificado. |
ISignerCertificate::get_Silent Especifica o recupera un valor booleano que indica si se notifica al usuario cuando se usa la clave privada para firmar una solicitud de certificado. (Obtener) |
ISignerCertificate::get_UIContextMessage Especifica o recupera una cadena que contiene texto de la interfaz de usuario asociado al certificado de firma. (Obtener) |
ISignerCertificate::Initialize Inicializa el objeto a partir de un certificado de firma. |
ISignerCertificate::p ut_ParentWindow Especifica o recupera el identificador de la ventana utilizada para mostrar la información del certificado de firma. (Put) |
ISignerCertificate::p ut_Pin Especifica un número de identificación personal (PIN) que se usa para autenticar un usuario de tarjeta inteligente. |
ISignerCertificate::p ut_Silent Especifica o recupera un valor booleano que indica si se notifica al usuario cuando se usa la clave privada para firmar una solicitud de certificado. (Put) |
ISignerCertificate::p ut_UIContextMessage Especifica o recupera una cadena que contiene texto de la interfaz de usuario asociado al certificado de firma. (Put) |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | certenroll.h |