Condividi tramite


Metodo IX509CertificateRequest::Encode (certenroll.h)

Il metodo Encode firma e codifica una richiesta di certificato e crea una coppia di chiavi, se non esiste. La richiesta viene codificata usando standard (DER) distinto come definito dallo standard ASN.1 (Abstract Syntax Notation One). Il processo di codifica crea una matrice di byte. È possibile recuperare la matrice di byte chiamando la proprietà RawData.

Sintassi

HRESULT Encode();

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce S_OK.

Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non solo, quelli nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Codice/valore restituito Descrizione
CERTSRV_E_ARCHIVED_KEY_REQUIRED
La proprietà ArchivePrivateKey è stata impostata per una richiesta CMC, ma non è stato possibile trovare un certificato di scambio di chiavi.
OLE_E_BLANK
L'oggetto non viene inizializzato.

Osservazioni

Per una richiesta PKCS #10, questo metodo:

  • Aggiorna la chiave privata o crea la chiave, se necessario.
  • Popola la chiave pubblica dalla chiave privata.
  • Aggiorna le estensioni, aggiungendo eventuali estensioni predefinite e tenendo conto della raccolta OID eliminata e della raccolta OID dell'estensione critica.
  • Aggiorna gli attributi, aggiungendo attributi predefiniti e tenendo conto della raccolta OID eliminata.
  • Assembla e codifica la richiesta aggiornata senza segno.
  • Crea e codifica una firma.
  • Codifica la firma e la richiesta non firmata.

Per una richiesta CMC, questo metodo:

  • Codifica tutti gli oggetti richiesta interni.
  • Aggiorna le estensioni per l'oggetto richiesta esterno, aggiungendo eventuali estensioni predefinite e tenendo conto della raccolta OID soppressa e dell'OID dell'estensione critica.
  • Aggiorna gli attributi per l'oggetto richiesta esterno, aggiungendo attributi predefiniti e tenendo conto dell'insieme OID eliminato.
  • Aggiorna la raccolta di coppie nome-valore.
  • Codifica il contenuto cmc costituito dalla richiesta interna codificata e dalla richiesta esterna aggiornata.
  • Crea e codifica una firma per ogni certificato di firma.
  • Crea e codifica una firma primaria.
  • Assembla il contenuto CMC codificato (inclusa la richiesta interna e la richiesta esterna aggiornata) e le firme codificate.
  • Codifica il contenuto assemblato in un messaggio PKCS #7.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2008 [solo app desktop]
piattaforma di destinazione Finestre
intestazione certenroll.h
dll CertEnroll.dll

Vedere anche

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation