Metodo ICEnroll4::createRequest (xenroll.h)
[Questo metodo non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista.]
Il metodo createRequest crea una richiesta di certificato di formato PKCS #10, PKCS #7 o full Certificate Management over CMC (CMC) e lo archivia in una stringa. Questo metodo è stato definito per la prima volta nell'interfaccia ICEnroll4 .
Sintassi
HRESULT createRequest(
[in] LONG Flags,
[in] BSTR strDNName,
[in] BSTR Usage,
[out] BSTR *pstrRequest
);
Parametri
[in] Flags
Valore che specifica il tipo di richiesta di certificato da creare. Questo può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
CmC completo |
|
PKCS 10 |
|
PKCS 10 versione 2 |
|
PKCS 7 |
[in] strDNName
Questo parametro può essere NULL; in caso contrario, questo parametro specifica il nome distinto (DN) dell'entità per cui viene effettuata la richiesta. Il nome DN deve seguire la convenzione di denominazione X.500 , ad esempio "CN=User, O=Microsoft". Se non esiste un prefisso di due lettere, è possibile specificare un OID.
[in] Usage
Identificatore di oggetto (OID) che descrive lo scopo del certificato generato, ad esempio un certificato Authenticode singolo o commerciale o l'autenticazione client. È anche possibile specificare più ID separati da una virgola.
[out] pstrRequest
Puntatore a un formato BSTR (BASE64_HEADER) che riceve la richiesta. Al termine dell'uso della funzione BSTR, liberarla chiamando la funzione SysFreeString .
Valore restituito
C++
Se il metodo ha esito positivo, il metodo restituisce S_OK.Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.
VB
Il valore restituito è un formato String (BASE64_HEADER formato) che contiene la richiesta.Commenti
Quando questo metodo viene chiamato dallo script, il metodo visualizza un'interfaccia utente che chiede se l'utente consentirà la creazione di una richiesta di certificato. Se è stato specificato un file con estensione pvk o spc, il metodo visualizza un'interfaccia utente che chiede se l'utente consentirà un'operazione di scrittura al file system.
Esempio
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();
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | xenroll.h |
Libreria | Uuid.lib |
DLL | Xenroll.dll |