Metodo IX509CertificateRequestPkcs7V2::InitializeFromTemplate (certenroll.h)
Il metodo InitializeFromTemplate inizializza la richiesta di certificato utilizzando un modello.
Sintassi
HRESULT InitializeFromTemplate(
[in] X509CertificateEnrollmentContext context,
[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.
[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 |
---|---|
|
Il parametro pTemplate non può essere NULL. |
|
L'oggetto richiesta certificato è già stato inizializzato. |
Commenti
Il metodo InitializeFromTemplate crea un oggetto richiesta PKCS #7 e imposta le proprietà seguenti sui valori esistenti prima della chiamata di questo metodo:
Il metodo crea le raccolte seguenti:- Insieme ICryptAttributes .
- Insieme IX509Extensions .
- Insieme IObjectIds popolato con gli identificatori di oggetto predefiniti XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2.
- Insieme IObjectIds vuoto per gli OID di attributo e estensione da eliminare dalla nuova richiesta.
Il metodo esamina quindi il modello ed esegue le azioni seguenti:
- Aggiunge le estensioni specificate dal modello all'insieme IX509Extensions .
- Rimuove le estensioni critiche predefinite (XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2) dalla raccolta se il modello indica che non sono critiche. Vengono aggiunti gli URI contrassegnati come critici dal modello.
- 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 .
- Popola molte delle proprietà IX509PrivateKey dalle impostazioni del modello.
Se la proprietà CSPInformations è NULL, il metodo crea un insieme ICspInformations dai provider installati nel computer.
Infine, il metodo imposta la richiesta PKCS #10 inizializzata come oggetto richiesta interna.
Requisiti
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 |