IcEnroll4 ::createRequest, méthode (xenroll.h)
[Cette méthode n’est plus disponible à partir de Windows Server 2008 et Windows Vista.]
La méthode createRequest crée une demande de certificat au format PKCS #10, PKCS #7 ou gestion complète des certificats sur CMS (CMC) et la stocke dans une chaîne. Cette méthode a été définie pour la première fois dans l’interface ICEnroll4 .
Syntaxe
HRESULT createRequest(
[in] LONG Flags,
[in] BSTR strDNName,
[in] BSTR Usage,
[out] BSTR *pstrRequest
);
Paramètres
[in] Flags
Valeur qui spécifie le type de demande de certificat à créer. Il peut s’agir de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
CMC complet |
|
PKCS 10 |
|
PKCS 10 version 2 |
|
PKCS 7 |
[in] strDNName
Ce paramètre peut être NULL ; sinon, ce paramètre spécifie le nom unique (DN) de l’entité pour laquelle la demande est effectuée. Le nom du DN doit suivre la convention d’affectation de noms X.500 , par exemple « CN=User, O=Microsoft ». S’il n’existe pas de préfixe à deux lettres, un OID peut être fourni à la place.
[in] Usage
Identificateur d’objet (OID) qui décrit l’objectif du certificat en cours de génération, par exemple un certificat Authenticode individuel ou commercial ou l’authentification du client. Vous pouvez également spécifier plusieurs OID séparés par une virgule.
[out] pstrRequest
Pointeur vers un format BSTR (BASE64_HEADER) qui reçoit la demande. Lorsque vous avez terminé d’utiliser le BSTR, libérez-le en appelant la fonction SysFreeString .
Valeur retournée
C++
Si la méthode réussit, la méthode retourne S_OK.Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
VB
La valeur de retour est une chaîne (format BASE64_HEADER) qui contient la requête.Remarques
Lorsque cette méthode est appelée à partir d’un script, la méthode affiche une interface utilisateur qui demande si l’utilisateur autorise la création d’une demande de certificat. Si un fichier .pvk ou .spc a été spécifié, la méthode affiche une interface utilisateur qui demande si l’utilisateur autorise une opération d’écriture dans le système de fichiers.
Exemples
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();
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | xenroll.h |
Bibliothèque | Uuid.lib |
DLL | Xenroll.dll |