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 Distinguished Encoding Rules (DER) 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 sono limitati a, quelli indicati 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.

Commenti

Per una richiesta PKCS #10, questo metodo:

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

Per una richiesta CMC, questo metodo:

  • Codifica tutti gli oggetti richiesta interna.
  • Aggiornamenti le estensioni per l'oggetto richiesta esterno, aggiungendo eventuali estensioni predefinite e tenendo conto della raccolta OID eliminata e dell'insieme OID critico dell'estensione.
  • Aggiornamenti gli attributi per l'oggetto richiesta esterna, aggiungendo gli attributi predefiniti e tenendo conto dell'insieme OID eliminato.
  • Aggiornamenti 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.

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
DLL CertEnroll.dll

Vedi anche

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation