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.

Retornar valor

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
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.

Comentários

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 os identificadores de objeto XCN_OID_KEY_USAGE e XCN_OID_BASIC_CONSTRAINTS2 (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 privada 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.

Requisitos

Requisito Valor
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

Confira também

IX509CertificateRequestCmc2