Condividi tramite


Interfaccia ISignerCertificate (certenroll.h)

L'interfaccia ISignerCertificate rappresenta un certificato di firma che consente di firmare una richiesta di certificato. Quando si inizializza l'interfaccia, il controllo registrazione certificati recupera il certificato di firma dall'archivio personale e lo usa per trovare una chiave privata associata. È possibile usare la chiave privata per firmare una richiesta PKCS #7 o CMC, ma non una richiesta PKCS #10. Le richieste PKCS #10 devono essere firmate usando la chiave privata associata alla chiave pubblica inclusa nella richiesta. I certificati autofirmato possono essere firmati usando la chiave privata associata alla richiesta o alla chiave privata associata al certificato di firma. Questa operazione viene riepilogata nella tabella seguente.

Tipo di richiesta (interfaccia) Certificati di firma
PKCS #7(IX509CertificateRequestPkcs7) 1
PKCS #10(IX509CertificateRequestPkcs10) 0
CMC(IX509CertificateRequestCmc) 0 o più
Autofirmato(IX509CertificateRequestCertificate) 0 o 1
 

Quando si firma una richiesta CMC, i dati da firmare sono costituiti da un oggetto CmcData codificato Distinguished Encoding Rules (DER) con codifica CMS in un oggetto CMS SignedData. Il campo encryptedDigest dell'oggetto SignerInfo contiene una firma e più oggetti SignerInfo possono essere associati alla richiesta.


---------------------------------------------------------------------
-- 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
}

Ogni oggetto ISignerCertificate è associato a un oggetto IX509SignatureInformation che identifica gli algoritmi hashing e chiave pubblica usati. Questo oggetto viene creato e inizializzato quando l'oggetto ISignerCertificate viene inizializzato.

Ereditarietà

L'interfaccia ISignerCertificate eredita dall'interfaccia IDispatch . ISignerCertificate include anche questi tipi di membri:

Metodi

L'interfaccia ISignerCertificate include questi metodi.

 
ISignerCertificate::get_Certificate

Recupera una matrice di byte codificata Distinguished Encoding Rules (DER) che contiene il certificato.
ISignerCertificate::get_ParentWindow

Specifica o recupera l'ID della finestra usata per visualizzare le informazioni sul certificato di firma. (Get)
ISignerCertificate::get_PrivateKey

Recupera la chiave privata associata all'oggetto ISignerCertificate.
ISignerCertificate::get_SignatureInformation

Recupera un oggetto IX509SignatureInformation che contiene informazioni sulla firma del certificato.
ISignerCertificate::get_Silent

Specifica o recupera un valore booleano che indica se l'utente riceve una notifica quando la chiave privata viene usata per firmare una richiesta di certificato. (Get)
ISignerCertificate::get_UIContextMessage

Specifica o recupera una stringa contenente testo dell'interfaccia utente associata al certificato di firma. (Get)
ISignerCertificate::Initialize

Inizializza l'oggetto da un certificato di firma.
ISignerCertificate::p ut_ParentWindow

Specifica o recupera l'ID della finestra usata per visualizzare le informazioni sul certificato di firma. (Put)
ISignerCertificate::p ut_Pin

Specifica un numero di identificazione personale (PIN) usato per autenticare un utente di smart card.
ISignerCertificate::p ut_Silent

Specifica o recupera un valore booleano che indica se l'utente riceve una notifica quando la chiave privata viene usata per firmare una richiesta di certificato. (Put)
ISignerCertificate::p ut_UIContextMessage

Specifica o recupera una stringa contenente testo dell'interfaccia utente associata al certificato di firma. (Put)

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certenroll.h

Vedi anche

Interfacce CertEnroll

Idispatch

ISignerCertificates