Partager via


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
XECR_CMC
CMC complet
XECR_PKCS10_V1_5
PKCS 10
XECR_PKCS10_V2_0
PKCS 10 version 2
XECR_PKCS7
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