Condividi tramite


Metodo IX509CertificateRequestPkcs10::InitializeFromPublicKey (certenroll.h)

Il metodo InitializeFromPublicKey inizializza una richiesta di certificato con firma null usando un oggetto IX509PublicKey e, facoltativamente, un modello.

Sintassi

HRESULT InitializeFromPublicKey(
  [in]           X509CertificateEnrollmentContext Context,
  [in]           IX509PublicKey                   *pPublicKey,
  [in, optional] BSTR                             strTemplateName
);

Parametri

[in] Context

Valore di enumerazione X509CertificateEnrollmentContext che specifica se il certificato richiesto è destinato a un utente finale, un computer o un amministratore che agisce per conto del computer.

[in] pPublicKey

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

[in, optional] strTemplateName

Variabile BSTR che contiene il nome comune (CN) del modello come viene visualizzato in Active Directory o nell'identificatore dell'oggetto decimale punteggiato. Questo parametro è facoltativo.

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 di codici di errore comuni, vedere Valori HRESULT comuni.

Codice/valore restituito Descrizione
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L'oggetto richiesta certificato è già stato inizializzato.

Commenti

Se si specifica un modello, il metodo InitializeFromPublicKey esegue le azioni seguenti:

  • Aggiunge le estensioni specificate nel modello facoltativo, se presente, all'insieme IX509Extensions .
  • Crea un insieme CriticalExtensions e lo popola con gli identificatori di oggetto XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2 predefiniti. Se viene specificato un modello e indica che questi OID non sono critici, vengono rimossi dalla raccolta. Gli OID 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 nell'oggetto IX509SignatureInformation .
  • Crea un OID di crittografia asimmetrica se l'algoritmo viene specificato nel modello e lo imposta nell'oggetto IX509SignatureInformation .

Se si specifica un modello o meno, 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 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

IX509CertificateRequestPkcs10