ICEnroll::createFilePKCS10-Methode (xenroll.h)

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

Die createFilePKCS10-Methode erstellt eine base64-codierte PKCS # 10-Zertifikatanforderung und speichert sie in einer Datei. Diese Methode wurde zuerst in der ICEnroll-Schnittstelle definiert.

Diese Methode unterscheidet sich von der createPKCS10-Methode nur beim Speichern der base64-codierten PKCS # 10-Zertifikatanforderung (in BSTR-Form ) mit der Datei, die durch den wszPKCS10FileName-Parameter angegeben wird.

Syntax

HRESULT createFilePKCS10(
  [in] BSTR DNName,
  [in] BSTR Usage,
  [in] BSTR wszPKCS10FileName
);

Parameter

[in] DNName

Der distinguished Name (DN) der Entität, für die die Anforderung gestellt wird. DNName muss der X.500-Benennungskonvention entsprechen. Beispiel: "CN=User, O=Microsoft". Wenn kein Präfix mit zwei Buchstaben vorhanden ist, kann stattdessen ein Objektbezeichner (Object Identifier, OID) angegeben werden.

[in] Usage

Eine OID , die den Zweck des generierten Zertifikats beschreibt, z. B. ein einzelnes oder kommerzielles Authenticode-Zertifikat oder die Clientauthentifizierung. Sie können auch mehrere durch ein Komma getrennte OIDs angeben.

Die OID wird an die PKCS #10-Anforderung übergeben. Das Steuerelement untersucht die OID nicht.

[in] wszPKCS10FileName

Der Name der Datei, in der das base64-codierte PKCS #10 (in BSTR-Form ) gespeichert wird. Der Inhalt dieser Datei kann zur Verarbeitung an eine Zertifizierungsstelle übermittelt werden.

Rückgabewert

VB

Der Rückgabewert ist ein HRESULT. Ein Wert von S_OK gibt den Erfolg an.

Wenn die Methode fehlschlägt, ist der Rückgabewert ein HRESULT, das den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Hinweise

Standardmäßig wird der Microsoft Base Cryptographic Provider verwendet, und ein eindeutiger Signaturschlüssel wird erstellt.

Wenn diese Methode aus einem Skript aufgerufen wird, zeigt die Methode eine Benutzeroberfläche an, die fragt, ob der Benutzer die Erstellung einer Zertifikatanforderung zulässt und ob der Benutzer einen Schreibvorgang für das Dateisystem zulässt.

Beispiele

BSTR bstrDN = NULL;
BSTR bstrOID = NULL;
BSTR bstrFileName = NULL;
ICEnroll4 * pEnroll = 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 **)&pEnroll);
if (FAILED(hr))
{
    printf("Failed CoCreateInstance - pEnroll [%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
if (NULL == bstrDN)
{
    printf("Memory allocation failed for bstrDN.\n");
    goto error;
}

// Generate the OID. For example, "1.3.6.1.4.1.311.2.1.21"
bstrOID = SysAllocString(TEXT("<OIDHERE>"));
if (NULL == bstrOID)
{
    printf("Memory allocation failed for bstrOID.\n");
    goto error;
}

// Specify the file name, for example, "myPKCS10.req"
bstrFileName = SysAllocString(TEXT("<FILENAMEHERE>"));
if (NULL == bstrFileName)
{
    printf("Memory allocation failed for bstrFileName.\n");
    goto error;
}

// Create the PKCS10 (stored in a file).
hr = pEnroll->createFilePKCS10( bstrDN, bstrOID, bstrFileName );
if (FAILED(hr))
{
   printf("Failed createFilePKCS10 - %x\n", hr);
   goto error;
}
else
    printf("Successfully created file containing PKCS10\n");

error:
// Clean up resources and so on.

if ( bstrFileName )
    SysFreeString( bstrFileName );

if ( bstrDN )
    SysFreeString( bstrDN );

if ( bstrOID )
    SysFreeString( bstrOID );

if ( pEnroll )
       pEnroll->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