Método IX509CertificateRequest::Initialize (certenroll.h)

El método Initialize inicializa el objeto de solicitud para un usuario o un equipo.

Sintaxis

HRESULT Initialize(
  [in] X509CertificateEnrollmentContext Context
);

Parámetros

[in] Context

Valor de enumeración X509CertificateEnrollmentContext que especifica si el certificado está pensado para un usuario final, un equipo o un administrador que actúa en nombre de un equipo. Puede ser uno de los valores siguientes.

Valor Significado
ContextUser
Se solicita el certificado para un usuario final.
ContextMachine
El certificado se solicita para un equipo.
ContextAdministratorForceMachine
Un administrador que actúa en nombre de un equipo solicita el certificado.

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código devuelto Descripción
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
El objeto ya se ha inicializado.

Comentarios

El método Initialize inicializa varios objetos en función del tipo de solicitud de certificado que se va a crear. Si llama a este método desde un objeto IX509CertificateRequestPkcs10 , se crea un objeto de clave privada y se inicializan los objetos siguientes:

  • Colección ICryptAttributes vacía.
  • Colección IX509Extensions vacía.
  • Colección IObjectIds que contiene los identificadores de objeto de extensión críticos predeterminados, XCN_OID_KEY_USAGE y XCN_OID_BASIC_CONSTRAINTS2. Esta colección se puede recuperar llamando a la propiedad CriticalExtensions .
  • Colección IObjectIds vacía para la propiedad SuppressOids .
  • Objeto ICspInformations que contiene los valores especificados en la propiedad CSPInformations o en una colección de todos los proveedores instalados en el equipo. Esta colección se usa para crear una clave privada.

Si llama a este método desde un objeto IX509CertificateRequestCmc , se crea una solicitud PKCS #10 interna como antes y se inicializan los objetos siguientes:

Si llama a este método desde un objeto IX509CertificateRequestPkcs7 , se crea una solicitud PKCS #10 interna como se indicó anteriormente.

Se puede llamar a las siguientes propiedades antes de llamar a este método.

Debe llamar a la propiedad CSPInformations antes de llamar a este método si desea especificar una colección ICspInformations .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation