Método IX509CertificateRequestPkcs7V2::InitializeFromTemplate (certenroll.h)
O método InitializeFromTemplate inicializa a solicitação de certificado usando um modelo.
Sintaxe
HRESULT InitializeFromTemplate(
[in] X509CertificateEnrollmentContext context,
[in] IX509EnrollmentPolicyServer *pPolicyServer,
[in] IX509CertificateTemplate *pTemplate
);
Parâmetros
[in] context
Um valor de enumeração X509CertificateEnrollmentContext que especifica se o certificado solicitado é destinado a um usuário final, um computador ou um administrador que atua em nome do computador. Esse pode ser um dos valores a seguir.
[in] pPolicyServer
Ponteiro para um objeto IX509EnrollmentPolicyServer que representa o servidor CEP (política de registro de certificado) que contém o modelo especificado pelo parâmetro pTemplate .
[in] pTemplate
Ponteiro para um objeto IX509CertificateTemplate que representa o modelo a ser usado durante a inicialização.
Valor retornado
Se a função for bem-sucedida, a função retornará S_OK.
Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
Valor/código retornado | Descrição |
---|---|
|
O parâmetro pTemplate não pode ser NULL. |
|
O objeto de solicitação de certificado já foi inicializado. |
Comentários
O método InitializeFromTemplate cria um objeto de solicitação PKCS nº 7 e define as seguintes propriedades para os valores que existiam antes desse método ser chamado:
O método cria as seguintes coleções:- Uma coleção ICryptAttributes .
- Uma coleção IX509Extensions .
- Uma coleção IObjectIds preenchida com os identificadores de objeto XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2 padrão.
- Uma coleção IObjectIds vazia para OIDs de atributo e extensão a serem suprimidas da nova solicitação.
Em seguida, o método examina o modelo e executa as seguintes ações:
- Adiciona as extensões especificadas pelo modelo à coleção IX509Extensions .
- Remove as extensões críticas padrão (XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2) da coleção se o modelo indicar que elas não são críticas. As OIDs marcadas como críticas pelo modelo são adicionadas.
- Define a propriedade SmimeCapabilities se o modelo der suporte a algoritmos simétricos.
- Define a propriedade AlternateSignatureAlgorithm se o modelo exigir um algoritmo de assinatura discreto OID.
- Cria um objeto IX509SignatureInformation .
- Cria um algoritmo de hash OID se o algoritmo for especificado no modelo e o definir no objeto IX509SignatureInformation .
- Cria um algoritmo de criptografia assimétrica OID se o algoritmo for especificado no modelo e o definir no objeto IX509SignatureInformation .
- Preenche muitas das propriedades IX509PrivateKey das configurações do modelo.
Se a propriedade CSPInformations for NULL, o método criará uma coleção ICspInformations dos provedores instalados no computador.
Por fim, o método define a solicitação PKCS #10 inicializada como o objeto de solicitação interna.
Requisitos
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |