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

Consulte también

CertEnroll Interfaces

IDispatch

ISignerCertificates