Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O método InitializeFromPublicKeyTemplate inicializa uma solicitação de certificado assinado em nulo usando um objeto IX509PublicKey e um modelo.
Sintaxe
HRESULT InitializeFromPublicKeyTemplate(
[in] X509CertificateEnrollmentContext Context,
[in] IX509PublicKey *pPublicKey,
[in] IX509EnrollmentPolicyServer *pPolicyServer,
[in] IX509CertificateTemplate *pTemplate
);
Parâmetros
[in] Context
Um valor de enumeração X509CertificateEnrollmentContext que especifica se o certificado solicitado se destina a um usuário final, um computador ou um administrador agindo em nome do computador. Esse pode ser um dos valores a seguir.
[in] pPublicKey
Ponteiro para uma interface IX509PublicKey que representa a chave pública.
[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 de retorno
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 valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT Comuns.
| Código/valor de retorno | Description |
|---|---|
|
Os parâmetros pPublicKey, pPolicyServer ou pTemplate são NULL. |
|
O objeto de solicitação de certificado já foi inicializado. |
Observações
O método InitializeFromPublicKeyTemplate executa as seguintes ações:
- Adiciona as extensões especificadas no modelo, se houver, à coleção IX509Extensions .
- Cria uma coleção CriticalExtensions e a popula com os identificadores de objeto XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2 padrão. Se o modelo indicar que esses OIDs não são críticos, eles serão removidos da coleção. Os OIDs marcados como críticos pelo modelo, se houver, são adicionados.
- Define a propriedade SmimeCapabilities se o modelo der suporte a algoritmos simétricos.
- Define a propriedade AlternateSignatureAlgorithm se o modelo exigir um OID de algoritmo de assinatura discreto.
- 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 .
Se a propriedade CSPInformations não for especificada, o método criará uma coleção ICspInformations dos provedores instalados no computador.
O método não cria uma chave privada. O uso desse método implica que a solicitação é assinada em nulo. Portanto, o método define a propriedade NullSigned no objeto IX509SignatureInformation .
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 7 [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
| da Plataforma de Destino | Windows |
| Header | certenroll.h |