Método ICEnroll4::createRequest (xenroll.h)
[Este método ya no está disponible para su uso a partir de Windows Server 2008 y Windows Vista.]
El método createRequest crea una solicitud de certificado de formato PKCS #10, PKCS #7 o administración completa de certificados a través de CMS (CMC) y la almacena en una cadena. Este método se definió por primera vez en la interfaz ICEnroll4 .
Sintaxis
HRESULT createRequest(
[in] LONG Flags,
[in] BSTR strDNName,
[in] BSTR Usage,
[out] BSTR *pstrRequest
);
Parámetros
[in] Flags
Valor que especifica el tipo de solicitud de certificado que se va a crear. Puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
CMC completo |
|
PKCS 10 |
|
PKCS 10 versión 2 |
|
PKCS 7 |
[in] strDNName
Este parámetro puede ser NULL; de lo contrario, este parámetro especifica el nombre distintivo (DN) de la entidad para la que se realiza la solicitud. El nombre de DN debe seguir la convención de nomenclatura X.500 , por ejemplo"CN=User, O=Microsoft". Si no existe un prefijo de dos letras, se puede proporcionar un OID en su lugar.
[in] Usage
Identificador de objeto (OID) que describe el propósito del certificado que se va a generar, por ejemplo, certificado Authenticode individual o comercial, o autenticación de cliente. También puede especificar varios OID separados por una coma.
[out] pstrRequest
Puntero a un BSTR (formato BASE64_HEADER) que recibe la solicitud. Cuando haya terminado de usar el BSTR, áurelo llamando a la función SysFreeString .
Valor devuelto
C++
Si el método se realiza correctamente, el método devuelve S_OK.Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
VB
El valor devuelto es una cadena (formato BASE64_HEADER) que contiene la solicitud.Comentarios
Cuando se llama a este método desde el script, el método muestra una interfaz de usuario que pregunta si el usuario permitirá la creación de una solicitud de certificado. Si se especificó un archivo .pvk o .spc, el método muestra una interfaz de usuario que pregunta si el usuario permitirá una operación de escritura en el sistema de archivos.
Ejemplos
BSTR bstrDN = NULL;
BSTR bstrReq = NULL;
ICEnroll4 * pEnroll4 = NULL;
HRESULT hr;
hr = CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
if (FAILED(hr))
{
printf("Failed CoInitializeEx - %x\n", hr);
goto error;
}
hr = CoCreateInstance( __uuidof(CEnroll),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(ICEnroll4),
(void **)&pEnroll4);
if (FAILED(hr))
{
printf("Failed CoCreateInstance - pEnroll4 [%x]\n", hr);
goto error;
}
// generate the DN for the cert request
bstrDN = SysAllocString( TEXT("CN=Your Name") // common name
TEXT(",OU=Your Unit") // org unit
TEXT(",O=Your Org") // organization
TEXT(",L=Your City") // locality
TEXT(",S=Your State") // state
TEXT(",C=Your Country") ); // country/region
// create the CMC request
hr = pEnroll4->createRequest( XECR_CMC,
bstrDN,
NULL,
&bstrReq );
if (FAILED(hr))
{
printf("Failed createRequest - pEnroll4 [%x]\n", hr);
goto error;
}
else
// do something with the CMC (bstrReq);
error:
//clean up resources, and so on
if ( bstrDN )
SysFreeString( bstrDN );
if ( bstrReq )
SysFreeString( bstrReq );
if ( pEnroll4 )
pEnroll4->Release();
CoUninitialize();
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | xenroll.h |
Library | Uuid.lib |
Archivo DLL | Xenroll.dll |