Partilhar via


Método IX509CertificateRequestCmc2::InitializeFromInnerRequestTemplate (certenroll.h)

O método InitializeFromInnerRequestTemplate inicializa a solicitação de certificado de um objeto de solicitação interna e de um modelo.

Sintaxe

HRESULT InitializeFromInnerRequestTemplate(
  [in] IX509CertificateRequest     *pInnerRequest,
  [in] IX509EnrollmentPolicyServer *pPolicyServer,
  [in] IX509CertificateTemplate    *pTemplate
);

Parâmetros

[in] pInnerRequest

Ponteiro para uma interface IX509CertificateRequest que representa o objeto de solicitação interna. Isso pode ser um PKCS nº 10 ou uma solicitação CMC.

[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
CRYPT_E_INVALID_MSG_TYPE
O objeto de solicitação passado para o parâmetro pInnerRequest deve ser um PKCS #10 ou uma solicitação CMC.
E_POINTER
Os parâmetros pInnerRequest, pPolicyServer e pTemplate não podem ser NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
O objeto de solicitação já foi inicializado.

Observações

Ao especificar um modelo, você pode adicionar informações ao objeto de solicitação externa que pode não estar contido na solicitação interna. Por exemplo, se a solicitação interna não contiver as extensões necessárias, você poderá fornecer um modelo que o faça.

O método InitializeFromInnerRequestTemplate :

  • Cria uma coleção ICryptAttributes vazia.
  • Cria uma coleção IX509NameValuePairs vazia.
  • Cria uma coleção IX509Extensions vazia.
  • Cria uma coleção IObjectIds para extensões críticas e adiciona o XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2 identificadores de objeto (OIDs).
  • Cria uma coleção IObjectIds vazia de OIDs a ser suprimida do objeto de solicitação.
  • Cria uma coleção ISignerCertificates vazia.
  • Recupera sinalizadores de chave privados do modelo.
  • Define a propriedade ArchivePrivateKey se necessário pelos sinalizadores ou configurações do modelo.
  • Recupera o algoritmo de criptografia do modelo se um for especificado e define a propriedade EncryptionAlgorithm .
  • Define a propriedade EncryptionStrength , se possível.

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

Consulte também

IX509CertificateRequestCmc2