Método ICEnroll4::createRequest (xenroll.h)
[Esse método não está mais disponível para uso a partir do Windows Server 2008 e do Windows Vista.]
O método createRequest cria uma solicitação de certificado de formato PKCS #10, PKCS #7 ou gerenciamento completo de certificados por CMS (CMC) e o armazena em uma cadeia de caracteres. Esse método foi definido pela primeira vez na interface ICEnroll4 .
Sintaxe
HRESULT createRequest(
[in] LONG Flags,
[in] BSTR strDNName,
[in] BSTR Usage,
[out] BSTR *pstrRequest
);
Parâmetros
[in] Flags
Um valor que especifica o tipo de solicitação de certificado a ser criada. Esse pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
CMC completo |
|
PKCS 10 |
|
PKCS 10 versão 2 |
|
PKCS 7 |
[in] strDNName
Esse parâmetro pode ser NULL; caso contrário, esse parâmetro especifica o DN (nome diferenciado) da entidade para a qual a solicitação está sendo feita. O nome DN deve seguir a convenção de nomenclatura X.500 , por exemplo, "CN=User, O=Microsoft". Se um prefixo de duas letras não existir, um OID poderá ser fornecido.
[in] Usage
Um OID ( identificador de objeto ) que descreve a finalidade do certificado que está sendo gerado, por exemplo, o certificado Authenticode individual ou comercial ou a autenticação do cliente. Você também pode especificar vários OIDs separados por uma vírgula.
[out] pstrRequest
Um ponteiro para um BSTR (formato BASE64_HEADER) que recebe a solicitação. Quando terminar de usar o BSTR, libere-o chamando a função SysFreeString .
Retornar valor
C++
Se o método for bem-sucedido, o método retornará S_OK.Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
VB
O valor retornado é um String (formato BASE64_HEADER) que contém a solicitação.Comentários
Quando esse método é chamado do script, o método exibe uma interface do usuário que pergunta se o usuário permitirá a criação de uma solicitação de certificado. Se um arquivo .pvk ou .spc tiver sido especificado, o método exibirá uma interface do usuário que pergunta se o usuário permitirá uma operação de gravação no sistema de arquivos.
Exemplos
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | xenroll.h |
Biblioteca | Uuid.lib |
DLL | Xenroll.dll |