Freigeben über


ICEnroll4::createRequest-Methode (xenroll.h)

[Diese Methode steht ab Windows Server 2008 und Windows Vista nicht mehr zur Verfügung.]

Die createRequest-Methode erstellt eine Zertifikatanforderung im PKCS #10-, PKCS #7- oder vollständigen CMC-Format (Certificate Management over CMS) und speichert sie in einer Zeichenfolge. Diese Methode wurde zuerst in der ICEnroll4-Schnittstelle definiert.

Syntax

HRESULT createRequest(
  [in]  LONG Flags,
  [in]  BSTR strDNName,
  [in]  BSTR Usage,
  [out] BSTR *pstrRequest
);

Parameter

[in] Flags

Ein Wert, der den Typ der zu erstellenden Zertifikatanforderung angibt. Dies kann einer der folgenden Werte sein.

Wert Bedeutung
XECR_CMC
Vollständige CMC
XECR_PKCS10_V1_5
PKCS 10
XECR_PKCS10_V2_0
PKCS 10 Version 2
XECR_PKCS7
PKCS 7

[in] strDNName

Dieser Parameter kann NULL sein. Andernfalls gibt dieser Parameter den distinguished Name (DN) der Entität an, für die die Anforderung gestellt wird. Der DN-Name muss der X.500-Benennungskonvention entsprechen, z. B. "CN=User, O=Microsoft". Wenn kein Präfix aus zwei Buchstaben vorhanden ist, kann stattdessen eine OID bereitgestellt werden.

[in] Usage

Ein Objektbezeichner (Object Identifier, OID), der den Zweck des generierten Zertifikats beschreibt, z. B. ein individuelles oder kommerzielles Authenticode-Zertifikat oder die Clientauthentifizierung. Sie können auch mehrere durch ein Komma getrennte OIDs angeben.

[out] pstrRequest

Ein Zeiger auf ein BSTR (BASE64_HEADER Format), das die Anforderung empfängt. Wenn Sie die Verwendung des BSTR abgeschlossen haben, geben Sie ihn frei, indem Sie die SysFreeString-Funktion aufrufen.

Rückgabewert

C++

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.

Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

VB

Der Rückgabewert ist ein String (BASE64_HEADER Format), das die Anforderung enthält.

Hinweise

Wenn diese Methode über das Skript aufgerufen wird, zeigt die -Methode eine Benutzeroberfläche an, die fragt, ob der Benutzer die Erstellung einer Zertifikatanforderung zulässt. Wenn eine PVK- oder SPC-Datei angegeben wurde, zeigt die Methode eine Benutzeroberfläche an, die fragt, ob der Benutzer einen Schreibvorgang in das Dateisystem zulässt.

Beispiele

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();

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile xenroll.h
Bibliothek Uuid.lib
DLL Xenroll.dll