Condividi tramite


Metodo IX509CertificateRequest::Initialize (certenroll.h)

Il metodo Initialize inizializza l'oggetto richiesta per un utente o un computer.

Sintassi

HRESULT Initialize(
  [in] X509CertificateEnrollmentContext Context
);

Parametri

[in] Context

Valore di enumerazione X509CertificateEnrollmentContext che specifica se il certificato è destinato a un utente finale, a un computer o a un amministratore che agisce per conto di un computer. Può trattarsi di uno dei valori seguenti.

Valore Significato
ContextUser
Il certificato viene richiesto per un utente finale.
ContextMachine
Il certificato viene richiesto per un computer.
ContextAdministratorForceMachine
Il certificato viene richiesto da un amministratore che agisce per conto di un computer.

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 restituito Descrizione
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L'oggetto è già inizializzato.

Commenti

Il metodo Initialize inizializza vari oggetti a seconda del tipo di richiesta di certificato da creare. Se si chiama questo metodo da un oggetto IX509CertificateRequestPkcs10 , viene creato un oggetto chiave privata e vengono inizializzati gli oggetti seguenti:

  • Insieme ICryptAttributes vuoto.
  • Insieme IX509Extensions vuoto.
  • Insieme IObjectIds che contiene gli identificatori di oggetto di estensione critici predefiniti, XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2. Questa raccolta può essere recuperata chiamando la proprietà CriticalExtensions .
  • Insieme IObjectIds vuoto per la proprietà SuppressOids .
  • Oggetto ICspInformations che contiene i valori specificati nella proprietà CSPInformations o una raccolta di tutti i provider installati nel computer. Questa raccolta viene usata per creare una chiave privata.

Se si chiama questo metodo da un oggetto IX509CertificateRequestCmc , viene creata una richiesta PKCS #10 interna come indicato sopra e vengono inizializzati gli oggetti seguenti:

Se si chiama questo metodo da un oggetto IX509CertificateRequestPkcs7 , viene creata una richiesta PKCS #10 interna come indicato sopra.

È possibile chiamare le proprietà seguenti prima di chiamare questo metodo.

Devi chiamare la proprietà CSPInformations prima di chiamare questo metodo se vuoi specificare un insieme ICspInformations .

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