Condividi tramite


Metodo IX509CertificateRequestPkcs10V2::InitializeFromPublicKeyTemplate (certenroll.h)

Il metodo InitializeFromPublicKeyTemplate inizializza una richiesta di certificato con firma Null utilizzando un oggetto IX509PublicKey e un modello.

Sintassi

HRESULT InitializeFromPublicKeyTemplate(
  [in] X509CertificateEnrollmentContext Context,
  [in] IX509PublicKey                   *pPublicKey,
  [in] IX509EnrollmentPolicyServer      *pPolicyServer,
  [in] IX509CertificateTemplate         *pTemplate
);

Parametri

[in] Context

Valore di enumerazione X509CertificateEnrollmentContext che specifica se il certificato richiesto è destinato a un utente finale, a un computer o a un amministratore che agisce per conto del 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.

[in] pPublicKey

Puntatore a un'interfaccia IX509PublicKey che rappresenta la chiave pubblica.

[in] pPolicyServer

Puntatore a un oggetto IX509EnrollmentPolicyServer che rappresenta il server CEP (Certificate Enrollment Policy) che contiene il modello specificato dal parametro pTemplate .

[in] pTemplate

Puntatore a un oggetto IX509CertificateTemplate che rappresenta il modello da utilizzare durante l'inizializzazione.

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
E_POINTER
I parametri pPublicKey, pPolicyServer o pTemplate sono NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L'oggetto richiesta certificato è già stato inizializzato.

Commenti

Il metodo InitializeFromPublicKeyTemplate esegue le azioni seguenti:

  • Aggiunge le estensioni specificate nel modello, se presenti, all'insieme IX509Extensions .
  • Crea un insieme CriticalExtensions e lo popola con gli identificatori di oggetto predefiniti XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2. Se il modello indica che questi URI non sono critici, vengono rimossi dalla raccolta. Gli URI contrassegnati come critici dal modello, se presenti, vengono aggiunti.
  • Imposta la proprietà SmimeCapabilities se il modello supporta algoritmi simmetrici.
  • Imposta la proprietà AlternateSignatureAlgorithm se il modello richiede un OID dell'algoritmo di firma discreto.
  • Crea un oggetto IX509SignatureInformation .
  • Crea un OID dell'algoritmo hash se l'algoritmo viene specificato nel modello e lo imposta sull'oggetto IX509SignatureInformation .
  • Crea un OID dell'algoritmo di crittografia asimmetrica se l'algoritmo viene specificato nel modello e lo imposta sull'oggetto IX509SignatureInformation .

Se la proprietà CSPInformations non è specificata, il metodo crea un insieme ICspInformations dai provider installati nel computer.

Il metodo non crea una chiave privata. L'uso di questo metodo implica che la richiesta è con segno Null. Pertanto, il metodo imposta la proprietà NullSigned sull'oggetto IX509SignatureInformation .

Requisiti

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

Vedi anche

IX509CertificateRequestPkcs10V2